一句话:一个能让 AI 真动手操作电脑 ,并且当场给自己加新工具的工作台。本文只讲怎么装、怎么玩、牛在哪。
原文详细链接:https://www.jay-r-j.top/deepseek-harness-complete-guide/**
一、装好
前提:Node.js 18+,一个 OpenAI 兼容的 API Key。
最省事(一行跑起):
bash
npx --yes @deepseek-ai/dsh web
浏览器打开 http://127.0.0.1:3080。
全局安装:
bash
npm install -g @deepseek-ai/dsh
dsh web
第一次启动后,密钥填在 ~/.dsh/.credentials.yaml。
二、当普通工作台用
开聊即可,它能:
-
读写文件、搜索代码
-
执行命令(沙箱隔离)
-
联网搜索并给来源
-
切换模型 / 推理档位
-
计划模式(先出方案,你点头再动手)
-
长任务设目标,自动推进
-
后台跑命令,不阻塞
-
派子代理并行处理
-
上下文自动压缩
-
斜杠命令:
/plan、/compact、/goal
三、换人格:Agent 预设
预设 = 给 AI 换"工具箱 + 性格"。自带四个:standard、code、minimal、cordis(创造模式)。
创造模式是核心:新建会话时选 cordis,这个 AI 拥有读写运行时组成的权限。你可以直接对它说:
"创建一个只读审查预设,只能看代码不能改文件"
它会自动复制、修改、存为新预设,下次新建会话就能选。这就是"让 AI 造 AI",真能跑通。
创造模式 ≈ shell 权限,别跑不明来源的指令。
四、现场长新能力:动态插件
动态插件是只活在当前进程 的临时扩展,重启即失,但可审批、可回滚、自动回收副作用。
流程:
-
你跟 AI 说:"加一个显示 token 消耗的小面板"
-
AI 写出插件代码(宿主端 + 界面端)
-
你审批(弹窗高亮危险操作,单勾只信这版,双勾以后都信)
-
装载,网页立刻出现新面板
-
不想要了,停止或删除,所有样式/监听/定时器自动回收
关键机制:
-
版本不可变,改坏可退回旧版
-
写插件前,AI 会用 Inspect 工具查活体运行时的真实 API,不瞎猜
-
支持 RPC 通信(前端调
host.call,后端用harness.handle)
真实案例:token 消耗面板 → 升级成可拖动卡片;费用估算面板 → 监听 agent/request 事件,内置价格表,分精度估算。
五、更轻量的永久记忆:技能(Skills)
如果你不想写代码,就用 技能 :在预设目录下放 SKILL.md 文件,AI 启动时自动读入上下文,按你的步骤执行。纯文本、零风险、永久生效。
六、它到底牛在哪(别人没有的)
-
AI 造 AI:预设本身就是文件,AI 能读写并生成新预设。
-
自我修改有规矩:分宿主层(全局)和预设层(会话独享),改坏共享风险最低。
-
AI 不猜 API:Inspect 查活体契约,告别幻觉。
-
改运行时也走版本管理:不可变版本 + 审批 + 回滚 + 自动回收。
-
日志可重放:预设一旦开聊就冻结(因为 Tool Schema 签名固定),保证历史可重放。
-
完整的现场生长闭环:定义 → 审批 → 装载 → 回滚 → 回收,只有 DSH 能给你。
七、几条底线(必看)
-
创造模式 = shell 级信任,只跑可信指令。
-
动态插件装载前必审,重点看弹窗高亮的
fs、child_process、net代码。 -
随附预设(standard/code/minimal/cordis)只读别改,升级会覆盖。
-
敏感操作弹审批,别无脑点允许。
八、常用命令速查
bash
dsh web # 启动网页
dsh --profile headless "任务" # 无头模式,适合脚本
dsh --profile tui --resume <会话id> # 恢复会话
dsh --dump-config # 看完整插件树
dsh -V # 版本
九、常见问题
预设为什么不能中途换?
因为预设决定了工具调用的 JSON Schema,历史消息里的 tool_calls 换预设后无法校验,所以只有空白会话能换。
动态插件重启会丢吗?
内存实例会丢,但 packageId 记录在会话日志头,恢复会话时会尝试重新装载。
想让功能永久存在?
三条路:① 写 SKILL.md(最轻)② 做成 Agent 预设(新会话生效)③ 写进部署源码重建(最重)。