dsh-short-tool-ids
在终端中运行以下命令:
dsh plugin install mrbeandev/dsh-short-tool-ids
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install mrbeandev/dsh-short-tool-ids 安装本插件,源码见 https://github.com/mrbeandev/dsh-short-tool-ids。
插件介绍
部分 OpenAI 兼容的 Chat Completions 提供方会拒绝长度超过 64 字符的工具调用 ID,而会话历史里可能已经积累了更长的 ID(例如 81 字符)。一旦每次新回合都会把这段历史重新发出去,请求就会在模型回复之前就失败,聊天看起来像是「再也发不出消息」。内置 pi-ai 只在特定条件下缩短 ID,自定义提供方名称或同模型历史往往仍踩坑,这个插件就是为补上这一缺口而做的定向变通方案。
插件只作用于使用 openai-completions 协议的 pi-ai 提供方:在出站请求里把超过 64 字符的普通 ID 缩短为固定格式(call_ 加 48 位 SHA-256 十六进制,共 53 字符),并让对应的工具结果使用同一 ID。已保存的会话文件不会被改写;合法 ID、参数、输出与回放元数据保持原样,对 0.1.5 与 0.1.7+ 两种历史格式都能处理。若缩短后可能与其他 ID 冲突,或遇到不宜安全重写的签名/原生历史,插件会拒绝请求而不是错配结果。
在设置里打开独立的「Short tool-call IDs」页,按提供方逐个开关(默认关闭),从下一次请求起生效,无需重启。非 pi-ai 提供方会列出但不可操作;其他协议会标明不受影响。适合正在对接兼容 OpenAI 的网关、因 tool-call ID 长度报错而卡住现有会话、又希望只对自己信任的提供方启用改写的 DSH 用户。
使用场景
- 自定义或第三方 OpenAI 兼容网关因 tool-call ID 超过 64 字符而拒绝请求
- 已有会话历史含超长 ID,每轮重发导致聊天无法继续
- 需要仅对特定 pi-ai 提供方启用缩短,而不改动已保存的会话文件
适合人员
- 使用 pi-ai 对接 openai-completions 协议的 DSH 用户
- 因 ID 长度限制导致对话中断、需要恢复可用会话的用户
- 愿意在设置中按提供方单独开关实验性变通方案的用户