跳到正文

sulfide2085/dsh-llm-wechat

60最近提交 2026年8月14日

dsh-llm-wechat DSH 插件

本插件为 DeepSeek Harness (DSH) 添加微信网关适配器,使 DSH 可将微信小程序的 Deepseek-v4-flash 模型当作官方 DeepSeek 使用。它在流式响应中拦截并剥离思考标签,将其放入 reasoning_content,同时修复工具调用 delta 的 id/name 为空问题。安装后模型选择器自动显示推理等级下拉(off/high/max)。

如何安装 dsh-llm-wechat DSH 插件

dsh plugin --profile web add ./dsh-llm-wechat

复制不会执行命令。安装 dsh-llm-wechat DSH 插件前请核对仓库和版本。

dsh-llm-wechat DSH 插件数据来源

dsh-llm-wechat DSH 插件快照日期:2026年8月16日

discovered

dsh-llm-wechat DSH 插件能做什么

  • 剥离思考标签并重排到 reasoning_content,实现思考块正确显示
  • 修复工具调用流式 delta 中 id/name 被 null 覆盖的问题
  • 自动在模型选择器暴露推理等级下拉(off/high/max)
  • 追加 system 提示增强工具调用遵循能力
  • 可配置请求超时和重试策略以应对微信网关限制

dsh-llm-wechat DSH 插件适合哪些场景

  • 在 DSH 中使用微信提供的 Deepseek-V4-Flash 作为 LLM 后端
  • 在 DSH UI 中正确显示微信通道的思考块
  • 通过微信通道启用工具调用(函数调用)
  • 利用微信模型运行 DSH agent(注意配额限制)

dsh-llm-wechat DSH 插件适合谁

  • 希望使用微信 Coding Plan Deepseek 模型的 DSH 用户
  • 将微信 LLM 能力集成到 DSH 工作流的开发者

dsh-llm-wechat DSH 插件的限制

  • 微信网关有 60 秒请求超时;'max' 推理档位易超时失败
  • 每 5 小时约 1200 请求配额,并发上限 6
  • 微信模型不支持图像输入,插件仅限文本
  • 插件复制了官方 dsh-llm-deepseek 的私有代码,DSH 大版本升级后需手动对齐

dsh-llm-wechat DSH 插件的仓库 README 摘录

以下文字摘自 dsh-llm-wechat DSH 插件的上游仓库 sulfide2085/dsh-llm-wechat 的 README,版权归原作者,仅作引用。

中文 | [English](README.en.md) > 独立公开仓库:本插件从项目内独立维护,源码位于 `dsh-llm-wechat` 仓库。 DeepSeek Harness 的**微信网关适配插件**:让 DSH 把微信小程序「Coding Plan」的 Deepseek-v4-flash(chatapi.weixin.qq.com)当作官方 DeepSeek 使用——思考进思考块、工具调用正常、正文无标签。 复用官方 `dsh-llm-deepseek` 的 `DeepSeekAdapter`(请求序列化、错误映射、模型解析、重试策略全部继承),只在响应侧加了一层**流式转译**。**不修改任何 DSH / pi-ai 源码。** ## 为什么需要这个插件 微信网关的返回有三个官方 DeepSeek 没有的怪癖,DSH 原生解析器无法处理: | 微信的怪癖 | 插件处理 | |---|---| | 思考内容不放 `reasoning_content`,而是连同 `</think>` 标签**整个塞进 `content`** | 流式拦截器把 `</think>` 之前的文本剥离并重排进 `reasoning_content`,正文只留纯净答案 | | 工具调用流式 delta 的后续片段**显式发 `id: null` / `name: null`**,覆盖首个 delta 的正确值 | 只接受非空字符串更新 id/name | | DSH 的工具结果以 `tool-result` 块存放,序列化时需展开为 `role: tool` 消息 | 对齐官方完整版(含 `(no output)` 兜底) | ## 工作原理 ``` 微信流: "We need answer... final. </think>141.3717" (思考+标签全在 content) │ ▼ WechatAdapter.request(拦截器:parseSse 与 translate 之间) DSH 流: reasoning_content: "We need answer... final." content: "141.3717" (标准格式,DSH 上层无感) ``` - **请求侧**:微信端点协议与官方 DeepSeek 完全一致(OpenAI 兼容),原样透传,仅映射思考档位 `off/high/max` → `thinking: {type}` + `reasoning_effort`。 - **响应侧**:`translate` 前插入 `ThinkTagSplitter` 状态机(处理标签跨 chu

阅读完整 README仓库未声明许可,使用前请先与作者确认。

dsh-llm-wechat DSH 插件常见问题

如何安装 dsh-llm-wechat 插件?

可以使用 `dsh plugin --profile web add ./dsh-llm-wechat` 命令从本地目录安装,或者发布到 npm 后使用 `dsh plugin --profile web add @deepseek-ai/dsh-llm-wechat`。安装后需要在 `.credentials.yaml` 中设置 `WECHAT_API_KEY`,并可选在 `settings.yaml` 中配置 `llm-wechat:` 段。最后重启 DSH web profile 即可生效。

如何配置 API Key 和插件设置?

在 `$DSH_HOME/.credentials.yaml` 中写入 `WECHAT_API_KEY: <你的微信 Token>`,或者通过环境变量 `WECHAT_API_KEY` 设置。然后在 `settings.yaml` 中添加 `llm-wechat:` 段,可配置 `thinking`、`reasoningEffort`、`maxTokens` 等选项。设置支持热加载,无需重启 DSH。

为什么模型选择器里没有显示推理等级下拉?

推理等级下拉仅由本插件注册的 wechat provider 提供。如果你之前通过 `llm-pi-ai.providers.weixin` 或其他方式配置过微信,必须删除旧配置,否则选择器里会出现重复条目且旧组无等级。删除旧配置后安装插件,下拉菜单(off/high/max)会自动出现。

使用 'max' 推理档位时经常超时,怎么办?

微信网关有 60 秒硬超时,'max' 档位思考时间较长,容易触发 `TIMEOUT` 错误。建议日常使用 'high' 档位,兼顾思考深度和成功率。你也可以在设置中增大 `requestTimeoutMs`(默认 55s)到接近 60s,但网关超时无法避免。如需使用 'max' 档,请接受较高的失败率。

我之前通过 pi-ai 配置了微信,需要删除吗?

是的,必须删除。如果你之前有 `llm-pi-ai.providers.weixin` 配置,必须删除后再安装本插件,否则 DSH 会报 `DUPLICATE_ADAPTER` 错误,因为新旧配置都试图注册同一个路由。删除旧配置后安装插件,重启 DSH 即可。