Sandbox:文件边界、失败关闭与一次性升权

工具流水线管「怎么执行」,还不回答「能不能写 /etc/passwd」。DeepSeek-Harness(dsh)用 ctx.sandbox 做同世界隔离:子进程仍在宿主机内核上,但按模式限制文件效果。强制不了就失败关闭,绝不悄悄裸奔;被拒后可带理由申请一次性升权,且必须经用户批准。

Read more

工具注册表与执行流水线

模型吐出 tool-call 之后,真正干活的是 ctx.tools.execute()。校验、权限、超时、格式化如果散落在每个工具里,行为会对不齐,漏检也难查。dsh 要求工具先注册进表,每次调用走同一条固定流水线;工具作者写 execute,管治与观测交给 pipeline。

Read more

LLM 适配器:厂商协议译成 harness 词汇

Agent Loop 调用 ctx.llm.stream() 时,底下可能是 DeepSeek、OpenAI 或别的厂商,SSE 格式各不相同。DeepSeek-Harness(dsh)把「消息 / 内容块 / StreamChunk」定为提供方无关的词汇表,具体协议由适配器翻译。换厂商等于换适配器,Loop 与会话日志只认世界语。

Read more

Agent Loop:Turn、Step 与协作式取消

用户说一句话,模型可能先读文件、再改配置、最后回一句确认。DeepSeek-Harness(dsh)把这段过程拆成 Turn 与 Step,由默认驱动器 Agent Loop 推进,并把每个动作追加进会话日志。Loop 本身也是插件;定制走瀑布事件,通常不必改主循环源码。

Read more

Capability Seam:服务定义、提供方与消费方

插件挂好了、日志也记上了,主循环要跑命令、读文件、调模型时,仍会碰上硬绑定:工具里直接 spawn('bash', ...),产品要求改远程沙箱或 Windows PowerShell 时,所有调用点一起改。dsh 用 Capability Seam(能力 seam)把「能力长什么样」和「谁来实现、谁来用」拆开:服务定义、服务提供方、消费方三者组成一条可替换接缝。

Read more