扫码把微信变成可跨端续接的会话入口
27.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add bwhite55/dsh-wechat-pro该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 18 处,展示前 18 条)
- 读取本地文件dist/channel/engine.js:81
this.syncBuf = (await readFile(this.syncBufFile, 'utf8')).trim(); - 写入本地文件dist/channel/engine.js:88
await mkdir(path.dirname(this.syncBufFile), { recursive: true }); - 写入本地文件dist/channel/engine.js:89
await writeFile(this.syncBufFile, this.syncBuf, 'utf8'); - 删除本地文件dist/channel/engine.js:256
await rm(this.authFile, { force: true }); - 发起网络请求dist/channel/media.js:145
res = await fetch(url, { - 读取本地文件dist/channel/media.js:193
const st = await stat(filePath); - 读取本地文件dist/channel/media.js:198
const plaintext = await readFile(filePath); - 发起网络请求dist/channel/media.js:316
res = await fetch(url); - 写入本地文件dist/channel/media.js:369
await mkdir(saveDir, { recursive: true }); - 写入本地文件dist/channel/media.js:387
await writeFile(savedPath, buf); - 写入本地文件dist/channel/media.js:398
await writeFile(savedPath, buf); - 写入本地文件dist/channel/media.js:409
await writeFile(savedPath, buf); - 写入本地文件dist/channel/media.js:420
await writeFile(savedPath, buf); - 发起网络请求dist/channel/ilink.js:76
const res = await fetch(url, { ...init, signal: controller.signal }); - 写入本地文件dist/util.js:49
await mkdir(path.dirname(file), { recursive: true }); - 写入本地文件dist/util.js:51
await writeFile(tmp, JSON.stringify(value, null, 2), 'utf8'); - 写入本地文件dist/util.js:52
await rename(tmp, file); - 读取本地文件dist/util.js:57
return JSON.parse(await readFile(file, 'utf8'));
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-host-apiproxy@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/dsh-user-approval@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 扫码接入微信
- 跨端续接会话
README
由 DeepSeek 最新模型翻译生成dsh-wechat-pro
DeepSeek Harness 进程内微信 ClawBot 通道插件:把 DSH 变成微信里的一只「龙虾」🦞。
- 扫码即用:腾讯官方 iLink 通道(个人微信免白名单),二维码打印在 dsh web 终端,凭证 24h 自动续连 + 到期提醒;
- 与 Web 共享真实会话:微信里新建/切换的会话就是真实 DSH 会话,出现在 Web 会话列表、可跨端续接(Codex 式附着);
- 工作区:/workspace 在注册工作区间切换,/workdir 切换任意工作路径(自动注册为工作区,Web 同源可见);
- 模型与思考强度:/model、/thinking 按会话切换,下一轮生效(走 Web 同款宿主 apiProxy);
- 原生命令:/plan、/permission、/compact、/goal、/feedback、/export 等 harness 原生命令直接在微信执行;
- 审批转发微信:高风险工具调用(跨目录写入等)在微信里推送审批提示,回复 /yes 允许 / /no 拒绝即可;多个待审批同时存在时回复「允许 」精确选择(提示里会给出);
- 流式输出:思考/工具调用过程事件实时推送,最终答复长文自动分片;
- 媒体收发:/send 发电脑文件到微信;微信图片/文件/视频/语音自动下载解密落盘;
展开完整文档(README 剩余 1 节)
dsh-wechat-pro DeepSeek Harness 进程内微信 ClawBot 通道插件:把 DSH 变成微信里的一只「龙虾」🦞。 - 扫码即用:腾讯官方 iLink 通道(个人微信免白名单),二维码打印在 dsh web 终端,凭证 24h 自动续连 + 到期提醒; - 与 Web 共享真实会话:微信里新建/切换的会话就是真实 DSH 会话,出现在 Web 会话列表、可跨端续接(Codex 式附着); - 工作区:/workspace 在注册工作区间切换,/workdir 切换任意工作路径(自动注册为工作区,Web 同源可见); - 模型与思考强度:/model、/thinking 按会话切换,下一轮生效(走 Web 同款宿主 apiProxy); - 原生命令:/plan、/permission、/compact、/goal、/feedback、/export 等 harness 原生命令直接在微信执行; - 审批转发微信:高风险工具调用(跨目录写入等)在微信里推送审批提示,回复 /yes 允许 / /no 拒绝即可;多个待审批同时存在时回复「允许 」精确选择(提示里会给出); - 流式输出:思考/工具调用过程事件实时推送,最终答复长文自动分片; - 媒体收发:/send 发电脑文件到微信;微信图片/文件/视频/语音自动下载解密落盘; - 主动能力:agent 可用 weixin_send 工具随时推送消息到微信。 架构:微信通道与宿主 apiProxy 都跑在 dsh web 进程内;会话事件经 session/event 订阅实时镜像到微信。不需要 OpenClaw、不需要公网服务器、不需要独立进程。 安装 方式一:从 GitHub 安装(推荐,发布后) dsh plugin --profile web add github:bwhite55/dsh-wechat-pro dsh web 方式二:本地源码(开发/修改) 1. 构建 cd D:\dsh-wechat-pro pnpm install pnpm run build 2. 装进 web profile(link 方式,改源码后重新 build 即生效) dsh plugin --profile web add link:D:\dsh-wechat-pro 3. 重启 dsh web dsh web 重启后 dsh web 终端会打印登录二维码(或已有凭证自动连接)。手机微信「我 → 设置 → 插件」添加 ClawBot/龙虾,扫二维码配对后即可对话。 隐藏窗口运行 dsh web 时(如 start-dsh-web-hidden.vbs)终端看不到二维码:浏览器打开 http://127.0.0.1:3080/api/dsh-wechat-pro/status,响应里的 qrLink 就是当前登录二维码链接(手机微信打开即可扫码);POST /api/dsh-wechat-pro/connect 可强制重新扫码。 指令 | 指令 | 作用 | | /help | 指令列表 | | /status | 连接、工作区、会话、模型状态 | | /time | 连接剩余时间 | | /workspace | 切换工作区(回复数字选择) | | /workdir | 切换任意工作路径(自动注册为工作区) | | /sessions | 当前工作区会话列表(回复数字切换/附着;📌=微信书签) | | /new | 当前工作区内新建会话并切换(Web 会话列表可见) | | /switch | 切换命名会话(main = 默认) | | /attach | 附着 Web 已有会话(同轨迹双向可见) | | /clear [名字] | 删除微信书签(真实会话与日志保留在 Web) | | /unbind | 停止接收当前会话的推送 | | /model | 切换模型(回复数字选择,下一轮生效) | | /thinking | 切换思考强度 off/high/max(回复数字选择) | | /level [级别] | 输出等级:minimal=只收最终答复与错误 / normal=思考+工具调用/结果+答复 / verbose=完整工具参数(按联系人持久化) | | /send [说明] | 发电脑文件到微信(相对路径按会话工作区目录) | | /reconnect | 重新扫码续连 | | /cancel | 取消当前回合 | | 其他 /xxx | 若为 harness 原生命令(/plan /permission /compact 等)直接执行 | 配置 插件配置在「设置 → 插件配置 → dsh-wechat-pro」或 cordis.patch.yml 的 config 段,也支持环境变量(DSH_WXBOT_,测试时可指向本地 mock): | 键 / 环境变量 | 默认 | 说明 | | autoConnect | true | 启动时已有凭证自动连接 | | allowFrom / DSH_WXBOT_ALLOW_FROM | 空 | 微信用户白名单(逗号分隔的 from_user_id;空 = 全部,建议设置) | | dataDir / DSH_WXBOT_DATA_DIR | $DSH_HOME/dsh-wechat-pro | 凭证/联系人注册表/媒体目录 | | baseUrl / DSH_WXBOT_BASE_URL | https://ilinkai.weixin.qq.com | iLink 端点(测试可指向 mock) | | replyMaxChars / DSH_WXBOT_REPLY_MAX | 3800 | 单条微信消息上限,超出分片(env 优先) | | streamLevel | normal | 默认输出等级(minimal/normal/verbose;微信内可 /level 覆盖) | | mirrorWebTurns | false | Web 发起的回合是否也推送到微信(默认只推微信发起的回合) | | replyTimeoutMs / DSH_WXBOT_REPLY_TIMEOUT_MS | 300000 | 单轮回复超时(env 优先) | | announceToAgent | true | 是否在系统提示词声明插件能力 | 输出等级与推送范围 - /level(微信内即时切换,按联系人持久化): - minimal(默认,推荐)— 只推最终答复与错误(不含任何过程消息); - normal — 思考(🤔)+ 工具调用(🔧)/结果(✅)+ 最终答复; - verbose — normal + 完整工具参数与结果(不截断)。 - 回合来源:只有微信发起的回合会推送到微信;Web 端在同一会话发起的对话默认不推送(mirrorWebTurns: true 可改为也推送)。判断依据:该回合的触发消息是否带浏览器时区(微信侧不带)。 - ⚠️ 腾讯发送额度限制(重要):实测腾讯 iLink 对单条入站消息的回复发送有额度限制——过程消息刷屏(normal/verbose 下每个工具调用都推一条)会触发 sendMessage ret=-2 prepare failed,后续所有发送(含最终答复)都会被拒。因此默认 minimal(每回合只发最终答复+错误,最可靠)。若确实想看过程,可 /level normal,同时过程消息上限 maxProcessPerTurn(默认 3)会尽量为最终答复留额度,但不能保证。 - 长度限制与超长回复降级:微信单条消息约 2048 字符限制,replyMaxChars 默认 3800(超出自动分片,每片间隔 1s)。最终答复分片预算 maxReplyChunks(默认 8 片):分片数在预算内正常发送;超预算时降级为「首片 + 完整内容落盘为文件发给你」(一条媒体消息,不占文本条数额度,完整内容必达)。文件存于 dataDir/outbox/。 - 发送可靠性:最终答复/审批提示等关键消息发送失败会自动重试一次;所有发送失败都会追加到 dataDir/logs/wechat-pro.log(隐藏窗口启动时这是唯一可查的发送痕迹,ret=-2 prepare failed 即额度/上下文被拒)。 数据与安全 - 凭证 weixin-auth.json 含 bot token(= 以你微信身份收发消息的凭据),勿外传; - 每联系人注册表存于 dataDir/contacts/.json(当前工作区 + 命名会话书签); - 微信来的媒体解密后存 dataDir/media//;发送失败日志存 dataDir/logs/wechat-pro.log; - 控制路由(/api/dsh-wechat-pro/)仅监听回环地址,LAN 暴露会被拒绝; - 建议保持 DSH 自身权限为 workspace-write,并用 allowFrom 只放行自己的微信号。 开发与测试 pnpm run typecheck # 类型检查 pnpm run build # tsc 构建到 dist/ node tests/test-mock-ilink.mjs --port 8899 # 起 mock iLink(登录/收发闭环) 自动化测试(无需真实微信): node tests/channel-smoke.mjs # 通道冒烟:引擎直连 mock(登录/轮询/typing/回复/媒体接收) node tests/e2e-harness.mjs # harness 集成:侧路 dsh web + mock 队列,命令层端到端 node tests/e2e-chat.mjs # 真实模型 e2e:对话/流式/审批转发/长文分片//model(需 DEEPSEEK_API_KEY,消耗少量配额) 侧路 dsh web 约定:DSH_E2E_WEB_PORT=3099(默认)、DSH_E2E_MOCK_PORT=8898(默认)、DSH_E2E_TIMEOUT(秒)。 本地闭环(手动,无需真实微信): 终端 A:mock iLink node tests\test-mock-ilink.mjs --port 8899 终端 B:带插件的 dsh web(另一端口 + mock 端点 + 隔离数据目录) $env:DSH_WEB_PORT = "3099" $env:DSH_WXBOT_BASE_URL = "http://127.0.0.1:8899" $env:DSH_WXBOT_DATA_DIR = "D:\dsh-wechat-pro\.test-data" dsh web 许可 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
bwhite55/dsh-wechat-pro
扫码把微信变成可跨端续接的会话入口
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这是你的仓库?认领条目