Files
dstalk/说明.txt
XiuChengWu e6f24f00f1 Refactor to plugin architecture with B3 CLI UX, C2 smoke tests, C3 CI scripts
Architecture overhaul (Wave 1-4 collaborative work):
- Migrated dstalk-core from monolithic api.cpp to plugin-based design with
  host/service_registry/event_bus/plugin_loader and topological initialization.
- Split public headers into dstalk_host.h / dstalk_services.h /
  dstalk_lsp.h / dstalk_types.h; deleted obsolete dstalk_api.h and inlined
  TLS/file/net code now provided by plugins.
- Added 9 plugins: deepseek, anthropic, network, session, context, tools,
  config, file-io, lsp; AI plugins register as "ai.<provider>" services.

B3 CLI interaction enhancement:
- Prompt now shows current model name (A1).
- /status command prints model/base_url/api_key (sanitized: shown only
  as set/unset)/services readiness (A2).
- SIGINT/Ctrl+C handled on POSIX (signal) and Windows (SetConsoleCtrlHandler);
  /quit no longer std::exit(0) but sets a quit flag so dstalk_shutdown runs
  exactly once via natural control flow (B1+B2).
- Cross-DLL free fixed: print_file uses dstalk_free instead of std::free (B4).
- --batch mode plus isatty auto-detection for piped stdin (C1).
- fgets truncation detection with friendly error and stdin draining (C3).
- Distinct exit codes (init/AI/service-unavailable) (C4).
- /model rejects empty model name (C5).

C2 smoke test extension:
- 4 new test blocks: null-safety (file_io/session/tools/config),
  escape-boundary round-trip, tools->execute call chain, session robustness
  (add(nullptr), clear -> token_count == 0).

C3 CI build scripts:
- scripts/ci-build.sh and scripts/ci-build.bat invoke cmake configure +
  parallel build + ctest, suitable for GitHub Actions.

Build verified: dstalk-cli compiles, smoke test passes via ctest.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-27 05:12:56 +08:00

69 lines
1.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
软件名称:
dstalk
改下功能架构dstalk的核心做成插件化可分离的架构支持dll的动态加载和引入支持功能的动态注册和更新支持版本管理和接口所有功能插件化分为无依赖的基础插件和依赖别的插件的插件dstalk只作为插件注册平台和调度管理中心和底层应用基础所有插件只需引用dstalk即可实现dstalk支持什么平台插件就支持什么平台插件需要编译成dll
网址:
dstalk.top
说明:
dstalk是基于中国国产大模型deepseek v4的支持OpenAI/Anthropic API的全新一代编程cli。
功能对标:
claudecode , opencode ,kilocode
使用的编程语言:
c(c11标准),c++c++20标准
使用的现有框架:
c标准库c++标准库,
Boost库。
外部包的引入:
Conan2
外部包说明:
OpenSSL
GUI 可选依赖: SDL3
编译目标:
标准cdll
调用方式:
cdll函数式调用
前端ui:
1.命令行ui
命令行和基本输入输出以及文件读写网络通讯实现的界面类似claudecode , opencode ,kilocode的可直接执行的exe程序本质是调用dstalk.dll基于ANSI 转义码直接实现。
2.图形化ui
基于 SDL3。
本质还是调用dstalk.dll
当前功能:
1.网络通讯:为了使用AI接口。
2.命令行输入输出:人机交互。
3.命令行UI人机交互。
4.文件读写:输出信息或者读取信息。
编译工具:
cmake,Ninja,llvm,clang,lld
编译流程:
cmake->ninja->cdll & exe
测试连接网址:
openai api:https://api.deepseek.com
anthropic api:https://api.deepseek.com/anthropic
测试用模型:
deepseek-v4-pro
密钥请通过本地 config.toml 配置,不要提交到仓库。