零 Node.js 运行时
核心以 C11 / C++20 构建,目标是毫秒级启动和更低内存占用,适合终端长期交互。
diff --git a/dstalk_logo.svg b/dstalk_logo.svg new file mode 100644 index 0000000..e62ca77 --- /dev/null +++ b/dstalk_logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html index 298c474..2bf8c88 100644 --- a/index.html +++ b/index.html @@ -3,115 +3,414 @@
+ + + + + +基于 DeepSeek V4 的下一代 AI 编程 CLI
- C++20GPL v3跨平台 +基于 DeepSeek V4 大模型、兼容 OpenAI / Anthropic API 的 AI 编程 CLI。核心采用 C11 / C++20 编写,以 dstalk-core.dll 暴露稳定 C ABI,让 CLI、GUI 和第三方工具共享同一套 AI 编程能力。
+ +$ build/dstalk-cli/dstalk-cli.exe config.toml
+
+dstalk v0.1.0 | DeepSeek V4 | /help 查看帮助
+
+> 帮我解释 dstalk-core 的职责
+思考中...
+AI: dstalk-core 负责配置、会话、文件 I/O、HTTP 通信
+ 和 DeepSeek API 适配,前端只处理输入与渲染。
+
+> /file read dstalk-core/src/api.cpp
+--- dstalk-core/src/api.cpp ---
+ dstalk 对标 Claude Code、OpenCode、KiloCode,但选择系统级实现和 CDLL 架构,重点优化启动速度、运行时依赖、可嵌入能力和长期驻留体验。
+核心以 C11 / C++20 构建,目标是毫秒级启动和更低内存占用,适合终端长期交互。
公开 dstalk_init、dstalk_chat、dstalk_file_read 等 C 函数,方便 C/C++、Python、Rust、C#、Go 嵌入。
以 DeepSeek V4 为核心,同时兼容 OpenAI / Anthropic 风格接口,通过配置切换 base_url、api_key 与模型。
当前 CLI 使用 ANSI 终端 UI,支持自然语言对话、模型切换、文件读写、会话保存与恢复。
CLI 和 GUI 不持有业务逻辑,统一调用 dstalk-core.dll,后续可以扩展更多宿主。
项目采用 GNU GPL v3.0,适合学习、二次开发和围绕本地工作流做深度定制。
完整的 AI 编程助手能力
开源代码生成与理解
命令行代码编辑工作流
| 组件 | 技术 |
|---|---|
| 语言 | C11 / C++20 |
| HTTP | Boost.Beast + BearSSL |
| JSON | Boost.JSON |
| 跨平台 | Boost + CMake + Conan2 |
| 编译器 | Clang + LLD (LLVM) |
| 构建系统 | CMake + Ninja |
| AI 模型 | DeepSeek V4 Pro / Flash |
| 许可证 | GNU GPL v3.0 |
dstalk 已提供自动工具链脚本和一键构建脚本。API Key 请只保存在本地 config.toml 或安全的环境中,不要提交到仓库。
+进入 tools 目录运行 setup.bat,下载 CMake、Ninja、LLVM/Clang、Conan2。
运行 build.bat,完成 Conan 依赖、CMake 配置和 Ninja 编译。
使用 build/dstalk-cli/dstalk-cli.exe,并传入 config.toml 或使用默认配置。
# 安装工具链
-tools\setup.bat
+cd tools
+setup.bat
-# 编译
+# 回到项目根目录并编译
+cd ..
build.bat
-# 创建配置文件 config.toml
+# 创建 config.toml
[api]
base_url = "https://api.deepseek.com/v1"
-api_key = "your-api-key"
+api_key = "sk-xxxxxxxx"
model = "deepseek-chat"
-# 运行
-dstalk-cli.exe config.toml
-
+# 运行 CLI
+build/dstalk-cli/dstalk-cli.exe config.toml
+ dstalk-cli (ANSI UI) dstalk-gui (SDL3)
- | |
- +------- dstalk.dll ---+
- |
- +-----------+-----------+
- | | |
- AI Client HTTP Client File I/O
- (DeepSeek) (Beast+BearSSL)
-dstalk-core.dll 提供网络通讯、AI 接口适配、文件读写和会话管理;前端层只负责交互体验。GUI 目录已预留,根 CMake 当前先启用 CLI 与核心库。
+┌─────────────────────────────────────────────┐
+│ Frontends │
+│ dstalk-cli (ANSI UI) dstalk-gui (SDL3) │
+│ 当前构建启用 路线图推进 │
+└───────────────┬─────────────────────────────┘
+ │ C ABI
+┌───────────────▼─────────────────────────────┐
+│ dstalk-core.dll │
+│ API / Session / File I/O / AI Adapter │
+└───────┬──────────────┬──────────────┬────────┘
+ │ │ │
+ Boost.JSON HTTP Client OpenSSL TLS
+ Boost.Asio / Beast
+ | 提供商 | 格式 | 地址 |
|---|---|---|
| DeepSeek 官方 | OpenAI Compatible | api.deepseek.com |
| Pulsareon | OpenAI Compatible | api.ai.pulsareon.com |
| 其他兼容 | Anthropic Compatible | 可配置 |
以下内容根据 dstalk 的 CMake、Conan 配置和公开头文件整理。
+| 模块 | 当前技术 | 状态 |
|---|---|---|
| 核心库 | C11 / C++20,dstalk-core.dll,公开 C ABI | 已启用 |
| CLI 前端 | ANSI 终端 UI,调用 dstalk/dstalk_api.h | 已启用 |
| GUI 前端 | SDL3 图形化前端 | 路线图 |
| 依赖管理 | Conan2,boost/1.86.0,openssl/3.4.1 | 已配置 |
| 构建系统 | CMake 3.21+,Ninja,LLVM/Clang | 已配置 |
| 许可证 | GNU GPL v3.0 | 已确认 |
除了直接输入自然语言问题,dstalk-cli 还提供文件、模型和会话相关命令。
+| 命令 | 说明 | 示例 |
|---|---|---|
| /help | 显示帮助 | /help |
| /clear | 清空当前会话上下文 | /clear |
| /model <name> | 切换当前模型 | /model deepseek-chat |
| /file read <path> | 读取文件内容并输出到终端 | /file read README.md |
| /file write <path> <content> | 写入文件内容 | /file write note.txt hello |
| /save <path> / /load <path> | 保存或恢复会话 | /save session.json |
dstalk-core 通过 dstalk-core/include/dstalk/dstalk_api.h 暴露函数,前端和第三方宿主都通过同一组接口调用核心能力。
+int dstalk_init(const char* config_path);
+void dstalk_destroy(void);
+
+void dstalk_set_api_key(const char* api_key);
+void dstalk_set_base_url(const char* base_url);
+void dstalk_set_model(const char* model);
+
+int dstalk_chat(const char* input, char** output);
+int dstalk_chat_stream(const char* input, dstalk_stream_cb cb, void* userdata);
+void dstalk_free_string(char* str);
+
+void dstalk_session_clear(void);
+int dstalk_session_save(const char* path);
+int dstalk_session_load(const char* path);
+
+int dstalk_file_read(const char* path, char** content);
+int dstalk_file_write(const char* path, const char* content);
+ 官网按 dstalk 当前 README 的阶段说明呈现,避免把规划功能误写成已完成能力。
+| 阶段 | 内容 | 状态 |
|---|---|---|
| Phase 1 | 项目骨架、CMake 构建、DLL 导出、前端主循环 | 当前阶段 |
| Phase 2 | HTTPS 网络层、DeepSeek API 对接、基本对话 | 推进中 |
| Phase 3 | 流式输出、多轮会话、文件读写工具、CLI 体验对齐 | 计划中 |
| Phase 4 | SDL3 GUI 完善、插件系统、LSP 集成 | 计划中 |
dstalk 的核心价值不只是一个 CLI,而是一个可被多前端复用的本地 AI 编程核心。dstalk.top 会持续同步项目进展、构建方式和可用能力。
+ +