Sync site with current dstalk repo structure
Reflect the plugin-host architecture: dstalk-core.dll now hosts 9 functional plugins (deepseek, anthropic, network, lsp, session, context, config, file-io, tools), with dstalk-cli + SDL3 dstalk-gui both consuming the same C ABI. Update badges, hero stats, terminal demo, features, architecture diagram, tech-stack table, roadmap, and contributor section across index.html and en.html accordingly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
90
en.html
90
en.html
@@ -3,10 +3,10 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="dstalk is a C/C++ AI coding CLI powered by DeepSeek V4 and compatible with OpenAI / Anthropic APIs, built around dstalk-core.dll and decoupled multi-frontends.">
|
||||
<meta name="description" content="dstalk is a C/C++ AI coding CLI powered by DeepSeek V4 and compatible with OpenAI / Anthropic APIs, built around a dstalk-core.dll plugin host and decoupled multi-frontends.">
|
||||
<meta name="theme-color" content="#0b1020">
|
||||
<meta property="og:title" content="dstalk — C/C++ AI Coding CLI">
|
||||
<meta property="og:description" content="DeepSeek V4 powered, C ABI embeddable, CLI available today, with GUI, plugins, and LSP integration on the roadmap.">
|
||||
<meta property="og:description" content="DeepSeek V4 powered, C ABI embeddable. dstalk-core.dll is a plugin host with 9 functional plugins covering AI, networking, sessions, LSP, and tools.">
|
||||
<meta property="og:type" content="website">
|
||||
<link rel="alternate" hreflang="zh-CN" href="https://dstalk.top/">
|
||||
<link rel="alternate" hreflang="en" href="https://dstalk.top/en.html">
|
||||
@@ -213,7 +213,7 @@
|
||||
<div>
|
||||
<div class="eyebrow">dstalk.top is the official website for the dstalk project</div>
|
||||
<h1><span>ds</span>talk</h1>
|
||||
<p class="lead">An AI coding CLI powered by DeepSeek V4 and compatible with OpenAI / Anthropic APIs. The core is written in C11 / C++20 and exposes a stable C ABI through dstalk-core.dll, so the CLI, GUI, and third-party tools can share the same local AI coding engine.</p>
|
||||
<p class="lead">An AI coding CLI powered by DeepSeek V4 and compatible with OpenAI / Anthropic APIs. The core is written in C11 / C++20 and ships dstalk-core.dll as a plugin host that exposes a stable C ABI. Nine functional plugins (AI, networking, LSP, sessions, files, tools, and more) compile to standalone DLLs and plug into the CLI, the SDL3 GUI, and any third-party host.</p>
|
||||
<div class="actions">
|
||||
<a class="btn btn-primary" href="#quickstart">Get Started</a>
|
||||
<a class="btn btn-secondary" href="https://git.pulsareon.com/pulsareon/dstalk">View Source</a>
|
||||
@@ -221,13 +221,14 @@
|
||||
<div class="badges" aria-label="Project tags">
|
||||
<span class="badge">v0.1.0</span>
|
||||
<span class="badge">C11 / C++20</span>
|
||||
<span class="badge">CDLL + C ABI</span>
|
||||
<span class="badge">Plugin host + C ABI</span>
|
||||
<span class="badge">9 plugins</span>
|
||||
<span class="badge">GPL v3.0</span>
|
||||
</div>
|
||||
<div class="stats" aria-label="Project status">
|
||||
<span class="stat"><strong>Current</strong>Phase 1</span>
|
||||
<span class="stat"><strong>Core</strong>dstalk-core.dll</span>
|
||||
<span class="stat"><strong>Frontend</strong>CLI available</span>
|
||||
<span class="stat"><strong>Core</strong>dstalk-core.dll (plugin host)</span>
|
||||
<span class="stat"><strong>Frontends</strong>CLI + SDL3 GUI</span>
|
||||
<span class="stat"><strong>Plugins</strong>deepseek · anthropic · network · lsp · session · context · config · file-io · tools</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="terminal" aria-label="dstalk command-line example">
|
||||
@@ -238,12 +239,14 @@ dstalk v0.1.0 | DeepSeek V4 | /help for help
|
||||
|
||||
> Explain the role of dstalk-core
|
||||
<span class="dim">thinking...</span>
|
||||
AI: dstalk-core handles configuration, sessions, file I/O,
|
||||
HTTP transport, and the DeepSeek API adapter.
|
||||
Frontends only handle input and rendering.
|
||||
AI: dstalk-core is the plugin host. It handles plugin
|
||||
loading, service registry, the event bus, and
|
||||
configuration. AI, networking, sessions, LSP, and
|
||||
file I/O are provided by standalone plugin DLLs;
|
||||
frontends only deal with input and rendering.
|
||||
|
||||
> /file read dstalk-core/src/api.cpp
|
||||
<span class="dim">--- dstalk-core/src/api.cpp ---</span></code></pre>
|
||||
> /file read dstalk-core/include/dstalk/dstalk_api.h
|
||||
<span class="dim">--- dstalk-core/include/dstalk/dstalk_api.h ---</span></code></pre>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@@ -251,15 +254,15 @@ AI: dstalk-core handles configuration, sessions, file I/O,
|
||||
<section id="features" class="container section">
|
||||
<div class="section-head">
|
||||
<h2>Why rebuild an AI coding assistant in C/C++?</h2>
|
||||
<p>dstalk is positioned alongside tools like Claude Code, OpenCode, and KiloCode, but uses a systems-language implementation and a CDLL architecture to optimize startup time, runtime footprint, embeddability, and long-running terminal workflows.</p>
|
||||
<p>dstalk is positioned alongside tools like Claude Code, OpenCode, and KiloCode, but uses a systems-language implementation and a plugin-host architecture to optimize startup time, runtime footprint, embeddability, and long-running terminal workflows.</p>
|
||||
</div>
|
||||
<div class="cards">
|
||||
<article class="card"><div class="icon">C</div><h3>No Node.js runtime</h3><p>The core is built with C11 / C++20 for fast startup and lower memory usage in long-lived terminal sessions.</p></article>
|
||||
<article class="card"><div class="icon">ABI</div><h3>Stable C ABI</h3><p>Public functions such as dstalk_init, dstalk_chat, and dstalk_file_read make it easy to embed from C/C++, Python, Rust, C#, and Go.</p></article>
|
||||
<article class="card"><div class="icon">AI</div><h3>Compatible AI APIs</h3><p>DeepSeek V4 is the primary target, with OpenAI / Anthropic-style APIs configurable through base_url, api_key, and model settings.</p></article>
|
||||
<article class="card"><div class="icon">CLI</div><h3>CLI-first workflow</h3><p>The current CLI uses ANSI terminal UI and supports natural-language chat, model switching, file I/O, and session save/load.</p></article>
|
||||
<article class="card"><div class="icon">DLL</div><h3>Decoupled frontends</h3><p>The CLI and GUI do not own business logic. They call the same dstalk-core.dll, allowing additional hosts to be added later.</p></article>
|
||||
<article class="card"><div class="icon">OSS</div><h3>Open source and hackable</h3><p>dstalk is released under GNU GPL v3.0 and welcomes learning, customization, and workflow-specific extensions.</p></article>
|
||||
<article class="card"><div class="icon">AI</div><h3>Compatible AI APIs</h3><p>Two AI plugins ship in the box: DeepSeek and Anthropic, with OpenAI-style compatibility. Switch providers via ai.provider in config.toml.</p></article>
|
||||
<article class="card"><div class="icon">CLI</div><h3>CLI and GUI frontends</h3><p>dstalk-cli is an ANSI terminal UI; dstalk-gui is a cross-platform SDL3 window. Both share the same plugin host and core capabilities.</p></article>
|
||||
<article class="card"><div class="icon">PLG</div><h3>Plugin host</h3><p>The core only handles plugin loading, service registry, event bus, and configuration. AI, networking, LSP, and sessions are independent DLLs you can replace or extend.</p></article>
|
||||
<article class="card"><div class="icon">OSS</div><h3>Open source and hackable</h3><p>Released under GNU GPL v3.0, with example plugins, unit tests, and tutorial docs. Suitable for learning, customization, and local workflow extensions.</p></article>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -298,24 +301,28 @@ build/dstalk-cli/dstalk-cli.exe config.toml</code></pre>
|
||||
|
||||
<section id="architecture" class="container section">
|
||||
<div class="section-head">
|
||||
<h2>CDLL + decoupled multi-frontend architecture</h2>
|
||||
<p>dstalk-core.dll provides networking, AI API adaptation, file I/O, and session management. Frontends focus on interaction. The GUI directory is reserved, while the root CMake currently enables the CLI and core library first.</p>
|
||||
<h2>Plugin host + decoupled multi-frontend architecture</h2>
|
||||
<p>dstalk-core.dll acts as a plugin host responsible for plugin loading, service registry, event bus, and configuration. Nine functional plugins — AI, networking, LSP, sessions, files, tools, and more — compile to standalone DLLs, while frontends reach the core only through the C ABI. The GUI is opt-in via the CMake option DSTALK_BUILD_GUI.</p>
|
||||
</div>
|
||||
<div class="terminal architecture">
|
||||
<div class="terminal-top"><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="terminal-title">architecture</span></div>
|
||||
<pre><code>┌─────────────────────────────────────────────┐
|
||||
<pre><code>┌─────────────────────────────────────────────────────┐
|
||||
│ Frontends │
|
||||
│ dstalk-cli (ANSI UI) dstalk-gui (SDL3) │
|
||||
│ enabled today roadmap │
|
||||
└───────────────┬─────────────────────────────┘
|
||||
└───────────────────────┬─────────────────────────────┘
|
||||
│ C ABI
|
||||
┌───────────────▼─────────────────────────────┐
|
||||
│ dstalk-core.dll │
|
||||
│ API / Session / File I/O / AI Adapter │
|
||||
└───────┬──────────────┬──────────────┬────────┘
|
||||
┌───────────────────────▼─────────────────────────────┐
|
||||
│ dstalk-core.dll — Plugin Host │
|
||||
│ Plugin Loader · Service Registry · Event Bus · │
|
||||
│ Config Manager │
|
||||
└──┬───────┬───────┬───────┬───────┬───────┬──────────┘
|
||||
▼ ▼ ▼ ▼ ▼ ▼
|
||||
deepseek anthropic network lsp session context
|
||||
(ai) (ai) (http) client
|
||||
▼ ▼ ▼
|
||||
config file-io tools
|
||||
│ │ │
|
||||
Boost.JSON HTTP Client OpenSSL TLS
|
||||
Boost.Asio / Beast</code></pre>
|
||||
└── Boost.JSON / Boost.Asio / Beast / OpenSSL TLS ──┘</code></pre>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -327,11 +334,15 @@ build/dstalk-cli/dstalk-cli.exe config.toml</code></pre>
|
||||
<div class="panel table-wrap">
|
||||
<table>
|
||||
<tr><th>Module</th><th>Current technology</th><th>Status</th></tr>
|
||||
<tr><td>Core library</td><td>C11 / C++20, dstalk-core.dll, public C ABI</td><td><span class="ok">Enabled</span></td></tr>
|
||||
<tr><td>Core library</td><td>C11 / C++20, dstalk-core.dll, plugin host, public C ABI</td><td><span class="ok">Enabled</span></td></tr>
|
||||
<tr><td>CLI frontend</td><td>ANSI terminal UI using dstalk/dstalk_api.h</td><td><span class="ok">Enabled</span></td></tr>
|
||||
<tr><td>GUI frontend</td><td>SDL3 graphical frontend</td><td><span class="todo">Roadmap</span></td></tr>
|
||||
<tr><td>GUI frontend</td><td>SDL3 graphical frontend, enabled via CMake option DSTALK_BUILD_GUI</td><td><span class="ok">In place</span></td></tr>
|
||||
<tr><td>Plugins</td><td>9 functional plugins (deepseek · anthropic · network · lsp · session · context · config · file-io · tools), standalone DLLs</td><td><span class="ok">Enabled</span></td></tr>
|
||||
<tr><td>Tests</td><td>tests/ ships host_api_test and smoke_test, integrated with CTest</td><td><span class="ok">Enabled</span></td></tr>
|
||||
<tr><td>Docs</td><td>docs/tutorial, docs/reference (commands, plugin-abi)</td><td><span class="ok">Published</span></td></tr>
|
||||
<tr><td>Examples</td><td>examples/example_plugin shows a plugin template</td><td><span class="ok">Available</span></td></tr>
|
||||
<tr><td>Dependencies</td><td>Conan2, boost/1.86.0, openssl/3.4.1</td><td><span class="ok">Configured</span></td></tr>
|
||||
<tr><td>Build system</td><td>CMake 3.21+, Ninja, LLVM/Clang</td><td><span class="ok">Configured</span></td></tr>
|
||||
<tr><td>Build system</td><td>CMake 3.21+, Ninja, LLVM/Clang, CMakePresets</td><td><span class="ok">Configured</span></td></tr>
|
||||
<tr><td>License</td><td>GNU GPL v3.0</td><td><span class="ok">Confirmed</span></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -385,15 +396,16 @@ int dstalk_file_write(const char* path, const char* content);</code></pre>
|
||||
<section id="roadmap" class="container section">
|
||||
<div class="section-head">
|
||||
<h2>Roadmap</h2>
|
||||
<p>The website reflects dstalk's current README roadmap and avoids presenting planned capabilities as already complete.</p>
|
||||
<p>The plugin host, CLI, SDL3 GUI, nine core plugins, tests, and documentation are already in place. Future work focuses on deeper capabilities and ecosystem expansion.</p>
|
||||
</div>
|
||||
<div class="panel table-wrap">
|
||||
<table>
|
||||
<tr><th>Phase</th><th>Scope</th><th>Status</th></tr>
|
||||
<tr><td>Phase 1</td><td>Project skeleton, CMake build, DLL exports, frontend main loop</td><td><span class="ok">Current</span></td></tr>
|
||||
<tr><td>Phase 2</td><td>HTTPS networking, DeepSeek API integration, basic chat</td><td><span class="todo">In progress</span></td></tr>
|
||||
<tr><td>Phase 3</td><td>Streaming output, multi-turn sessions, file tools, CLI experience polish</td><td><span class="todo">Planned</span></td></tr>
|
||||
<tr><td>Phase 4</td><td>SDL3 GUI, plugin system, LSP integration</td><td><span class="todo">Planned</span></td></tr>
|
||||
<tr><td>Skeleton</td><td>Project skeleton, CMake/Ninja build, Conan dependencies, DLL exports, frontend main loop</td><td><span class="ok">Done</span></td></tr>
|
||||
<tr><td>Plugin host</td><td>Plugin loader, service registry, event bus, configuration; 9 core plugins (deepseek · anthropic · network · lsp · session · context · config · file-io · tools)</td><td><span class="ok">Done</span></td></tr>
|
||||
<tr><td>Chat capability</td><td>HTTPS networking, DeepSeek / Anthropic API adapters, streaming output, multi-turn sessions, file I/O tools</td><td><span class="ok">Available</span></td></tr>
|
||||
<tr><td>GUI frontend</td><td>SDL3 graphical window (DSTALK_BUILD_GUI), sharing the same plugin host as the CLI</td><td><span class="todo">In progress</span></td></tr>
|
||||
<tr><td>Next phase</td><td>Deeper LSP integration, third-party plugin SDK, cross-platform distribution, ongoing documentation</td><td><span class="todo">Planned</span></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
@@ -404,9 +416,9 @@ int dstalk_file_write(const char* path, const char* content);</code></pre>
|
||||
<p>dstalk is an open project. Developers interested in C/C++, terminal UX, AI API adapters, GUI, documentation, and testing are welcome to participate.</p>
|
||||
</div>
|
||||
<div class="cards">
|
||||
<article class="card"><div class="icon">PR</div><h3>Improve the codebase</h3><p>Good starting points include build scripts, error handling, CLI interaction, streaming output, file tools, and cross-platform compatibility.</p></article>
|
||||
<article class="card"><div class="icon">DOC</div><h3>Improve docs and examples</h3><p>Installation notes, config templates, API examples, and real usage scenarios all help new users get started faster.</p></article>
|
||||
<article class="card"><div class="icon">IDEA</div><h3>Discuss the roadmap</h3><p>If you care about the SDL3 GUI, plugin system, LSP integration, or multi-model adapters, issues and design suggestions are welcome.</p></article>
|
||||
<article class="card"><div class="icon">PR</div><h3>Improve the codebase</h3><p>The core, CLI, SDL3 GUI, and nine plugins (AI, networking, LSP, sessions, files, tools, and more) all welcome patches; build scripts and cross-platform compatibility have headroom too.</p></article>
|
||||
<article class="card"><div class="icon">PLG</div><h3>Build new plugins</h3><p>Use examples/example_plugin and docs/reference/plugin-abi.md as a starting point — register new services through the C ABI to bring your own models, tools, or data sources into dstalk.</p></article>
|
||||
<article class="card"><div class="icon">DOC</div><h3>Improve docs and tests</h3><p>docs/tutorial and docs/reference are taking shape; help expand tutorials, command references, plugin-ABI notes, and the coverage of host_api_test / smoke_test.</p></article>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<a class="btn btn-primary" href="https://git.pulsareon.com/pulsareon/dstalk">Go to source repository</a>
|
||||
|
||||
87
index.html
87
index.html
@@ -3,10 +3,10 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="dstalk 是基于 DeepSeek V4、兼容 OpenAI / Anthropic API 的 C/C++ AI 编程 CLI,采用 dstalk-core.dll + 多前端解耦架构。">
|
||||
<meta name="description" content="dstalk 是基于 DeepSeek V4、兼容 OpenAI / Anthropic API 的 C/C++ AI 编程 CLI,采用 dstalk-core.dll 插件宿主 + 多前端解耦架构。">
|
||||
<meta name="theme-color" content="#0b1020">
|
||||
<meta property="og:title" content="dstalk — C/C++ AI 编程 CLI">
|
||||
<meta property="og:description" content="DeepSeek V4 驱动,C ABI 可嵌入,CLI 当前可用,GUI、插件与 LSP 持续推进。">
|
||||
<meta property="og:description" content="DeepSeek V4 驱动,C ABI 可嵌入,dstalk-core.dll 作为插件宿主,9 个功能插件覆盖 AI、网络、会话、LSP 与工具。">
|
||||
<meta property="og:type" content="website">
|
||||
<link rel="alternate" hreflang="zh-CN" href="https://dstalk.top/">
|
||||
<link rel="alternate" hreflang="en" href="https://dstalk.top/en.html">
|
||||
@@ -213,7 +213,7 @@
|
||||
<div>
|
||||
<div class="eyebrow">dstalk.top 是 dstalk 项目的官方网站</div>
|
||||
<h1><span>ds</span>talk</h1>
|
||||
<p class="lead">基于 DeepSeek V4 大模型、兼容 OpenAI / Anthropic API 的 AI 编程 CLI。核心采用 C11 / C++20 编写,以 dstalk-core.dll 暴露稳定 C ABI,让 CLI、GUI 和第三方工具共享同一套 AI 编程能力。</p>
|
||||
<p class="lead">基于 DeepSeek V4 大模型、兼容 OpenAI / Anthropic API 的 AI 编程 CLI。核心采用 C11 / C++20 编写,以 dstalk-core.dll 作为插件宿主暴露稳定 C ABI,9 个功能插件 (AI、网络、LSP、会话、文件、工具等) 编译为独立 DLL,通过统一接口接入 CLI、SDL3 GUI 与第三方宿主。</p>
|
||||
<div class="actions">
|
||||
<a class="btn btn-primary" href="#quickstart">开始使用</a>
|
||||
<a class="btn btn-secondary" href="https://git.pulsareon.com/pulsareon/dstalk">查看源代码</a>
|
||||
@@ -221,13 +221,14 @@
|
||||
<div class="badges" aria-label="项目标签">
|
||||
<span class="badge">v0.1.0</span>
|
||||
<span class="badge">C11 / C++20</span>
|
||||
<span class="badge">CDLL + C ABI</span>
|
||||
<span class="badge">插件宿主 + C ABI</span>
|
||||
<span class="badge">9 个插件</span>
|
||||
<span class="badge">GPL v3.0</span>
|
||||
</div>
|
||||
<div class="stats" aria-label="项目状态">
|
||||
<span class="stat"><strong>当前阶段</strong>Phase 1</span>
|
||||
<span class="stat"><strong>核心</strong>dstalk-core.dll</span>
|
||||
<span class="stat"><strong>前端</strong>CLI 当前可用</span>
|
||||
<span class="stat"><strong>核心</strong>dstalk-core.dll (插件宿主)</span>
|
||||
<span class="stat"><strong>前端</strong>CLI + SDL3 GUI</span>
|
||||
<span class="stat"><strong>插件</strong>deepseek · anthropic · network · lsp · session · context · config · file-io · tools</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="terminal" aria-label="dstalk 命令行示例">
|
||||
@@ -238,11 +239,12 @@ dstalk v0.1.0 | DeepSeek V4 | /help 查看帮助
|
||||
|
||||
> 帮我解释 dstalk-core 的职责
|
||||
<span class="dim">思考中...</span>
|
||||
AI: dstalk-core 负责配置、会话、文件 I/O、HTTP 通信
|
||||
和 DeepSeek API 适配,前端只处理输入与渲染。
|
||||
AI: dstalk-core 是插件宿主,负责插件加载、服务注册、
|
||||
事件总线和配置管理;AI、网络、会话、LSP、文件 IO
|
||||
等能力都由独立插件提供,前端只处理输入与渲染。
|
||||
|
||||
> /file read dstalk-core/src/api.cpp
|
||||
<span class="dim">--- dstalk-core/src/api.cpp ---</span></code></pre>
|
||||
> /file read dstalk-core/include/dstalk/dstalk_api.h
|
||||
<span class="dim">--- dstalk-core/include/dstalk/dstalk_api.h ---</span></code></pre>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@@ -250,15 +252,15 @@ AI: dstalk-core 负责配置、会话、文件 I/O、HTTP 通信
|
||||
<section id="features" class="container section">
|
||||
<div class="section-head">
|
||||
<h2>为什么 dstalk 用 C/C++ 重新做 AI 编程助手?</h2>
|
||||
<p>dstalk 对标 Claude Code、OpenCode、KiloCode,但选择系统级实现和 CDLL 架构,重点优化启动速度、运行时依赖、可嵌入能力和长期驻留体验。</p>
|
||||
<p>dstalk 对标 Claude Code、OpenCode、KiloCode,但选择系统级实现和插件宿主架构,重点优化启动速度、运行时依赖、可嵌入能力和长期驻留体验。</p>
|
||||
</div>
|
||||
<div class="cards">
|
||||
<article class="card"><div class="icon">C</div><h3>零 Node.js 运行时</h3><p>核心以 C11 / C++20 构建,目标是毫秒级启动和更低内存占用,适合终端长期交互。</p></article>
|
||||
<article class="card"><div class="icon">ABI</div><h3>稳定 C ABI</h3><p>公开 dstalk_init、dstalk_chat、dstalk_file_read 等 C 函数,方便 C/C++、Python、Rust、C#、Go 嵌入。</p></article>
|
||||
<article class="card"><div class="icon">AI</div><h3>多 API 兼容</h3><p>以 DeepSeek V4 为核心,同时兼容 OpenAI / Anthropic 风格接口,通过配置切换 base_url、api_key 与模型。</p></article>
|
||||
<article class="card"><div class="icon">CLI</div><h3>命令行优先</h3><p>当前 CLI 使用 ANSI 终端 UI,支持自然语言对话、模型切换、文件读写、会话保存与恢复。</p></article>
|
||||
<article class="card"><div class="icon">DLL</div><h3>核心与前端解耦</h3><p>CLI 和 GUI 不持有业务逻辑,统一调用 dstalk-core.dll,后续可以扩展更多宿主。</p></article>
|
||||
<article class="card"><div class="icon">OSS</div><h3>开源可改造</h3><p>项目采用 GNU GPL v3.0,适合学习、二次开发和围绕本地工作流做深度定制。</p></article>
|
||||
<article class="card"><div class="icon">AI</div><h3>多 API 兼容</h3><p>内置 DeepSeek 与 Anthropic 两个 AI 插件,兼容 OpenAI 风格接口;通过 config.toml 中的 ai.provider 一键切换。</p></article>
|
||||
<article class="card"><div class="icon">CLI</div><h3>CLI 与 GUI 双前端</h3><p>dstalk-cli 提供 ANSI 终端 UI,dstalk-gui 基于 SDL3 跨平台窗口,共享同一组核心能力。</p></article>
|
||||
<article class="card"><div class="icon">PLG</div><h3>插件化宿主</h3><p>核心仅做插件加载、服务注册、事件总线和配置管理;AI、网络、LSP、会话等能力均为独立 DLL,可以替换或扩展。</p></article>
|
||||
<article class="card"><div class="icon">OSS</div><h3>开源可改造</h3><p>项目采用 GNU GPL v3.0,附带示例插件、单元测试与教程文档,适合学习、二次开发和本地工作流定制。</p></article>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -297,24 +299,28 @@ build/dstalk-cli/dstalk-cli.exe config.toml</code></pre>
|
||||
|
||||
<section id="architecture" class="container section">
|
||||
<div class="section-head">
|
||||
<h2>CDLL + 多前端解耦架构</h2>
|
||||
<p>dstalk-core.dll 提供网络通讯、AI 接口适配、文件读写和会话管理;前端层只负责交互体验。GUI 目录已预留,根 CMake 当前先启用 CLI 与核心库。</p>
|
||||
<h2>插件宿主 + 多前端解耦架构</h2>
|
||||
<p>dstalk-core.dll 作为插件宿主,负责插件加载、服务注册、事件总线和配置管理;AI、网络、LSP、会话、文件 IO、工具等 9 个功能插件编译为独立 DLL,前端只通过 C ABI 触达核心能力。GUI 通过 CMake 选项 DSTALK_BUILD_GUI 启用。</p>
|
||||
</div>
|
||||
<div class="terminal architecture">
|
||||
<div class="terminal-top"><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="terminal-title">architecture</span></div>
|
||||
<pre><code>┌─────────────────────────────────────────────┐
|
||||
<pre><code>┌─────────────────────────────────────────────────────┐
|
||||
│ Frontends │
|
||||
│ dstalk-cli (ANSI UI) dstalk-gui (SDL3) │
|
||||
│ 当前构建启用 路线图推进 │
|
||||
└───────────────┬─────────────────────────────┘
|
||||
└───────────────────────┬─────────────────────────────┘
|
||||
│ C ABI
|
||||
┌───────────────▼─────────────────────────────┐
|
||||
│ dstalk-core.dll │
|
||||
│ API / Session / File I/O / AI Adapter │
|
||||
└───────┬──────────────┬──────────────┬────────┘
|
||||
┌───────────────────────▼─────────────────────────────┐
|
||||
│ dstalk-core.dll — Plugin Host │
|
||||
│ Plugin Loader · Service Registry · Event Bus · │
|
||||
│ Config Manager │
|
||||
└──┬───────┬───────┬───────┬───────┬───────┬──────────┘
|
||||
▼ ▼ ▼ ▼ ▼ ▼
|
||||
deepseek anthropic network lsp session context
|
||||
(ai) (ai) (http) client
|
||||
▼ ▼ ▼
|
||||
config file-io tools
|
||||
│ │ │
|
||||
Boost.JSON HTTP Client OpenSSL TLS
|
||||
Boost.Asio / Beast</code></pre>
|
||||
└── Boost.JSON / Boost.Asio / Beast / OpenSSL TLS ──┘</code></pre>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -326,11 +332,15 @@ build/dstalk-cli/dstalk-cli.exe config.toml</code></pre>
|
||||
<div class="panel table-wrap">
|
||||
<table>
|
||||
<tr><th>模块</th><th>当前技术</th><th>状态</th></tr>
|
||||
<tr><td>核心库</td><td>C11 / C++20,dstalk-core.dll,公开 C ABI</td><td><span class="ok">已启用</span></td></tr>
|
||||
<tr><td>核心库</td><td>C11 / C++20,dstalk-core.dll,插件宿主,公开 C ABI</td><td><span class="ok">已启用</span></td></tr>
|
||||
<tr><td>CLI 前端</td><td>ANSI 终端 UI,调用 dstalk/dstalk_api.h</td><td><span class="ok">已启用</span></td></tr>
|
||||
<tr><td>GUI 前端</td><td>SDL3 图形化前端</td><td><span class="todo">路线图</span></td></tr>
|
||||
<tr><td>GUI 前端</td><td>SDL3 图形化前端,CMake 选项 DSTALK_BUILD_GUI 启用</td><td><span class="ok">已就位</span></td></tr>
|
||||
<tr><td>插件</td><td>9 个功能插件 (deepseek · anthropic · network · lsp · session · context · config · file-io · tools),独立 DLL</td><td><span class="ok">已启用</span></td></tr>
|
||||
<tr><td>测试</td><td>tests/ 提供 host_api_test 与 smoke_test,CTest 集成</td><td><span class="ok">已启用</span></td></tr>
|
||||
<tr><td>文档</td><td>docs/tutorial、docs/reference (commands、plugin-abi)</td><td><span class="ok">已发布</span></td></tr>
|
||||
<tr><td>示例</td><td>examples/example_plugin 展示插件开发模板</td><td><span class="ok">已提供</span></td></tr>
|
||||
<tr><td>依赖管理</td><td>Conan2,boost/1.86.0,openssl/3.4.1</td><td><span class="ok">已配置</span></td></tr>
|
||||
<tr><td>构建系统</td><td>CMake 3.21+,Ninja,LLVM/Clang</td><td><span class="ok">已配置</span></td></tr>
|
||||
<tr><td>构建系统</td><td>CMake 3.21+,Ninja,LLVM/Clang,CMakePresets</td><td><span class="ok">已配置</span></td></tr>
|
||||
<tr><td>许可证</td><td>GNU GPL v3.0</td><td><span class="ok">已确认</span></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -384,15 +394,16 @@ int dstalk_file_write(const char* path, const char* content);</code></pre>
|
||||
<section id="roadmap" class="container section">
|
||||
<div class="section-head">
|
||||
<h2>路线图</h2>
|
||||
<p>官网按 dstalk 当前 README 的阶段说明呈现,避免把规划功能误写成已完成能力。</p>
|
||||
<p>插件宿主、CLI、SDL3 GUI、9 个核心插件、测试与文档已经就位;后续聚焦在能力深化与生态扩展。</p>
|
||||
</div>
|
||||
<div class="panel table-wrap">
|
||||
<table>
|
||||
<tr><th>阶段</th><th>内容</th><th>状态</th></tr>
|
||||
<tr><td>Phase 1</td><td>项目骨架、CMake 构建、DLL 导出、前端主循环</td><td><span class="ok">当前阶段</span></td></tr>
|
||||
<tr><td>Phase 2</td><td>HTTPS 网络层、DeepSeek API 对接、基本对话</td><td><span class="todo">推进中</span></td></tr>
|
||||
<tr><td>Phase 3</td><td>流式输出、多轮会话、文件读写工具、CLI 体验对齐</td><td><span class="todo">计划中</span></td></tr>
|
||||
<tr><td>Phase 4</td><td>SDL3 GUI 完善、插件系统、LSP 集成</td><td><span class="todo">计划中</span></td></tr>
|
||||
<tr><td>骨架</td><td>项目骨架、CMake/Ninja 构建、Conan 依赖、DLL 导出、前端主循环</td><td><span class="ok">已完成</span></td></tr>
|
||||
<tr><td>插件宿主</td><td>插件加载、服务注册、事件总线、配置管理;9 个核心插件 (deepseek · anthropic · network · lsp · session · context · config · file-io · tools)</td><td><span class="ok">已完成</span></td></tr>
|
||||
<tr><td>对话能力</td><td>HTTPS 网络层、DeepSeek / Anthropic API 适配、流式输出、多轮会话、文件读写工具</td><td><span class="ok">已可用</span></td></tr>
|
||||
<tr><td>GUI 前端</td><td>SDL3 图形化窗口 (DSTALK_BUILD_GUI),与 CLI 共享插件宿主</td><td><span class="todo">推进中</span></td></tr>
|
||||
<tr><td>下一阶段</td><td>LSP 集成深化、第三方插件 SDK、跨平台分发与文档持续完善</td><td><span class="todo">计划中</span></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
@@ -403,9 +414,9 @@ int dstalk_file_write(const char* path, const char* content);</code></pre>
|
||||
<p>dstalk 是开放项目,欢迎对 C/C++、命令行体验、AI API 适配、GUI、文档和测试感兴趣的开发者一起参与。</p>
|
||||
</div>
|
||||
<div class="cards">
|
||||
<article class="card"><div class="icon">PR</div><h3>提交代码改进</h3><p>可以从构建脚本、错误处理、CLI 交互、流式输出、文件工具和跨平台兼容性开始。</p></article>
|
||||
<article class="card"><div class="icon">DOC</div><h3>完善文档示例</h3><p>欢迎补充安装说明、配置模板、API 调用示例和真实使用场景,降低新用户上手成本。</p></article>
|
||||
<article class="card"><div class="icon">IDEA</div><h3>参与路线图讨论</h3><p>如果你关注 SDL3 GUI、插件系统、LSP 集成或多模型适配,欢迎提出设计建议和 issue。</p></article>
|
||||
<article class="card"><div class="icon">PR</div><h3>提交代码改进</h3><p>核心、CLI、SDL3 GUI 与 9 个插件 (AI、网络、LSP、会话、文件、工具等) 都欢迎补丁,跨平台兼容与构建脚本也有空间。</p></article>
|
||||
<article class="card"><div class="icon">PLG</div><h3>开发新插件</h3><p>参考 examples/example_plugin 和 docs/reference/plugin-abi.md,通过 C ABI 注册新服务,把自己的模型、工具或数据源接入 dstalk。</p></article>
|
||||
<article class="card"><div class="icon">DOC</div><h3>完善文档与测试</h3><p>docs/tutorial、docs/reference 已经成形,欢迎补充教程、命令速查、插件 ABI 说明,以及 host_api_test / smoke_test 的覆盖面。</p></article>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<a class="btn btn-primary" href="https://git.pulsareon.com/pulsareon/dstalk">前往源码仓库</a>
|
||||
|
||||
Reference in New Issue
Block a user