DeepSeek Harness:把 agent 运行时拆成可组合的插件

记录 DSH 的 profile 分层、Agent Loop 驱动、Team 协作与长会话压缩的设计取舍与踩坑。

踩坑记录

把 DSH 塞进一台 ARM 盒子,踩了七个坑

2026-10-26 · 11 分钟阅读

ARM 盒子上跑 DSH:数据目录必须放 U 盘,--host 不能写 0.0.0.0,不加 --trusted-host 插件市场会 403,以及 MemoryMax 的取舍。

DSHARMArmbiansystemd踩坑

规则一条没写错,但一条都没命中

2026-10-14 · 11 分钟阅读

旁路由形态下 iKuai 按 IP 做下一跳,mihomo 拿到的只有 IP,几十条域名规则静默退化到 MATCH。开启 sniffer 并设置 override-destination,把 SNI 里的域名找回来。

mihomoTUNsnifferiKuai踩坑

改了 REALITY 的 target,代理当场就断了

2026-10-08 · 9 分钟阅读

REALITY 的 target 不只是回落目标,它同时是校验客户端时的握手依据。换掉它必须同时换 serverNames,客户端也要同步——三者绑定,缺一不可。

REALITYXrayTLS踩坑

一次双机静态站部署,踩了六个坑

2026-10-08 · 12 分钟阅读

从证书权限、内存 OOM 到同步脚本的硬编码陷阱。这六个坑的共同点是:都不是配置写错了,而是对系统行为理解不到位。

运维部署踩坑Caddy

架构与机制

profile 是叠加出来的,不是配出来的

2026-10-02 · 9 分钟阅读

DSH 的配置树从一个空根开始,按顺序叠四层。搞清楚顺序,才能回答「为什么我改了配置没生效」。附三个 dump 命令。

profile配置层Cordis

Agent Loop:一次轮次里到底发生了什么

2026-09-24 · 8 分钟阅读

dsh-agent 在没有驱动器之前是惰性的,必须和 dsh-agent-loop 一起挂。还有 followup / steer / inject 三者的真实区别。

Agent Loop工具调用并发

让一支 agent 团队挺过崩溃重启

2026-09-12 · 10 分钟阅读

Team 把会话变成工作团队,消息和任务状态都持久化——离线的 teammate 恢复后会收到排队消息。这是它和普通 subagent 最大的区别。

Agent Team持久化协作

压缩把旧历史换成摘要,但日志不删

2026-08-28 · 7 分钟阅读

被遮蔽的内容仍留在会话日志里,所以回放能确定性地重现同一份压缩后对话。这个设计取舍值得展开说。

压缩上下文管理

goal 跨重启活着,但它不调度工作

2026-08-15 · 6 分钟阅读

dsh-goal 只存储和提供 goal 状态,不启动任何工作。模型工具、/goal 命令、续行驱动器是三个独立包,各管一段。

goal持久状态