dstalk.top 是 dstalk 项目的官方网站

dstalk

基于 DeepSeek V4 大模型、兼容 OpenAI / Anthropic API 的 AI 编程 CLI。核心采用 C11 / C++20 编写,以 dstalk-core.dll 暴露稳定 C ABI,让 CLI、GUI 和第三方工具共享同一套 AI 编程能力。

v0.1.0 C11 / C++20 CDLL + C ABI GPL v3.0
当前阶段Phase 1 核心dstalk-core.dll 前端CLI 当前可用
dstalk-cli
$ 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 用 C/C++ 重新做 AI 编程助手?

dstalk 对标 Claude Code、OpenCode、KiloCode,但选择系统级实现和 CDLL 架构,重点优化启动速度、运行时依赖、可嵌入能力和长期驻留体验。

C

零 Node.js 运行时

核心以 C11 / C++20 构建,目标是毫秒级启动和更低内存占用,适合终端长期交互。

ABI

稳定 C ABI

公开 dstalk_init、dstalk_chat、dstalk_file_read 等 C 函数,方便 C/C++、Python、Rust、C#、Go 嵌入。

AI

多 API 兼容

以 DeepSeek V4 为核心,同时兼容 OpenAI / Anthropic 风格接口,通过配置切换 base_url、api_key 与模型。

CLI

命令行优先

当前 CLI 使用 ANSI 终端 UI,支持自然语言对话、模型切换、文件读写、会话保存与恢复。

DLL

核心与前端解耦

CLI 和 GUI 不持有业务逻辑,统一调用 dstalk-core.dll,后续可以扩展更多宿主。

OSS

开源可改造

项目采用 GNU GPL v3.0,适合学习、二次开发和围绕本地工作流做深度定制。

快速开始

dstalk 已提供自动工具链脚本和一键构建脚本。API Key 请只保存在本地 config.toml 或安全的环境中,不要提交到仓库。

1

安装本地工具链

进入 tools 目录运行 setup.bat,下载 CMake、Ninja、LLVM/Clang、Conan2。

2

构建 dstalk

运行 build.bat,完成 Conan 依赖、CMake 配置和 Ninja 编译。

3

启动 CLI

使用 build/dstalk-cli/dstalk-cli.exe,并传入 config.toml 或使用默认配置。

quickstart
# 安装工具链
cd tools
setup.bat

# 回到项目根目录并编译
cd ..
build.bat

# 创建 config.toml
[api]
base_url = "https://api.deepseek.com/v1"
api_key = "sk-xxxxxxxx"
model = "deepseek-chat"

# 运行 CLI
build/dstalk-cli/dstalk-cli.exe config.toml

CDLL + 多前端解耦架构

dstalk-core.dll 提供网络通讯、AI 接口适配、文件读写和会话管理;前端层只负责交互体验。GUI 目录已预留,根 CMake 当前先启用 CLI 与核心库。

architecture
┌─────────────────────────────────────────────┐
│ 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

技术栈与工程现状

以下内容根据 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已确认

CLI 常用命令

除了直接输入自然语言问题,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

公开 C API

dstalk-core 通过 dstalk-core/include/dstalk/dstalk_api.h 暴露函数,前端和第三方宿主都通过同一组接口调用核心能力。

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 2HTTPS 网络层、DeepSeek API 对接、基本对话推进中
Phase 3流式输出、多轮会话、文件读写工具、CLI 体验对齐计划中
Phase 4SDL3 GUI 完善、插件系统、LSP 集成计划中

从终端开始,把 dstalk 嵌入更多工具

dstalk 的核心价值不只是一个 CLI,而是一个可被多前端复用的本地 AI 编程核心。dstalk.top 会持续同步项目进展、构建方式和可用能力。