4.4 KiB
@deepseek-ai/dsh-acp-demo
English | 中文
ACP 自动化服务器应用:默认 agent 主干、客户端通过 @deepseek-ai/dsh-acp 创建的 agent、JSONL 持久化,以及由一个 JSON-RPC stdio bin 提供的语义检查点。程序化客户端创建新会话;此包不挂载人类 UI。
组合
| 插件 | 角色 |
|---|---|
@deepseek-ai/dsh-agent-spine-demo |
不含提供方且不预创建 agent 的 agent 主干;session/new 创建每个 agent。 |
@deepseek-ai/dsh-session-persistence-jsonl |
检查点、可观测性和快照回放所使用的持久会话日志。 |
@deepseek-ai/dsh-session-checkpoint-policy |
在模型调用和顶层工具 effect 前建立持久性屏障,并为已完成步骤建立检查点。 |
@deepseek-ai/dsh-session-query-sqlite |
派生的精确/FTS 会话查询服务;先于 ACP 传输打开,使叶节点消费方在首次模型请求前就绪。 |
@deepseek-ai/dsh-acp |
通过 stdin/stdout 提供的纯自动化 ACP 传输。 |
应用不安装命令、用户交互、会话导航、配置选择器或 stdout logger。它通过一个有序 effect 拥有这些插件,因此查询服务会在 ACP 接受工作前就绪,而 ACP 会话会在检查点与持久化分离前静默。叶节点配置负责提供 LLM、执行器、沙箱、批准、文件系统和面向模型的工具插件。
配置
| 键 | 默认值 | 路由目标 |
|---|---|---|
provider |
必填 | 每个由 ACP 创建的 agent 所用的提供方路由。 |
model |
必填 | 每个由 ACP 创建的 agent 所用的模型。 |
maxParallelToolCalls |
agent-loop 默认值 | 正整数工具调用并发上限;1 表示串行。 |
persona |
无 | 供 dsh-system-prompt 使用的部署 persona 模板。 |
toolOrder |
字典序 | 供 dsh-system-prompt 使用的显式面向模型工具顺序。 |
tools |
{ mode: 'native' } |
Native、Code Mode 或组合式模型工具传输。 |
dshHome |
$DSH_HOME 或 ~/.dsh |
bash 与本地 skill 发现共享的 harness 主目录。 |
sessionTitle |
主干示例限制 | 持久后备标题限制;标题仍不会进入 ACP wire。 |
persistenceRoot |
./.sessions |
JSONL 后端根目录,以及派生 session-query.db 索引的父目录。 |
packChunks |
true |
在存储中打包连续的增量 chunk 事件。 |
persistenceCompression |
zstd |
带校验和的 Zstandard 帧,或原始 none。 |
workspaceContext |
必填 | Workspace 指令字节预算/配置,或 false。 |
skills |
拥有者默认值 | Skill 注册表、本地提供方和面向模型的 skill 工具。 |
toolBash |
拥有者默认值 | 面向模型的 bash 工具配置。 |
toolTasks |
拥有者默认值 | 通用后台任务控制配置,或 false。 |
goals |
拥有者默认值 | 持久的同会话目标领域与模型工具,或 false。 |
llmRetry |
拥有者默认值 | 有界的瞬时模型请求重试策略。 |
已交付的 examples/acp-agent/cordis.yml 添加 DeepSeek 适配器、沙箱化 bash 与文件系统提供方、一次性批准策略、压缩、subagent、工作流、钩子,以及面向模型的工具。应用提供派生会话查询索引,而面向模型的查询消费方仍由叶节点显式选用。快照 overlay 只替换非确定性提供方或策略值。
Bin
dsh-acp-demo [--config path-to-cordis.yml](短形式 -c;默认为 ./cordis.yml)会加载 gitignore 排除的 .env,回放 mode 除外;DSH_SNAPSHOT=replay 选择同级 cordis.snapshot.yml;stdin EOF 会在退出前释放上下文并刷新会话。Loader 已安装的可选 peer node-addon-require-builtin 使纯 Node 下构建后的 bin 可以解析裸插件说明符。诊断使用 stderr,因为 stdout 是 ACP wire。
模型体验
模型通过 dsh-agent-spine-demo 和叶节点的面向模型插件间接获得体验。ACP 提示词文本会成为普通的已记录用户消息;协议元数据与权限选择不会进入模型请求。
KV Cache 影响
每个会话只追加;应用本身不添加请求前缀内容。
已知限制与延后工作
- JSONL 持久化固定不变:使用其他后端需要另一种组合。
- 同级插件可能破坏 stdout:应用无法阻止另一个条目写入非协议字节。
- 只支持新建自动化会话:恢复和人类交互属于其他前端入口。