这个插件重点不在功能清单有多长,而在消息不丢。…
33.6/100
综合分
5
GitHub 星标
3,077
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-channel-wechatnpm 源 · dsh-channel-wechat 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-channel-wechat @ 0.2.7
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 20:43:38
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 24 处,展示前 20 条)
- 读取本地文件lib/index.js:1151
raw = readFileSync(cursorFilePath(this.stateDir, accountId), "utf8"); - 写入本地文件lib/index.js:1168
mkdirSync(this.stateDir, { recursive: true }); - 写入本地文件lib/index.js:1171
writeFileSync(scratch, `${JSON.stringify({ cursor })}\n`, { mode: 384 }); - 写入本地文件lib/index.js:1172
renameSync(scratch, target); - 删除本地文件lib/index.js:1179
rmSync(cursorFilePath(this.stateDir, accountId), { force: true }); - 读取本地文件lib/index.js:1328
raw = readFileSync(peerSessionFilePath(this.stateDir), "utf8"); - 写入本地文件lib/index.js:1368
mkdirSync(this.stateDir, { recursive: true }); - 写入本地文件lib/index.js:1375
writeFileSync(scratch, `${JSON.stringify(body)}\n`, { mode: 384 }); - 写入本地文件lib/index.js:1376
renameSync(scratch, target); - 读取本地文件lib/index.js:1625
for (const entry of readdirSync(options.dir)) { - 删除本地文件lib/index.js:1628
rmSync(join(options.dir, entry), { force: true }); - 读取本地文件lib/index.js:6609
info = await stat(path); - 读取本地文件lib/index.js:6614
return await realpath(path); - 读取本地文件lib/index.js:7137
return await readFile(path); - 发起网络请求lib/client.js:416
fetch(ROUTES.status, { cache: 'no-store' }) - 发起网络请求lib/client.js:437
return fetch(path, { method: 'POST', body: body }) - 发起网络请求lib/client.js:558
fetch(ROUTES.models, { cache: 'no-store' }) - 发起网络请求lib/client.js:924
fetch(ROUTES.updateCheck, { cache: 'no-store' }) - 发起网络请求lib/client.js:931
return fetch(ROUTES.updateCommand, { cache: 'no-store' }) - 写入剪贴板lib/client.js:953
navigator.clipboard.writeText(text).then(done, failed);
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-agent-loop-testkit@deepseek-ai/dsh-attachment@deepseek-ai/dsh-cmdline@deepseek-ai/dsh-credentials@deepseek-ai/dsh-credentials-local@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-llm@deepseek-ai/dsh-llm-replay@deepseek-ai/dsh-session给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
dsh-channel-wechat 把微信接入 dsh,让智能体收发微信消息。
最近更新
在 GitHub 查看全部 →v0.2.82026-10-28
· 变更
· 提问卡的答案可以是你自己写的话,不再局限于选项编号;多题卡按行或 | 分隔,一行一题。
· 提问卡新增卡片级选项 0:换成对话,整张卡作废,下一条普通消息直接进入对话。
· /stop 现在会作废该会话所有待确认的卡片,并在回复里说明作废了几张。之前停止后卡片仍留在那里,回答它会被当成有效决定——那一轮其实早已结束。
· 多张卡片同时出现时一次只显示一张,标题带「第 N/M 张」,答完当前这张再发下一张。每张卡的超时从它显示时才起算。
· 审批卡仍只接受三个内置选项;对审批有不同意见,请直接发消息说明。
· 兼容性
· DeepSeek Harness:>=0.2.0-rc.1
· Node.js:^22.19.0 或 >=24.0.0
· 验证
· pnpm build:通过
· pnpm typecheck:通过
· pnpm test:all:909 passed(本次发布未重跑,结果来自合并到 main 之前与之后的两次完整运行)
· 安装
dsh plugin --profile add dsh-channel-wechat@0.2.8
完整安装、配置和已知问题见 README。
v0.2.72026-10-24
· 变更
· 只有扫码登录的那个微信号能驱动这个机器人。其他人发来的消息不建会话、不执行命令、也不回复,只在插件日志里留一行带对方 id 的记录。默认零配置即可用;要授权别人,在插件页「允许使用的人」里一行填一个 id。
· 填入名单后以名单为准,登录者不再自动包含——页面上写的名单就是实际放行的人。
· 桌面端 Web app 已打开的会话,通道现在会接管它继续用,而不是在写租约冲突时把每条入站消息都丢掉(表现为「发了没反应」)。
· 「允许使用的人」支持一行一个 id 粘贴,不再被单行输入框合并。
· 兼容性
· DeepSeek Harness:>=0.2.0-rc.1
· Node.js:^22.19.0 或 >=24.0.0
升级提示:默认行为是只放行登录账号。若你有第二个微信号一直在用这个机器人,升级到本版本后需要把它的 id 填进 allow,否则它发来的消息会被静默拒绝。
· 验证
· npm publish --dry-run:tarball 含 lib/index.js、lib/index.d.ts、lib/client.js、两个 README、LICENSE、第三方声明与 bundle 配置。
· npm view dsh-channel-wechat dist-tags:latest 已指向 0.2.7。
· 本次按用户要求跳过了 pnpm build / pnpm typecheck / pnpm test:all 的全量重跑;合并前在 main 上跑过一次全量(61 files / 851 tests 全过)。
· 安装
dsh plugin --profile add dsh-channel-wechat@0.2.7
完整安装、配置和已知问题见 README。
v0.2.62026-10-23
· 变更
· 新增 /cwd :在微信里切换工作目录。会话的 cwd 写入后不可修改,所以这是「结束当前会话、在新目录开始新对话」,历史不会跟过来;切换结果跨重启保留。
· 新增 /skills:列出可调用的技能名称(只列用户可调用的)。技能现在可以直接当命令发,例如 /release-workflow,这一行会作为普通消息交给模型,而不是被当作未知命令拒掉。
· 新增 /h 作为 /help 的别名。
· 修复:回复不再只发「一句话 + 冒号」。此前每条 assistant/message 里的旁白都当成回答发出去,真实会话里 46 条此类消息有 40 条以冒号结尾,而正文是永远不会发送的工具参数。现在只有一轮结束时的纯文本回答会发出。
· 修复:长回答不再整条丢失。此前超过服务端接受长度的正文会被直接拒绝(微信没有重放),现在按段落/行/句子切成多段发送,并正确闭合跨段的代码围栏。
· 修复:ret: -2 限流不再三次 1 秒重试后静默丢弃,改为识别限流后按 2s→4s→8s→16s 退避,并主动把同一 peer 的发送间隔控制在 2 秒以上。
· 修复:宿主未提供 listRecords 时通道不再反复崩溃,改为报告「无法发现已存登录」并继续可用。
· 修复:关闭顺序改为先等轮次结算再 drain 回复队列,正在结算的那条回复不会再被吞掉;等待有 10 秒上限,卡死的轮次不会拖住宿主退出。
· 修复:微信里 /stop 中断的轮次不再回一条空消息。
· 兼容性
· DeepSeek Harness:>=0.2.0-rc.1
· Node.js:^22.19.0 || >=24.0.0
目录切换后沙箱写入边界仍按会话创建时的 cwd 判定,这是 Harness 侧行为,已在 commands 文档 记录。
· 验证
· pnpm test:all:60 个文件 / 828 项通过(含真实 launcher 的集成测试)
· pnpm typecheck:通过
· pnpm build:通过
· 安装
dsh plugin --profile add dsh-channel-wechat@0.2.6
完整安装、配置和已知问题见 README。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-channel-wechat
把微信(腾讯 iLink / ClawBot)接入 DeepSeek Harness 的通道插件。一个 npm 包同时提供 Harness bundle 和 GUI 浏览器端,运行在 Harness 进程内。
这个插件重点不在功能清单有多长,而在消息不丢。 一轮结束时的回答才发出(旁白和工具参数不会被当成回答),超长正文按段落切开,而不是整条被服务端拒绝,ret: -2 限流按 2s→4s→8s→16s 退避,而不是重试三次后静默丢弃。这三条都有测试钉住,改坏时 CI 会失败。
| 微信里对话 | 微信里审批 | 插件页 |
| 直接在聊天里问、让它干活,回复回到微信 | 审批卡和提问卡转发到微信,回复编号即可 | 扫码登录、工作目录、卡片投递位置、权限、模型 |
能做什么
- 微信文本、图片、文件等消息与 DSH 双向收发。
- 微信消息进入 DSH 会话,回复从 session/event 回到微信。
- 微信内置命令(/help、/skills、/cwd、/models、/model、/status、/stop、/new)、审批卡和提问卡。
- 只有扫码登录的那个微信号能驱动这个机器人;其他人发来的消息不建会话、不执行命令、也不回复。
展开完整文档(README 剩余 1 节)
dsh-channel-wechat 把微信(腾讯 iLink / ClawBot)接入 DeepSeek Harness 的通道插件。一个 npm 包同时提供 Harness bundle 和 GUI 浏览器端,运行在 Harness 进程内。 这个插件重点不在功能清单有多长,而在消息不丢。 一轮结束时的回答才发出(旁白和工具参数不会被当成回答),超长正文按段落切开,而不是整条被服务端拒绝,ret: -2 限流按 2s→4s→8s→16s 退避,而不是重试三次后静默丢弃。这三条都有测试钉住,改坏时 CI 会失败。 | 微信里对话 | 微信里审批 | 插件页 | | 直接在聊天里问、让它干活,回复回到微信 | 审批卡和提问卡转发到微信,回复编号即可 | 扫码登录、工作目录、卡片投递位置、权限、模型 | 能做什么 - 微信文本、图片、文件等消息与 DSH 双向收发。 - 微信消息进入 DSH 会话,回复从 session/event 回到微信。 - 微信内置命令(/help、/skills、/cwd、/models、/model、/status、/stop、/new)、审批卡和提问卡。 - 只有扫码登录的那个微信号能驱动这个机器人;其他人发来的消息不建会话、不执行命令、也不回复。 - /cwd <绝对路径> 在微信里切换工作目录:结束当前会话,在新目录开始新对话,切换跨重启保留。 - 审批卡可直接把当前会话切到完全权限;生成期间微信显示「对方正在输入」。 - 提问卡的答案可以是选项编号,也可以是你自己写的话;卡片上的 0 表示「换到对话里说」,整张卡随即作废。 - 多张卡片同时出现时一次只显示一张(标题带「第 N/M 张」),答完当前这张再发下一张;/stop 会一次性作废该会话所有待确认的卡片。 - GUI 插件页扫码登录、退出登录、配置工作目录、卡片投递方式、模型和权限。 - 长轮询与会话处理解耦;诊断写入终端和插件日志。 群聊、运行期多账号、主动推送和独立权限系统不在当前范围内。 环境要求 | 组件 | 要求 | | Node.js | ^22.19.0 或 >=24.0.0 | | pnpm | 11(仓库声明 pnpm@11.7.0) | | DeepSeek Harness | >=0.2.0-rc.1 | 安装门槛来自 package.json 的 engines;已验证版本和未验证范围见 兼容性说明。 快速开始 1. 确认 profile 已有一个你希望用于微信会话的工作目录。 2. 安装插件并重启 DSH: dsh plugin --profile <你的 profile> add dsh-channel-wechat 3. 打开 GUI 的 Plugins → dsh-channel-wechat,点击登录微信,使用手机扫码;需要验证码时在页面输入。 4. 从微信向 bot 发一条消息,确认 DSH 回复返回微信。 安装后必须完全退出并重启 DSH,宿主才能发现浏览器端配置页。刚发布版本若被 pnpm 的观察期跳过,可使用: dsh plugin --profile <你的 profile> add dsh-channel-wechat@latest --config.minimumReleaseAge=0 配置 GUI 页面可编辑全部配置。也可以在 profile 的 cordis.patch.yml 中写: - id: channel-wechat config: cwd: /你的/工作目录 cards: wechat provider: '' model: '' permission: workspace-write cwd 必须是绝对路径;它在会话创建时写入且不可变,修改只影响之后的新会话。完整字段、默认值和权限边界见 配置参考。 allow 决定谁能用这个机器人。留空时只放行扫码登录的那个账号,这是零配置的默认值;要授权别人,在插件页的「允许使用的人」里一行填一个微信 id。填入名单后以名单为准,登录者不再自动包含——被拒的消息不会回复,只在插件日志里留一行带对方 id 的记录,那个 id 就是填进名单的值。 没有 web app 的配置档可以使用终端登录: dsh <profile> login dsh <profile> status dsh <profile> logout web/desktop 配置档的启动器会先拒绝 login 位置参数,请改用 GUI 登录。 数据与日志 | 内容 | 位置 | | 会话记录 | ~/.dsh/sessions/<cwd 转义>/channel-wechat-<peerId>[~g<N>]/session.v4.jsonl.zstd | | 插件状态 | ~/.dsh/channel-wechat/ | | 诊断日志 | ~/.dsh/channel-wechat/log/channel-wechat-YYYY-MM-DD.log,保留 7 天 | | 登录凭证 | ~/.dsh/.credentials.yaml | 聊天记录由 DSH 持久化,/new 只创建新的会话代次,不删除旧记录。排障时不要分享 token、Cookie 或凭证文件内容。 常见问题 - 插件页没有配置区:完全退出并重新打开 DSH,见 故障排查。 - 登录命令报参数错误:web/desktop 只支持 GUI 登录。 - 消息没有回复:先查插件日志、账号状态和 cwd 是否为绝对路径。 - 引用或媒体降级为文本:部分引用字段和服务端 uint64 消息 id 是已记录限制,详见故障排查。 文档索引 用户指南 - 安装方式补充 - 微信内命令 - 实践文章:一个通道插件里失败时不报错的坑 - 配置参考 - 兼容性与验证范围 - 故障排查 获取帮助 请先查看故障排查和插件日志。仍未解决时,请在 GitHub Issues 提供 DSH 版本、插件版本、配置档类型、复现步骤和脱敏日志;不要提交 token、Cookie 或凭证文件。 开发与设计 - 开发与验证 - 架构概览 - 已交付能力 - 实施方案与决策台账 - 不变量说明 - 协议文档 - 需求规格 - 侦察报告 - 开发日志 - 发布流程 - 贡献指南 贡献与维护 欢迎通过 GitHub Issues 报告问题或提出建议,也可以提交 Pull Request。提交前请阅读 开发与验证,并运行构建、类型检查和相关测试。项目维护者与仓库信息见 GitHub repository。 本地开发 pnpm install pnpm build pnpm typecheck pnpm test pnpm test:integration 集成测试使用隔离的临时 DSH_HOME,默认寻找本地 DeepSeek Harness checkout;需要时设置 DSH_CHECKOUT=/path/to/deepseek-harness。详细说明见 开发与验证。 许可证与第三方声明 本项目使用 MIT,第三方代码和完整版权声明见 LICENSE 与 THIRD_PARTY_NOTICES.md。协议实现参考腾讯的 openclaw-weixin。 友链 - LINUX DO — Where possible begins
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
wangx-wx/dsh-channel-wechat
这个插件重点不在功能清单有多长,而在消息不丢。…
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,778已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7