Replies: 6 comments 3 replies
|
一样的,相同问题 |
|
补充一份定位 + 量化证据(Linux x64 / Node v24.16.0 / web profile / host 1. 抛出点
2. 表现 A —— 本轮运行失败(写侧)插件注入的消息仍带旧 wrapper,提交时被上面那道门拒掉 → 整轮失败。插件侧的同类 issue 已经在生态里各自开了(可交叉确认这不是单个插件):
3. 表现 B —— 升级前的历史会话全部打不开(读侧,本条新增证据)文件名即格式世代( return generation === 0 ? "session.jsonl" : `session.v${generation}.jsonl`;→ 0 代会话落在 扫描器逐行顺序( assertV4RowAdmission(decoded, KNOWN_SESSION_EVENT_TYPES); // :1093 —— 先过 v4 准入门
…
this.restore.decodeRow(decoded); // —— 之后才跑 v0→v4 迁移0 代行里的 0 代语法在门这里就被拒, 4. 量化(单台机器实测)
单个 70928 行大会话里 289 条违规消息的 producer 分布: 其中一半是官方自己的生产者 → 这是历史数据,不是某个插件的锅。 5. 可复现 oracle(只读,不写盘)// 用 core 自己导出的断言,避免自造规则造成误判
import { assertV4RowAdmission } from "file:///…/@deepseek-ai/dsh-session-format-v3-to-v4/lib/index.js";
for (const line of /* zstd -dc session.jsonl.zstd 的每一行 */) {
try { assertV4RowAdmission(JSON.parse(line)); }
catch (e) { /* 0 代行正是在这里被拒:本条即复现 */ }
}抽样 40 个文件全部在此抛错;同一份内容按 6. 建议修法
在当前实现下,任何在 0.1.7 之前产生过会话的用户都没有出口: |
|
我也遇到同样的问题,回退后让 DSH 自己倒查了一下原因: 症状升级后能正常启动、能开会话、能发消息,但每一轮都失败: 底层为 1. 报错来自哪里0.1.7 新增了 const value = message["source"];
if (!isSessionFormatJsonObject(value) || typeof value["kind"] !== "string" || value["kind"].length === 0 || value["kind"] === "plugin")
throw new SessionFormatError("format v4 message requires a producer-owned source kind");规则只有三条:
即 V3 时代的「插件包装」写法 2. 为什么"能启动但每轮任务失败"
但实时新产出的消息不走迁移,直接按 V4 校验。所以任何插件只要还在实发 3. 我们环境里的违规产出方是第三方插件
对照之下,0.1.7 的一方包已经改完: 4. 一条命令自查你的环境grep -rn 'kind: *"plugin"' ~/.dsh/profiles/*/node_modules --include=*.mjs --include=*.js有输出 → 那个包就是打死每一轮的元凶。 也可以直接统计会话日志里的旧形态记录(0.1.6 写的是 for f in ~/.dsh/sessions/*/session-*/session.v*.jsonl.zstd; do zstd -dc "$f"; done 2>/dev/null \
| grep -o '"kind":"plugin","plugin":"[^"]*"' | sort | uniq -c | sort -rn5. 修法让产出方改用 V4 的 kind:
围绕 6. 顺带提醒:别把"启动失败"和这个错混在一起我们还遇到两个与 source kind 无关的启动问题,症状都出现在"还没进入一轮对话"之前:
7. 给维护者的一个小建议(可选)现在这个报错只说"缺 producer-owned source kind",不指出是哪个事件、哪个产出方。若诊断信息能带上事件类型 / |
|
所以是Openviking插件的问题? |
|
这样搞 做插件的难受 用户也难受 哎 |
|
补一个不同角度的证据:这不是「某个插件坏了」,而是格式契约和插件扩展位之间的冲突。我们在一套本机定制上撞到了同一面墙。 现场:0.1.7 删掉共享的 想请教的是:插件要给这个联合扩展成员时,官方期望的做法是什么?
另外 #8094 里那条 我们这边的完整清单(0.1.6 / 0.1.7 各 4 条,带出处)整理在 #8096。 |
Uh oh!
There was an error while loading. Please reload this page.
使用DSH@v0.1.7-alpha.1版本,响应报错:format v4 message requires a producer-owned source kind
回退到DSH@v0.1.6-alpha.2版本是正常的,可以正常使用
All reactions