前言¶
DeepSeek Harness (DSH) 的插件化设计允许开发者扩展其核心功能。要在 DSH 环境中无缝使用本地安装的 Claude Code,需要将其作为对话提供者集成,同时保留其原生的智能体循环和工具能力。@norman-else/dsh-claude 插件由 Norman-else 维护,它将本地 Claude Code CLI 作为 DSH 中的一等公民。它不重建代理循环,而是让 Claude Code 继续负责其工具、技能、钩子和 MCP 服务器,而 DSH 提供对话 UI、审批界面、工作流管理和进程生命周期控制。
核心功能¶
原生对话支持
Claude Code 在 DSH 中作为主代理运行,而不是被包装成工具或次级聊天。这确保了完整的对话上下文和多轮交互体验。
模型与预设管理
插件添加了一个“Claude” Agent Preset,并读取 Claude Code 的模型目录。在目录不可用时,支持 default、opus[1m]、fable、sonnet 和 haiku 作为回退选项。
思维努力映射
DSH 的模型推理努力设置会被映射到 Claude Code 的思考模式(off、low、medium、high、xhigh、max、ultracode)。这允许直接通过 DSH 的设置控制 Claude 的思考深度。
本地环境兼容
插件完全保留用户的本地 Claude Code 环境,包括已认证的凭据、设置、CLAUDE.md、Skills、Hooks、Plugins、工具配置和 MCP 服务器配置。
实时流式传输与会话连续性
对话内容以实时流式传输到 DSH,同时保留多轮上下文和持久化的会话恢复能力。
权限与问题路由
Claude Code 的工具权限请求会通过 DSH 的审批流程处理,而 Claude 的澄清提示则通过 DSH 原生的问题表单展示。
权限模式控制
插件支持 Claude Code 的本地权限模式(如 Plan、Default、Accept edits 等),并在 DSH 的界面中提供相应的控制选项。这允许在会话级别精细控制权限行为。
计划审查
在只读访问模式下,Claude 的计划会显示在插件拥有的侧边栏面板中。用户可以审查计划、编辑文本并拒绝计划,这些修改会作为拒绝原因反馈给 Claude。
命令桥
Claude Code 的命令目录会被发布到 DSH 的命令面板中,并带有重试机制以等待 Skills 和 Plugins 加载完成。
提示片段
插件会读取 ~/.claude/prompts 目录下的 Markdown 文件,将其作为可插入的提示片段展示在命令面板中,方便复用未完成的草稿。
安装与启用¶
前置要求
- DeepSeek Harness Desktop,且宿主版本兼容。插件当前开发针对 DSH 0.1.5-rc.2 (DSH Desktop 2.0.10)。插件 0.1.37+ 引入了 0.1.1-rc.2 中不存在的符号,若宿主仍在该版本,需锁定 @norman-else/dsh-claude@0.1.36。
- 本地已安装并认证的 Claude Code。
- 从源码安装时需要 Node.js 20 或更高版本。
安装命令
使用 DSH CLI 将包添加到桌面配置文件:
dsh plugin --profile desktop add @norman-else/dsh-claude
启用流程
1. 等待配置重建完成。
2. 完全退出 DeepSeek Harness Desktop。
3. 重新打开 DSH Desktop。
4. 创建新对话,在“Agent Preset picker”中选择 Claude。
从源码安装
git clone https://github.com/Norman-else/dsh-claude.git
cd dsh-claude
pnpm install
pnpm check
如果检出的代码已链接到正在运行的 Desktop,请在回合结束后运行构建,因为重建可以热重载插件。建议在活跃工作期间使用单独的源副本进行验证。
移除插件
DSH 当前不暴露插件卸载的生命周期钩子。在移除包之前,必须先移除管理的兼容预设:
dsh plugin --profile desktop exec dsh-claude remove-preset
dsh plugin --profile desktop remove @norman-else/dsh-claude
如果包在清理预设之前已被移除,请运行对应版本的清理命令:
pnpm dlx @norman-else/dsh-claude@<version> remove-preset
典型用法¶
- 会话创建:重启 DSH 后,在新建对话时选择 Claude 预设即可开始。
- 验证工作流:在活跃开发期间,可以使用单独的源代码副本进行验证,无需频繁中断当前 DSH 会话。
- 构建执行:仅在 DSH 的回合结束后运行构建,因为重建操作可以触发插件的自动热重载。
注意事项¶
- 插件从不询问或存储 Claude 的凭据。用户必须通过本地 Claude Code CLI 进行认证。
- 如果 DSH 宿主版本过低(如
0.1.1-rc.2),必须锁定插件版本为0.1.36以避免运行时错误。 - 首次构建或源码链接时,确保 Node.js 版本不低于 20。
总结¶
@norman-else/dsh-claude 插件解决了在 DSH 中使用本地 Claude Code 的集成问题。它通过复用 Claude Code 的原生能力,同时利用 DSH 的管理界面,为用户提供了一个既熟悉又高效的工作流。更多细节和源码可参考其 GitHub 仓库 或 技能中心目录。