用微信远程指挥电脑上的 agent 收发任务与文件
32.5/100
综合分
1
GitHub 星标
277
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-mobile-remotenpm 源 · dsh-mobile-remote 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-mobile-remote @ 0.1.0
✓Node 引擎要求 >=22.12.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 16:45:23
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 31 处,展示前 31 条)
- 读取本地文件dist/index.js:86
const raw = await readFile(filePath, 'utf8'); - 写入本地文件dist/index.js:99
await mkdir(path.dirname(filePath), { recursive: true }); - 写入本地文件dist/index.js:101
await writeFile(tmp, value, { mode: 0o600 }); - 写入本地文件dist/index.js:102
await rename(tmp, filePath); - 写入本地文件dist/index.js:252
renameSync(statePath, `${statePath}.corrupt-${Date.now()}`); - 读取本地文件dist/state.js:52
if (!existsSync(filePath)) - 读取本地文件dist/state.js:54
const raw = readFileSync(filePath, 'utf-8'); - 写入本地文件dist/state.js:115
mkdirSync(path.dirname(filePath), { recursive: true }); - 写入本地文件dist/state.js:122
writeFileSync(tmp, JSON.stringify(snapshot), 'utf-8'); - 写入本地文件dist/state.js:123
chmodSync(tmp, 0o600); - 写入本地文件dist/state.js:124
renameSync(tmp, this.filePath); - 写入本地文件dist/media.js:199
mkdirSync(dir, { recursive: true }); - 读取本地文件dist/media.js:205
skip = (await stat(finalPath)).size === data.length; - 写入本地文件dist/media.js:212
await writeFile(tmp, data); - 写入本地文件dist/media.js:213
await rename(tmp, finalPath); - 读取本地文件dist/media.js:236
return path.join(await realpath(current), ...tail.reverse()); - 读取本地文件dist/media.js:261
finalPath = await realpath(absolute); - 读取本地文件dist/media.js:268
fileStat = await stat(finalPath); - 读取本地文件dist/media.js:278
realRoot = await realpath(root); - 读取本地文件dist/media.js:307
const data = await readFile(filePath); - 写入本地文件dist/file-logger.js:22
mkdirSync(path.dirname(options.filePath), { recursive: true }); - 读取本地文件dist/file-logger.js:24
if (existsSync(options.filePath)) - 写入本地文件dist/file-logger.js:25
chmodSync(options.filePath, 0o600); - 写入本地文件dist/file-logger.js:39
appendFileSync(this.#filePath, line, 'utf-8'); - 写入本地文件dist/file-logger.js:41
chmodSync(this.#filePath, 0o600); - 读取本地文件dist/file-logger.js:57
size = statSync(this.#filePath).size; - 写入本地文件dist/file-logger.js:66
renameSync(this.#filePath, `${this.#filePath}.1`); - 写入本地文件dist/file-logger.js:68
chmodSync(`${this.#filePath}.1`, 0o600); - 发起网络请求dist/protocol.js:97
const response = await this.#fetch(`${this.#apiBase}${path}`, { - 发起网络请求dist/protocol.js:120
const response = await this.#fetch(`${this.#apiBase}${path}`, { - 发起网络请求dist/protocol.js:334
const response = await this.#fetch(url, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-session给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 微信远程指挥智能体
- 双向文件传输
- 多会话切换
DeepSeek Harness 微信远程控制插件:在微信里遥控你的 dsh 智能体——双向文件传输、主动通知、多会话切换(iLink)
README
由 DeepSeek 最新模型翻译生成dsh-mobile-remote
手机微信 = 你的 DeepSeek Harness 电脑遥控器。
微信扫码绑定机器人后,在任何网络(4G/任何 WiFi)通过微信指挥你的 dsh agent:发命令、发任务、收结果、/ls 看电脑文件夹目录、双向收发文件、主动推送通知、多会话切换。
- 全权限模式:agent 全部工具可用,不弹确认直接执行(permissionMode 可切 strict 逃生舱)
- 语音消息:不存不转写,回复「无法识别语音消息」
- 消息经腾讯 iLink 服务器中转(微信没有第三方 API),非端到端加密——见「风险与边界」
突出特点与优势
相比同类 dsh 微信桥接插件(dsh-weixin、dsh-chatnode-wechat、dsh-im-bridge 等):
1. 协议最扎实:wire 细节逐字对照腾讯官方 openclaw-weixin SDK v2.4.6(核对笔记与参考源码见 docs/)——出站 aes_key 编码、上传/消息两套媒体编号、CDN 上传下载流程全部与官方一致;入站 AES 密钥双编码态(base64 原字节 / base64 hex)全支持,坏密钥明确报错不降级
展开完整文档(README 剩余 1 节)
dsh-mobile-remote 手机微信 = 你的 DeepSeek Harness 电脑遥控器。 微信扫码绑定机器人后,在任何网络(4G/任何 WiFi)通过微信指挥你的 dsh agent:发命令、发任务、收结果、/ls 看电脑文件夹目录、双向收发文件、主动推送通知、多会话切换。 - 全权限模式:agent 全部工具可用,不弹确认直接执行(permissionMode 可切 strict 逃生舱) - 语音消息:不存不转写,回复「无法识别语音消息」 - 消息经腾讯 iLink 服务器中转(微信没有第三方 API),非端到端加密——见「风险与边界」 突出特点与优势 相比同类 dsh 微信桥接插件(dsh-weixin、dsh-chatnode-wechat、dsh-im-bridge 等): 1. 协议最扎实:wire 细节逐字对照腾讯官方 openclaw-weixin SDK v2.4.6(核对笔记与参考源码见 docs/)——出站 aes_key 编码、上传/消息两套媒体编号、CDN 上传下载流程全部与官方一致;入站 AES 密钥双编码态(base64 原字节 / base64 hex)全支持,坏密钥明确报错不降级 2. 双向文件收发:入站图片/文件/视频自动下载解密落盘(稳定命名防崩溃重放 + 明文 md5 校验 + 100MB 上限);出站 /send 与模型回复中的 [[send-file:路径]] 双入口,共用唯一路径白名单校验(symlink 穿透/越界/目录一律拒绝) 3. 主动通知闭环:模型工具 weixin_send(文本+文件)+ 未绑定会话完成通知(规则化去重防双发);会话令牌过期(-14)返回精确文案,健康面板自动降级提示重新扫码,运行中重新扫码热轮换凭据无需重启 4. 多会话遥控:/sessions 列表 + /switch 编号/标题双语义切换,手机上在多个电脑任务间跳转;会话被其他窗口接管时旧窗口收到提示,杜绝输出串台 5. 可靠性工程(同类少见的重点投入):恰一次处理管线(队列+游标同次原子落盘)、outbox at-least-once 投递与崩溃恢复续传、全局处理限额器(8)+下载信号量(3)+背压节流、drain 重入互斥与游标引用身份校验、凭据双写冗余;182 项自动化测试全绿 + 严格 typecheck + 宿主包零值导入门禁 6. 可观测性:/health 健康端点(字段白名单、零内部标识泄露)、登录页三态状态条(运行中/缺凭据/未启动+原因)、gateway.log 文件日志(1MB 轮转、0600) 7. 安全边界清晰:白名单是唯一使用边界、登录页仅 loopback 可访问、错误文案不泄露密钥与路径、weixin_send 文件受同一路径白名单约束 安装 1. 安装插件到 web profile npx @deepseek-ai/dsh plugin --profile web add /path/to/dsh-mobile-remote 2. 启动 dsh web(或重启) dsh web 扫码登录 1. dsh web 运行后,本机浏览器打开 http://127.0.0.1:3080/mobile-remote-weixin/login 2. 手机微信扫码,按提示确认(若手机要求输入数字验证码,页面会提示输入) 3. 登录成功后即可在微信里给机器人发消息 登录页顶部有网关状态条(绿=运行中 / 黄=缺凭据 / 红=未启动+原因); GET /mobile-remote-weixin/health 返回健康快照(仅本机可访问,无内部标识字段)。 命令 | 命令 | 作用 | | /status | 会话状态 + 会话标识 + 工作区 | | /new | 断开当前会话,下条消息开新会话 | | /stop | 停止运行中任务 | | /reply | 追问当前任务 | | /sessions | 最近 10 个会话(当前绑定标 ⭐) | | /switch | 切换会话:纯数字先按 /sessions 编号,越界/无列表回退标题匹配 | | /切换聊天窗口: | 恒按标题匹配切换(标题恰为纯数字时用它直达) | | /send | 把工作区/收件目录内的文件发到微信 | | /ls [路径] | 看电脑文件夹目录 | | /workspace | 查看当前工作区 | | /help | 再次显示命令清单 | 文件收发 - 收:微信发来的图片/文件/视频自动下载解密,落盘到 /.wechat-inbox// (文件名 = 原名 + 消息哈希,稳定命名防崩溃重放重复落盘;大小上限 maxMediaBytes,默认 100MiB)。 模型会看到 [收到文件] 提示,可用 vision 等工具继续处理。 - 发:/send 直接发;agent 回复中独占一行写 [[send-file:路径]] 也会把文件发到微信(该指令行不会发给用户)。路径必须落在工作区或收件目录内(同一校验函数,symlink 穿透/越界一律拒绝)。 - 语音消息维持拒识,不下载不落盘。 主动通知 - weixin_send 工具:微信会话的 agent 可用它把文本/文件推送到微信(绑定的聊天窗口;未绑定时回落到 notifyChatId 通知目标)。enableWeixinSendTool(默认开)可整体关闭。 - 完成通知:配置 notifyChatId + notifyOnTurnEnd: true 后,未绑定微信的会话任务完成时会推送 ✅ 任务完成:会话「标题」 到通知目标(绑定会话不重复通知;同 turn 已由工具推过则去重)。 配置(可选,全部有默认值) 环境变量: | 变量 | 默认 | 说明 | | WEIXIN_BOT_TOKEN | 无 | 登录 token(扫码登录后自动保存,无需手动设置) | | WEIXIN_ALLOWED_USERS | 扫码者自动加入 | 允许使用 bot 的用户 id,逗号分隔 | | WEIXIN_ALLOWED_GROUPS | 空 | 允许的群 id(群聊需 user+group 双命中) | | WEIXIN_BOT_API_BASE | https://ilinkai.weixin.qq.com | iLink 网关地址 | | WEIXIN_CDN_BASE | https://novac2c.cdn.weixin.qq.com/c2c | 媒体 CDN 地址 | | WEIXIN_MAX_MESSAGE_CHARS | 3500 | 单条回复分块长度 | | WEIXIN_MAX_MEDIA_BYTES | 100MiB | 媒体大小上限 | | WEIXIN_PERMISSION_MODE | full | full=全权限;strict=工具白名单+审批(预留) | | WEIXIN_DSH_WORKSPACE | 自动 | 微信新会话默认工作区(优先级:本变量 > 显式配置 > dsh 当前工作区 > 进程目录) | cordis 配置项(config 键): | 键 | 默认 | 说明 | | inboxDir | 空(=工作区/.wechat-inbox) | 收件目录;越界自动回退默认并警告 | | enableWeixinSendTool | true | weixin_send 工具总开关 | | notifyChatId | 空 | 完成通知/工具兜底目标(配置后 Web 会话也可用 weixin_send 推送) | | notifyOnTurnEnd | false | 未绑定会话完成时推送通知 | | logDir | 空(=state 同目录) | 网关日志目录(gateway.log,1MB 轮转) | | statePath | ~/.dsh/mobile-remote-weixin/gateway-state.json | 网关状态文件 | 健康与日志 - 健康快照(/health):运行状态、轮询活动、连续错误数、绑定数、积压数、凭据、启动失败原因等——白名单字段,绝不包含 chatId/sessionId/进度等内部标识。 - 文件日志:gateway.log(append-only、0600、1MB 轮转只留一代、写失败静默降级),同时 tee 到 dsh 日志。 风险与边界(务必阅读) - 全权限模式:无人在环确认;白名单是唯一防线,只能放你自己的微信号。 - weixin_send 外发面:工具对作用域内 agent 可见,被注入的入站消息可诱导模型把工作区文本/文件推到微信; filePath 受 /send 同一白名单(工作区/收件目录)约束,但文本内容不受路径校验——不要在不信任的群里使用。 - 隐私:消息经腾讯 iLink 服务器中转(非端到端加密);媒体解密后落盘于工作区 .wechat-inbox。 - 账号共存:同一微信账号被 OpenClaw 等其他 iLink 客户端驱动会抢消息,需停用其一。 - 凭据:token 存本机(credentials 服务 + 自管回退文件 0600),泄露等同账号控制权。 - 平台风险:iLink 非公开稳定 API,可能协议漂移;违规使用有封号风险,自担。 局限与未支持功能(诚实声明) 选择本插件前请知悉以下边界——部分是设计决策,部分在路线图外: - 语音消息不支持识别:收到语音一律回复「无法识别语音消息」(不下载、不转写、不落盘)。这是设计决策,语音转写不在范围内 - 媒体不进模型多模态管道:图片/文件只做「落盘 + 给模型绝对路径提示」,插件本身不解析内容;需要配视觉类工具(如 vision_analyze)读取 - 无定时任务:不能预约「每天 X 点做某事」(cron/桌宠类需求不在范围) - 无远程审批按钮:全权限模式 = 无人在环确认,微信里没有「批准/拒绝」交互;strict 模式为预留逃生舱(未完成审批流) - 依赖非公开协议:iLink 是腾讯未公开的 bot 协议,协议漂移可能导致功能失效,且违规使用有封号风险 - 单账号绑定:一个 dsh 实例一套微信凭据;要多微信账号/多 bot 需多开 profile 实例(无内置多实例管理) - 内容级文件去重未实现:同一文件跨消息重发会重复落盘(仅保证「同一条消息崩溃重放」不重复下载) - 命令与文案为中文:斜杠命令、帮助清单、提示均为中文,无英文/i18n - 无图形化设置面板:配置全部走环境变量 / cordis patch(登录页仅提供扫码、状态条与健康端点) - 运行要求:Node ≥ 22.12、dsh web profile、微信账号需可扫码绑定 iLink bot 开发 npm install npm run typecheck npm test npm run build License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
good-boy4069/dsh-mobile-remote
用微信远程指挥电脑上的 agent 收发任务与文件
相关插件 · 平台集成
智能体工程课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