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 就必须考虑。就够了,不需要维护和同步任何"树快照"给客户端。这部分逻辑经历了一次和"两个包的分工"呼应的重写——不再有任何"自动注入一份默认配置、让零参数也能跑起来"的魔法,

【React+TS71007】Next.js “use client” 误用导致 TS71007:客户端/服务端引入问题的完整排查与修复
在 Next.js App Router 中,TS71007 报错源于对 "use client" 的误用。当一个叶子组件(如 FloatBar)被客户端组件引入却额外声明 "use client" 时,Next.js 会将其误判为服务端到客户端的边界,触发函数类型 props 不可序列化的检查。实际上,只要父组件已声明 "use client",子组件无需重复添加,其客户端身份将自动传播。修复方法是移除多余 "use client",即可消除报错且不影响运行时行为。核心原则:仅在真正的客户端入口组件上使用


