

LLM之Agent(117)|DeepSeek-Harness(二十四)Host/Client 分离与 Typert RPC 生成
第 04 章讲的"assistant/chunk 事件如何在会话日志里被追加",和本篇讲的"这条事件如何被推到浏览器里逐字打字",正好是同一条数据在两个不同抽象层次上的描述——前者关心事件本身的语义和持久化,后者关心这条事件如何跨越进程边界、跨越协议边界,最终变成浏览器里的一次 DOM 更新。说的"separate data protocol"指的是这条流内部的 frame 词汇表(snapshot/records/assistant-stream),不是 Typert 之外的"另一套协议"。

LLM之Agent(116)|DeepSeek-Harness(二十三)Python SDK 与 NDJSON-RPC 桥接
这些都是"完整 dsh CLI 现在自带的能力"(文件全文搜索用 ripgrep,文档处理用 Office 转换引擎)在单文件打包这个环节必须一起背上的行李——这也是为什么这一节的标题从"打包成 exe"变成了"打包成 exe,顺带背了哪些行李":当年打包一个迷你 JSON-RPC demo 应用不需要考虑这些,但打包完整 CLI 就必须考虑。就够了,不需要维护和同步任何"树快照"给客户端。这部分逻辑经历了一次和"两个包的分工"呼应的重写——不再有任何"自动注入一份默认配置、让零参数也能跑起来"的魔法,


