wechat-agent-router

DSH PLUGIN模型与账号接入

仓库 let-mi-think/wechat-agent-router

模型与账号接入 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

为 DeepSeek Harness 提供微信群级 Agent 路由:按群名匹配规则改写会话预设,零侵入复用微信助手逻辑。

一句话选型结论

按资料字段整理

wechat-agent-router 是模型与账号接入类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类模型与账号接入 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-09-18 创建于 2026-09-18
README 6.9 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:let-mi-think/wechat-agent-router
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.0-rc.1;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.0-rc.1版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

wechat-agent-router:为 DeepSeek Harness 按群名分配 Agent 预设

  • 按群名包含/精确匹配路由
  • 设置面板查看实际与目标预设
  • 补正空白会话的预设
  • 零侵入包装 sessions.create
  • 配置即时生效无需重启

适用场景

智能体编排

上游标签

dsh-plugin

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✕ 未通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 插件目录树加载失败
  • L5.3_HTTP_SERVED HTTP 服务响应
— · 其它检查项
  • L4_0_SANDBOX 沙盒安装判定 方式:沙盒安装执行

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.0-rc.1),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在模型与账号接入场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
wechat-agent-router当前 L4 · 沙盒安装通过 低风险 0 0.2.0-rc.1 有
archify L4 · 沙盒安装通过 低风险 8.0 万 未标注 有
DeepSeek-Reasonix L4 · 沙盒安装通过 低风险 3.6 万 未标注 有
nocobase L3 · 安装规范通过 低风险 2.5 万 0.1.1-rc.2 无
learn-harness-engineering L4 · 沙盒安装通过 低风险 2.0 万 未标注 有
dsh-our-free-model 未做沙盒验证 未标注 8,064 未标注 无

仓库档案

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方let-mi-think仓库 wechat-agent-router · 默认分支 main
分类模型与账号接入ai
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-09-18 · 2026-09-18最后推送 2026-09-18
本站收录2026-09-19首次进入本站目录的时间

README 全文

6.9 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-wechat-agent-router

按微信群名决定这条群会话用哪个 Agent 预设(DeepSeek Harness 插件)。只为了一件事:让配好提示词 / 知识库 / MCP 的 Agent 去接某些群的消息,其余全部复用 dsh-wechat-assistant 的逻辑。

安装

dsh plugin --profile web add dsh-wechat-agent-router

装完重启 dsh web,设置里会出现 微信路由 分区。

  • 宿主要求:dsh 0.1.0-rc.7(见 package.json 的 dsh.engines.dsh);Node ^22.19.0 || ^24.0.0。
  • 功能上依赖 dsh-wechat-assistant:本插件不监听、不收发消息,它只干预「这个群的会话用哪个预设」。
    没装微信助手时插件能正常加载,但没有任何群可路由(面板里的群列表会是空的)。
  • 客户端产物随包分发(lib/client.js 已提交),安装时不需要构建。

它做什么(以及刻意不做什么)

做 群名(包含 / 精确)→ Agent 预设 id 的路由;配置界面;把"还没聊过但预设不对"的空白会话补正过来
不做 监听群、读消息、@判定、引用/图片解析、队列串行、按日归档、分片回复、心跳重启、模型选择与配额降级 —— 这些全部仍是 dsh-wechat-assistant 的代码,本插件一行都不改、也不复制

所以本插件只有 host 平面 + 一个设置分区,没有任何 preset 平面(它从不进入 Agent 组合,只在 host 干扰"会话用哪个预设"这一个值)。

零侵入是怎么做到的

dsh-wechat-assistant 在创建群会话时点名了一个预设:

// src/bridge.ts(同事的代码,未改动)
unwrap(await ctx.apiProxy.sessions.create(request({
sessionId,
workspaceId: workspace.workspaceId,
agentPreset: 'wechat',
})))

本插件在 host 平面把 apiProxy.sessions.create 这一个方法包一层,按 sessionId 反查群名、算出目标预设、改写 agentPreset 后放行。依据(实测 dsh-host-apiproxy/lib/index.js):

  • 域是实例属性上的普通对象(this.sessions = api.sessions),方法可安全替换;
  • sessions.create 的契约写明"同一 sessionId 重试返回同一个会话"(幂等),所以对已存在的会话改写参数不会产生副作用;
  • sessions.list() 的条目带 blank(是否还没跑过 turn)与 agentPreset(当前实际在跑的),所以"该不该补正"是精确判断而不是猜;
  • 群与会话是一一对应的确定性关系:sessionId = 'wechat-group-' + sha256(群名).slice(0,32)(lib/router.js 里复刻,并有回归测试锁住字面量)。

