Repository navigation
Releases
Releases · Nicolas-One/dsh-llm-sub2api-dsml
v0.2.1-rc.5.1
v0.2.1-rc.5.1
要求 DSH >=0.2.1-rc.3,Node.js >=22.19.0。
验证
- 本地 Linux / DSH LLM rc.5:32 项测试通过。
- 包含官方 SSE、宿主组装、工具结果回传和泄漏形态回归。
- rc.3/rc.5 与 Node.js 22.19.0/24 兼容矩阵由 CI 执行。
- 尚未验证 Windows 桌面端及全部真实上游渠道。
安装
下载 Release 附件后执行:
dsh plugin --profile web add ./dsh-llm-sub2api-dsml-0.2.1-rc.5.1.tgz将 web 替换为实际 profile。完整合法 DSML 可转换为工具调用;
残缺标签不会猜测补全,未知语法只做脱敏观测。
许可证:MIT,作者:wwj。
v0.2.1-rc.5
v0.2.1-rc.5
本版本完善 DeepSeek DSML 兼容处理,继续按模型 ID 自动匹配现有 provider,无需单独模型分组。
变更
- 支持
|DSML|和||DSML||两种标记及跨分片解析。 - 清理响应尾部严格匹配的孤立
parameter → invoke → calls闭合标签,保留前面的正常正文。 - 清理后没有可见正文时返回 DSH 的
EMPTY_RESPONSE,由宿主 retry policy 决定是否重试及次数,避免当作正常完成。 - 完整合法调用仍须通过当前工具 schema 校验,再转换为 DSH 原生工具事件;工具执行和权限检查由宿主负责。
- 提供 GitHub Release 安装包及 SHA-256 校验文件。
安装要求
- DSH
>=0.2.1-rc.3,Node.js>=22.19.0。 - 使用已经配置的 provider,模型 ID 包含
deepseek(不区分大小写)。 - 下载附件后安装到目标 profile:
dsh plugin --profile web add ./dsh-llm-sub2api-dsml-0.2.1-rc.5.tgzweb 替换为实际 profile。加载新插件配置后生效;需要重启时请先安排正在运行的任务。
验证与限制
- Linux 下使用真实 DSH LLM 运行时和官方 pi-ai 适配器,完成本地模拟 HTTP/SSE、工具结果续轮等 20 项测试;已验证 DSH LLM
0.2.1-rc.3与0.2.1-rc.5。尚未验证 Windows 桌面端,也未以真实上游覆盖所有渠道。 - 清理依据标签结构,无法识别回答语义。未放入代码围栏、恰好位于尾部的三行讨论示例也可能被清理;时间戳残句等非空文本会保留,不会触发空回复重试。
- 本次未确认 DSML 泄漏的上游根因;不设置推理强度,也不修复
content[].thinking must be passed back等历史回传问题。 - 转换或清理后丢弃旧
replayState,后续由原适配器按标准历史序列化;提前结束上游流时仅保留已收到的 usage。
许可证:MIT,作者:wwj。
按模型 ID 自动匹配 DeepSeek 模型,将完整合法 DSML 工具调用转换为 DSH 原生工具调用
v0.2.1-rc.3.1
更新内容
- 根据模型 ID 自动识别 DeepSeek 模型,支持任意 provider,无需配置提供商名单。
- 将 reasoning 或 text 中完整且合法的 DSML 工具调用转换为 DSH 原生工具调用。
- 支持跨 SSE 分片解析及单轮多个工具调用。
- 按当前请求中的工具 schema 校验调用参数;遇到无效调用时明确报错,不猜测或补全参数。
- 保留正常文本和原生工具调用的流式行为。
- 增加 DSH bundle 配置、安装示例与 GitHub Actions CI。
兼容性与限制
- 适用于 DSH 0.2.1-rc.3,Node.js >=22.19.0。
- 插件只转换工具调用格式,不负责执行工具;执行及权限检查由 DSH 处理。
- 不解决所有 thinking 历史回传问题。
安装
下载附件 dsh-llm-sub2api-dsml-0.2.1-rc.3.1.tgz 后执行:
dsh plugin --profile add ./dsh-llm-sub2api-dsml-0.2.1-rc.3.1.tgz
v0.2.1-rc.3
修复
- 识别 reasoning 和 text 中泄漏的
<|im_start|>tool:run_code等 ChatML 工具头,及时关闭上游流,避免持续生成重复的伪工具调用。 - 返回明确的
CHATML_TOOL_LEAK错误并保留诊断块;不猜测工具参数,不执行泄漏文本中的原始代码。 - 支持工具头跨分片和仅在
block-end出现的情况;代码围栏内示例、行内讲解和普通 ChatML 对话保持原样。 - 保留完整 DSML 工具调用恢复和
<think>...</think>思考段隐藏功能。
兼容性与验证
- 插件版本:
0.2.1-rc.3;支持 dsh:0.2.1-rc.2。 - 25 项单测及真实 Cordis、BlockAssembler、已安装 artifact guard 集成验证通过。
- GitHub 发布工作流在 Node.js 20、22、24 的单测全部通过后创建版本。
已知边界
- ChatML 保护用于停止无结构伪调用的重复输出,不会把原始代码恢复成工具调用;完整 DSML 仍可按现有条件恢复。
- 本版本不修复 dsh 宿主因复用原生调用 ID 而出现的
PTC dispatch repeats subCallId历史校验问题,也不修改已有会话文件。