解析会话上下文为卡片,动态编辑并应用到会话
28.2/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add anweat/dsh-assistant-message-forge该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-attachment@deepseek-ai/dsh-brand@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 解析会话上下文为卡片
- 动态编辑卡片
- 应用到会话
已弃用:由 dsh-context-console 取代;0.1.1 仍可安装用于回滚
README
由 DeepSeek 最新模型翻译生成dsh-assistant-message-forge(消息锻造台)
[!IMPORTANT]
维护状态:已停止功能更新。 本插件由 dsh-context-console 完整继承;新插件保留消息锻造、上下文卡片、sessionlog 导入与保守修复能力,并新增轨迹墙、Prompt / Skill / MCP / Tools 管理和缓存观察。现有 0.1.1 版本继续保留供回滚使用,新部署请迁移到 dsh-context-console。
双面(Host + Client)DSH 插件:在会话区新增一个 消息锻造台 页签,核心是详细上下文解析 → 记录 → 卡片化 → 动态编辑 → 开放修改:
DSH 消息锻造台
1. context/refresh 把当前会话完整解析成一张张 ContextCard (turn/step 边界、user/assistant 消息、tool call/result、request header、其他 log-only 事件;assistant/chunk 按轮折叠计数);
2. 解析结果连同卡片 overrides 一起 记录 到 $DSH_HOME/assistant-message-forge/context-.json;
3. 页签内按轮分组 卡片化 展示,含 surface 折叠状态(原始被替换 / 替换生效中);
展开完整文档(README 剩余 1 节)
dsh-assistant-message-forge(消息锻造台)
[!IMPORTANT]
维护状态:已停止功能更新。 本插件由 dsh-context-console 完整继承;新插件保留消息锻造、上下文卡片、sessionlog 导入与保守修复能力,并新增轨迹墙、Prompt / Skill / MCP / Tools 管理和缓存观察。现有 0.1.1 版本继续保留供回滚使用,新部署请迁移到 dsh-context-console。
双面(Host + Client)DSH 插件:在会话区新增一个 消息锻造台 页签,核心是详细上下文解析 → 记录 → 卡片化 → 动态编辑 → 开放修改:
DSH 消息锻造台
1. context/refresh 把当前会话完整解析成一张张 ContextCard (turn/step 边界、user/assistant 消息、tool call/result、request header、其他 log-only 事件;assistant/chunk 按轮折叠计数);
2. 解析结果连同卡片 overrides 一起 记录 到 $DSH_HOME/assistant-message-forge/context-.json;
3. 页签内按轮分组 卡片化 展示,含 surface 折叠状态(原始被替换 / 替换生效中);
4. 卡片可 动态编辑:文本/reasoning/provider/model/usage、工具名与 arguments、工具结果文本;编辑先保存为记录,也可 保存并应用到会话(surface replace 直接改写当前会话中的原消息)。
此外保留 v1 能力:创建/修改/删除/注入 assistant 草稿、上传识别
session.jsonl(.zstd);导入区还会做完整性预览,并可把安全可解释的损坏
恢复为新的 session-repaired- 会话。
能力
| 能力 | 入口 | 说明 |
| 上下文解析+记录 | 会话上下文 → 刷新解析 | 全事件分类解析并落盘为 context 记录 |
| 上下文卡片化 | 会话上下文卡片流 | 按轮分组,边界/消息/工具/请求/其他卡片 + surface 状态 |
| 卡片动态编辑 | 卡片 → 编辑 → 保存记录 | 修改只写入记录 override,刷新解析不丢 |
| 应用到会话 | 卡片 → 保存并应用到会话 / 应用到会话 | user/assistant/tool-result 用 surface replace 替换原消息,模型上下文即时生效 |
| 添加/修改/删除草稿 | 草稿区按钮 | 草稿持久化在 drafts.json |
| 注入到会话 | 草稿行 → 注入到当前会话 | 完整合成轮 + flush |
| 导入识别 sessionlog | 底部文件选择 → 导入并识别 | zstd/JSONL 解码 + packed chunk 展开 + 事件识别 |
| 修复损坏 sessionlog | 完整性预览 → 创建修复会话 | 后写分支覆盖 + 官方 crash closer + 官方 seed 校验;原日志只读 |
| 复用识别结果 | 识别行 → 存为草稿 / 注入 | 保留 reasoning+text/provider/model/usage |
架构
浏览器客户端 DSH host (Node) ForgeView(conversation.view 页签) ├─ ContextPanel:解析记录卡片流 + 动态编辑 ├─ 草稿区:添加/修改/删除/注入按钮 ├─ sessionlog 文件选择 + 识别/修复预览 └── connection.rpc.call(AMF_RPC_CHANNEL) ──▶ /dsh-assistant-message-forge ├─ DraftStore(drafts.json) ├─ ContextRecordStore(context-.json + overrides) ├─ parseContext / surface replace apply ├─ parse/repairSessionLogBytes(node:zlib zstd) └─ injectMessage(session.append + flush)
- Host 半通过 ctx.connection.rpc.handle() 注册通用 Connection RPC 通道(loopback 信任边界),不修改 apiproxy 允许列表。
- Client 半注册 conversation.view 页签(scope: session),组件经 sessionId 标准 prop 拿到当前会话。
RPC 端点
通道:/dsh-assistant-message-forge
| endpoint | payload | 返回 |
| drafts/list | {} | AssistantDraft[] |
| drafts/save | { draft: { id?, title?, content, reasoning?, provider?, model? } } | 保存后的 AssistantDraft |
| drafts/delete | { id } | boolean |
| session/inject | { sessionId, message: { content, reasoning?, provider?, model?, usage? } } | { sessionId, turn, step, seq, messageId, flushed } |
| context/load | { sessionId } | 已记录的 ContextSnapshot 或 null |
| context/refresh | { sessionId } | 重新解析并记录后的 ContextSnapshot |
| records/update | { sessionId, key, patch } | 合并卡片 override 后的 ContextSnapshot |
| records/reset | { sessionId } | 丢弃全部 override 后的 ContextSnapshot 或 null |
| context/apply | { sessionId, key } | { sessionId, replacedSeq, newSeq, type, turn?, step?, flushed } |
| sessionlog/parse | { name, dataBase64 } | SessionLogParseResponse |
| sessionlog/repair-preview | { name, dataBase64 } | SessionLogRepairReport |
| sessionlog/repair-create | { name, dataBase64 } | { sessionId, flushed, report } |
错误统一走 RpcResult 的 { ok:false, error:{ code:'internal', ... } } 分支;参数校验失败、会话不存在、当前会话存在未闭合 turn 时都会返回可读 message。
卡片与修改语义
- 卡片解析覆盖:turn/start|end、step/start|end、user/message、 assistant/message(reasoning/text/provider/model/usage)、tool/call、 tool/result、request/header、request/context、其余 log-only 事件。
assistant/chunk 不逐条成卡,按轮统计 chunkCount。
- 记录优先:records/update 只改 override;之后 context/refresh 重新解析时会合并 override,不会丢。records/reset 丢弃全部记录修改。
- 应用到会话 = surface replace:对 user/message、assistant/message、 tool/result 追加一个 surfaceOp: {op:'replace', start:seq, end:seq} 事件,原节点被 shadow(模型 deriveMessages 用新内容),原始 append 事件仍保留在日志与官方对话流中;卡片流会同时显示「原始已被替换」和「替换生效」两张卡。
- tool/result 特殊限制:DSH surface 校验只允许改写 tool-result 的 content;message id/source/isError/error wrapper 必须保持原值,因此 isError 在记录里可改,但应用时按原值写回。
- 会话正在运行(存在未闭合 turn)时注入和应用都会拒绝,避免破坏执行边界。
- 导入识别的投影:识别结果把 content 块投影为 text + reasoning 两条; tool-call、image 等非文本块计数为 unsupportedBlocks,注入时不会携带。
- 传输上限:上传 base64 ≤ 128 MiB;解压后 ≤ 128 MiB;识别列表每批最多 200 条(truncated 标记)。
会话修复语义与边界
- 后写分支覆盖:物理日志出现 seq dsh web 是 --profile web 的硬别名;给自定义 profile 启动 Web 应用要用
pnpm dsh --profile --port ,并保证该 profile 的 dsh.profile.bundles
依次包含 @deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app、dsh-assistant-message-forge。
开发期热更
- Client 半:client-hmr 会 watch 所有已挂载 bundle 的 lib/client.js。改完 src/client/** 后
pnpm run build,浏览器自动拉取新 rev(本插件构建约 1 秒)。
- Host 半:web profile 的 loader HMR 关闭;改 src/index.ts / src/store.ts / src/sessionlog.ts 后需重启 dsh web。
E2E 冒烟
对运行中的实例执行按钮级验证(创建一次性会话 → 上下文刷新解析 → 助手卡片记录编辑/应用 → 丢弃记录修改 → 草稿添加/修改/注入 → 导入识别 → 损坏日志预览/创建修复会话 → 删除草稿):
$env:AMF_URL='http://127.0.0.1:3090'
$env:SESSION_LOG=$env:DSH_SESSION_JSONL
node scripts/e2e-smoke.mjs
脚本用 D:/codeproject/dsh-browser/node_modules/playwright(可用 PLAYWRIGHT_ROOT 覆盖),先经 RPC 创建一个 workspace-attached 的一次性会话再逐项点击中文 UI,避免污染真实会话;
PLAYWRIGHT_CHANNEL=chrome 可显式使用本机 Chrome,AMF_HEADED=1 可打开可见浏览器窗口。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
anweat/dsh-assistant-message-forge
解析会话上下文为卡片,动态编辑并应用到会话
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。