生效语义(重要)

  • 只对"空白会话"生效:DSH 规定 agentPreset.select 仅允许在会话还没跑过 turn 时使用,聊过之后会返回 agent-preset-locked(历史里的工具调用属于旧组合,换掉会让日志自相矛盾)。
  • 因此本插件做两件事:① 包装 sessions.create,让新会话从一开始就用对的预设;② 启动后(以及每次保存配置后)扫一遍现有群会话,把 blank === true 且预设不对的补正过来。
  • 已有历史的群会话不会被改动,会一直保持原样(面板里显示「已有历史」)。这也是"只影响后续"的实现方式:不需要迁移历史,也不需要换 sessionId。
  • 改配置对新会话即时生效,无需重启 DSH。

配置

写在 ~/.dsh/settings.yaml 本插件自己的段里(不碰同事的 wechat-assistant 段,只读它的 groups 来知道有哪些群):

wechat-agent-router:
enabled: true            # 关闭 = 完全不干预
defaultAgent: ''         # 兜底;空串 = 不干预(沿用微信助手原本点名的 wechat)
rules:                   # 自上而下,第一条命中者生效
- match: 对接           # 群名关键字
mode: contains       # contains(默认,不区分大小写)| exact
agent: iot
- match: 群聊总结
mode: exact
agent: archive-agent

界面入口:设置 → 微信路由(与「Agent 管理」并列)。面板里能看每个监听群当前实际用的预设与路由算出的目标,以及是否对得上。

已知限制

  • 只能按群路由:粒度是"群 = 一条会话 = 一个 Agent",做不到"同一个群里按消息内容换 Agent"。
  • 不支持私信:dsh-wechat-assistant 的 Python 端只接受群聊目标(好友会话会直接报「监听目标不是群聊」),候选列表也只给群聊。要支持私信必须改它的传输层。
  • 不接管模型:桥接每条消息都会把模型强制 select 成全局 modelProvider/modelName,会覆盖 Agent 预设里的模型设置。想让模型也跟着路由走,需要额外处理。
  • 依赖 sessionId 方案:群名反查靠复刻的 sha256('wechat-group-'+…)。若上游改了算法,路由匹配不到群 → 自动退化为"不干预"(不会报错,但也不生效);tests/router.test.mjs 用字面量锁住这个值就是为了尽早发现这种漂移。
  • 包装失败(apiProxy 形状变了等)时明确报告而不是静默:日志里会有 会话预设包装未安装:…,面板顶部也会给出提示。

开发

npm install          # 需要 devDependencies(tsdown / typescript / @types/*)
npm run build        # 产出 lib/client.js(已随仓库提交,运行时无需构建)
npm run typecheck
npm test             # node --test tests/*.test.mjs

host 半是免构建的 lib/*.js;只有浏览器半需要 tsdown 打包,再由 scripts/wrap-client.ts 包成
DSH 的 window.__ModuleLoader__.load 形状。npm publish 前 prepack 会自动跑一次构建。

上架(awesome-dsh-plugin / dsh-market)

插件市场里的列表来自精选列表仓库 awesome-dsh-plugin,
收录方式是往那边提 PR 新增一个条目文件(不是往 dsh-market 提):

  1. fork 该仓库,把本仓库的 contrib/let-mi-think__wechat-agent-router.yml 复制成 data/plugins/let-mi-think__wechat-agent-router.yml(文件名必须与仓库一致);
  2. PR 前确认本仓库已声明 dsh.bundle 且根目录有 cordis.patch.yml(两个都已具备);
  3. 给 GitHub 仓库加 dsh-plugin topic,并确保仓库创建已满 1 天(CI 会检查);
  4. 提 PR(一个 PR 最多 3 条,且只改自己那一条)。合并后站点与市场的 README 会自动重建,不要手工编辑那边的 README。

npm 包不是收录的必要条件,但发了才能显示下载量:npm publish 后映射会被自动采集
(条目里不要写 npm: 键,写了会被校验拒绝)。本仓库的 repository 已指向自己,
prepack 会在发布前自动跑一次构建,lib/ 也已随仓库提交,因此从 npm 安装无需构建。

许可

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
wechat-agent-router 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:let-mi-think/wechat-agent-router` 即可。

wechat-agent-router 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

wechat-agent-router 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

wechat-agent-router 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

wechat-agent-router 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.1。

wechat-agent-router 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

wechat-agent-router 有哪些功能?

按群名包含/精确匹配路由、设置面板查看实际与目标预设、补正空白会话的预设、零侵入包装 sessions.create、配置即时生效无需重启。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

模型与账号接入
按星标排序,可作替代方案

archify

archify

从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

L4 · 沙盒安装通过 8.0 万 星

nocobase

nocobase

L3 · 安装规范通过 2.5 万 星

dsh-our-free-model

dsh-our-free-model

为 DeepSeek Harness 挂载免登录、免 API Key 的免费前沿模型通道,装完即用,并附用量看板与 OpenAI 兼容本地转

未标注验证等级 8,064 星

dsh-purge

dsh-purge

dsh-purge 是一款 DeepSeek Harness 设置插件,可修改默认副本、权限策略和工具限制,并添加规则卡片以分组应用补丁,支

L5 · 运行验证通过 4,573 星

let-mi-think 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。