← 返回列表
未验证
从 DeepSeek Harness 中以无头方式将 Claude Code 作为子代理运行,其
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/27 · 已提供中文文档
在DeepSeek Harness中将Claude Code作为子代理运行,其步骤会实时流式传输到会话UI中。在已发布的harness上可用。
综合分
27.8
GitHub 分
27.8
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add flykit-cc/dsh-claude-live该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
- 是什么
- dsh 原生插件 · ui
- 装得上吗
- 本站尚未做安装检查
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 29 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/25(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-claude-live
从 DeepSeek Harness 中以无头方式将 Claude Code 作为子代理运行,其
步骤会在工作过程中流式显示到会话视图中。
一个工具。一个子进程。没有注册表,没有角色库,没有可继续的
会话。
为什么存在
有两件事目前行不通:
- 轮询是骗人的。 subagent_progress 只报告子进程已经
刷新的内容;在两次轮询之间你什么也看不到,而模型会浪费轮次
去询问。进度必须被推送,而不是被采样。
- 自定义事件会破坏查看器。 dsh-background-agents 会写入它自己的
background-agents/fact 事件类型。rc.2 持久化读取路径拒绝
解释 KNOWN_SESSION_EVENT_TYPES 之外的任何事件,因此 Web UI
根本无法重放这些会话。
此插件通过已安装的 harness 已经理解的一对事件来推送进度:
tool/code-dispatch-start / tool/code-dispatch —— 这与核心自带的 Code Mode 桥接
用来记录嵌套子调用的是同一对事件。两者都被记录为仅日志:deriveMessages() 会忽略它们,因此摘要
行永远不会重新进入模型上下文,但 UI 会用它们来显示每个子调用的实时
状态。因此,摘要会渲染为仍在运行的
claude_live 调用下的子行,就像 run_code 下的嵌套工具调用一样。
要求
- DeepSeek Harness 0.1.1-rc.2 或更高版本。
- claude 在 PATH 中(或 ~/.local/bin、~/.claude/local、/usr/local/bin、
/opt/homebrew/bin),并已完成认证。
- Node ≥ 18。
安装
dsh plugin --profile web add dsh-claude-live
dsh plugin --profile headless add dsh-claude-live # 可选
对于本地检出,使用 pnpm 将该目录安装到 profile 中,并自行添加
该层:
cd ~/.dsh/profiles/web
pnpm add file:/path/to/dsh-claude-live
~/.dsh/profiles/web/cordis.patch.yml
- insert:
- id: claude-live
name: 'dsh-claude-live'
config:
timeoutMs: 1800000
之后重启 harness。完整的安装 +
冒烟测试流程请参见 TESTPLAN.md。
用法
claude_live task="Refactor src/calc.js and run its tests" permissionMode="full" cwd="/srv/project"
| 参数 | 必需 | 含义 |
|---|---|---|
| task | 是 | 完整、自包含的提示词。子进程看不到此对话。 |
| cwd | 否 | 工作目录。默认为 harness 进程目录。 |
| permissionMode | 否 | readonly → --permission-mode plan;full → --dangerously-skip-permissions;default(默认值)→ Claude 自身的配置。 |
| model | 否 | --model 覆盖。省略则使用 Claude 的默认值。 |
返回 { ok, result, stats: { events, toolCalls, durationMs } },或者当 CLI 无法启动、超时、被取消,
或退出时没有结果事件时,返回
{ ok: false, error }。每个返回值都会被清理为严格的
无损 JSON(没有 undefined,没有 NaN/Infinity/-0,没有类实例,
没有循环引用)—— harness 会拒绝其他任何内容。
当运行正在进行时,你会在
claude_live 调用下看到一行自我更新的行(节流 ≤1/秒)——标题跟踪当前步骤,
主体是最近摘要行的滚动窗口加上一个实时计数器:
claude:Bash · npm test ← 标题 = 当前步骤
▸ claude full: Refactor src/calc.js and run its tests
✱ Reading the module to see what the tests cover
▸ Read: /srv/project/src/calc.js
▸ Bash: npm test
◦ 4 steps · 0:12 ← 滚动计数器
当 Claude 完成时,该行会稳定为 claude:done。没有逐步堆叠的行——
记录保持扁平,就像 Claude Code CLI 一样。
配置
| 键 | 默认值 | 含义 |
|---|---|---|
| timeoutMs | 1800000(30 分钟) | 每次运行的硬性上限。到期时,子进程的整个进程组会收到 SIGTERM,5 秒后再收到 SIGKILL。 |
| command | 自动检测 | claude 二进制文件的显式路径。严格使用——错误的值会显式失败,而不是回退。 |
取消工具调用(exec.signal)会以相同方式杀死子进程。
共存
独立的插件 id(claude-live)和工具名(claude_live),因此它可以与
dsh-plugin-product-subagents 并行运行而不会冲突。
许可证
MIT
先前技术
- relay-dsh-plugin-claude 也将 Claude Code 活动流式传输到 DSH 对话中——作为会话后端:你选择“Claude Code”作为会话模式,DSH 自己的代理循环退居一旁。dsh-claude-live 是子代理形态:DSH 保持作为驱动代理并进行委托,因此 DeepSeek 负责规划/编排,Claude 执行各个块,两者都在同一个会话中可见。
- dsh-plugin-product-subagents 将 Claude 作为子代理运行(更丰富的生命周期:角色、可继续的子进程),但其 trace 工具目前会失败并报“value is not lossless JSON”(issue #4),因此没有实时步骤。
- dsh-background-agents 通过已发布 harness 无法重放的自定义事件类型进行流式传输(需要未发布的核心)。
贡献
按设计保持小巧,但有很多事情可做:为 codex 和 ACP CLI 作为子进程提供流式传输、从 UI 取消、更丰富的摘要(差异、token 计数)、针对未来 dsh 版本的测试。欢迎提交 issue 和 PR。