跳到正文

铁律

插件可换,日记不可撒谎

官方设计只有两句话。其余一切——启动、循环、接头、窗户——都是这两句话的展开。

plugin

Everything is a plugin

每一块本事都是积木:脑子、手、日记、围栏、循环、窗户。换一块,不用拆整座城。

DeepSeek Harness 建在 Cordis 上。模型适配器、工具、技能、会话、沙箱、存储、循环、调度和 UI 都是插件。通过配置选择、替换或扩展,不必改 dsh 源码。没有需要打补丁的特权内核。

trace

Every run is traceable

模型看见的每一句话,都已经写进只能往后翻的日记。合上再打开,故事还在。

系统提示、推理、工具调用与结果、子代理调度、每一次上下文注入,都追加进 Session 日志。Resume、fork、检索、回放都走同一条事件流。运行时不变量断言:模型可见即已记录。

四种套装

Profile 决定整座城怎么拼。Agent preset 决定某一个机器人穿哪套衣服——在 isolate realm 里再挂一棵小树。

standard

标准模式

全套编程机器人:改文件、敲命令、上网、技能、计划、目标、帮手、编舞。

完整工具与编码人格。agent preset:standard。

code

Code Mode

标准套装再加实验室:让模型用一段 TypeScript 把好多步活编排在一起。

工具经 Code Mode SDK 暴露,模型可在一个程序里组合多轮操作。

minimal

极简模式

只留嘴巴和橡皮,用来给模型打分。

持久 bash + str_replace_editor,适合基准测试。

creator

创造模式

允许机器人给自己加积木、检查现在挂了哪些插件。

标准能力 + 运行时自检、内存里试插件、组合成新 preset。

新行为往哪挂

改循环本身之前,先在这张表里找挂钩。官方原文叫「新行为的归属位置」。

你想做挂在哪小孩版
加一个模型提供方ctx.llm再请一位老师。教室不用拆。
加一项模型会用的能力ctx.tools往工具柜里放新工具,说明书会自动订进出门手册。
让某一会话拥有另一套能力agent preset + isolate给这个机器人单独换衣服。水龙头也是它自己的。
加 shell 执行ctx.shell → ctx.subprocess嘴巴下令,跑腿的人真正去跑。
加一直开着的终端ctx.terminals + dsh-tool-terminal墙上挂一块不会关的小黑板。
加人类口令ctx.commands不用喊老师,你自己就能下口令。
加后台慢工ctx.jobs · job_* 工具把活丢进洗衣机,过一会儿再看。
加文件系统或写前策略ctx.fs 或 fs/* 事件换书桌,或在动笔前加一条家规。
限制所启动的进程ctx.sandbox.confine(argv)出门前先套上围栏。不是搬家。
拦截请求、工具或轮次agent/* 或 tools/*门卫盖章、洋葱传纸。turn-stopping 能叫停放学。
加模型可见的上下文agent.inject()从门缝塞纸条。不敲门,等下一回领取。
加 UI 或编辑器ctx.agents + session/event窗户只看日记广播,不自己编故事。
加聊天节点ConversationNodeDefinition在毡板上再按一张新图片。
加持久会话状态扩展 SessionEventMap日记里多一种句子。回放也从日记来。
给会话起标题唯一的 ctx.sessionTitle 提供方给日记本起名字的人只能有一个。
管理同会话目标ctx.goals + agent/*冰箱上的目标贴,做完再揭。
fork 一个还在写的本子ctx.sessions.fork(...)把日记复印一份,从某一页开始另写。
把注册限定到一个 agentagent.ctx东西放进这个人的储物柜,不是大厅。