dsh-assistant-message-forge:消息锻造台

在 DeepSeek Harness (DSH) 环境中,调试会话上下文、修复损坏的日志文件或批量测试助手消息往往需要额外的工具。dsh-assistant-message-forge 是一个双面插件(Host + Client),提供了解析、记录、编辑会话消息的能力,并支持导入与修复 sessionlog。目前该插件已停止功能更新,核心能力被 dsh-context-console 继承,但保留了 0.1.1 版本供回滚使用。

核心能力

该插件主要解决会话数据持久化、动态修改和日志修复的问题。

  • 上下文解析与记录:将当前会话完整解析为 ContextCard,按轮次分组,包含 turn/step 边界、user/assistant 消息、tool call/result、request header 等各类事件。解析结果连同卡片覆盖设置一起记录到 $DSH_HOME/assistant-message-forge/context-<sessionId>.json。
  • 上下文卡片化与编辑:在“消息锻造台”页签中展示卡片流,支持动态编辑文本、reasoning、provider、model、usage 以及工具名与参数。编辑结果先保存为记录,刷新解析不会丢失。
  • 应用到会话:支持将卡片修改“保存并应用到会话”或“应用到会话”。对 user/message/assistant/message/tool-result 使用 surface replace 策略,直接改写当前会话中的原消息,模型上下文即时生效。
  • 草稿管理:支持添加、修改、删除 assistant 草稿。草稿持久化在 drafts.json 中,可完整注入到当前会话。
  • Sessionlog 导入与修复:支持识别导入 .jsonl(.zstd) 格式的日志文件,并进行完整性预览。对于损坏的日志,可基于后写分支覆盖、官方 crash closer 和 seed 校验创建新的 session-repaired-* 会话,原日志保持只读。

安装与启用

Web UI 需要作为 bundle 安装,不能使用裸 --patch。dsh.client 扫描器通过包名发现 exports["./client"],因此浏览器半必须作为 bundle 安装进 profile。

# 独立测试 profile
pnpm dsh plugin --profile amf-test add D:/codeproject/dsh-plugin/plugins/assistant-message-forge

# 正式使用(装进默认 web profile)
pnpm dsh plugin --profile web add D:/codeproject/dsh-plugin/plugins/assistant-message-forge

典型用法

  1. 刷新解析:在会话上下文中执行 context/refresh,将当前会话的完整事件解析并记录到本地 JSON 文件。
  2. 编辑与注入:在卡片视图中修改内容,选择“保存并应用到会话”或“应用到会话”直接改写消息;或使用草稿区的“注入到当前会话”功能,完整合成轮次并 flush。
  3. 导入识别:使用 sessionlog/parse 接口,上传 base64 编码的 sessionlog 数据,支持 zstd 解压和 packed chunk 展开。

注意事项

  • 维护状态:插件已停止功能更新,被 dsh-context-console 继承。新部署建议迁移至新插件,现有 0.1.1 版本保留供回滚。
  • 传输限制:上传 base64 数据限制在 128 MiB 以内。
  • Tool Result 限制:修改 tool/result 时,仅允许编辑 content,message id、source、isError 等包装字段必须保持原值,isError 在记录里可改,应用时按原值写回。
  • 会话边界:会话正在运行(存在未闭合 turn)时,注入和应用操作都会被拒绝。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