Continue an existing PC DSH session from WeChat: polls WeChat iLink messages, injects into a running session via followup or resumes a closed one, and sends the reply back. Supports /会话 to list/bind sessions and /新会话 to unbind. Requires the wechat-acp daemon; only allowlisted WeChat senders are handled (empty allowlist denies everyone).
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:wwweljf/dsh-plugins#path:/plugins/dsh-wx-remote
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
用微信继续 PC 端未完成的 DSH 会话:微信发消息 → 注入到 PC 端会话 → 把回复原文发回微信。出门在外也能接着聊、接着推进 PC 上的任务。
功能
- 继续 PC 会话:轮询微信 iLink 消息,把你说的话注入到 PC 端会话(
agent.followup),回复原文直发回微信 - live 优先:若目标会话正在运行,直接注入;若已关闭,则自动
resume续接后注入 - 会话命令(发到微信):
/会话或/列表— 列出最近的 PC 会话(标题 + 运行中标记 + 时间)/会话 3或/会话 <id>— 绑定指定会话,之后消息都发到它/当前— 查看当前绑定/新会话或/解绑— 解除绑定,回到最近的会话/帮助— 命令清单
- 忙时排队:PC 端正忙(连续操作)时,消息排队等待,90 秒内没空就先回"正在忙"提示,消息不丢
- 常驻:宿主级 bundle 插件,随 dsh web 自启,重启不丢
安装
dsh plugin --profile web add github:wwweljf/dsh-plugins#path:/plugins/dsh-wx-remote
重启 dsh web 生效。
依赖
- wechat-acp 桥已扫码登录,token 存
~/.wechat-acp/token.json(与 dsh-wx-push 共用同一份凭据)。这是需要另外安装、并用微信扫码登录的独立守护进程,本插件只复用它的凭据/状态目录。 - 需先停止 wechat-acp 的 daemon(否则两边轮询 iLink 会打架);本插件自己轮询
发送者白名单(必配)
出于安全,本插件只处理白名单内的微信用户,且未配置白名单时拒绝所有人。防止"任何能给这个账号发私信的人都能列出并操作你的 PC 会话"——只有你显式加进白名单的微信 ID 才能遥控。
配置方式(两个来源取并集):
- 环境变量
WECHAT_REMOTE_ALLOWLIST:逗号分隔的微信用户 ID(如wxid_a1b2c3) - 白名单文件
~/.wechat-acp/remote-allowlist.json:JSON 数组,如["wxid_a1b2c3"]
如何找到自己的微信 ID:给机器人发一条消息,然后读取 ~/.wechat-acp/remote-debug.log,里面会有一条 REJECTED sender userId=xxx,那个 xxx 就是你的微信 ID,加到白名单即可。未在白名单内的消息会被直接丢弃(不会处理、不会回复),并在 ~/.wechat-acp/remote-errors.log 记录一条带 userId 的提示。
平台限制(重要)
- 主动推送受 context_token 时效限制(约 30-60 分钟),只能靠你给 bot 发消息刷新——但你主动发消息问 bot,本插件走的是 token 轮询,不受此限制。
- 微信消息会进入你 PC 端那个会话的对话历史里(这是"继续 PC 会话"的设计本意)。
License
MIT
Links
More in this category
zhu1090093659/dsh-web-ui#packages/dsh-ssh★ 7488
SSH ops panel for DSH: web terminal, SFTP transfer with progress, local port forwarding, and one-command cluster execution across hosts; agents share the same host config.
zhu1090093659/dsh-web#packages/dsh-remote-web-ui★ 7488
Remote control of a dsh web workspace from phone or PC: QR-code pairing through a token-gated channel, SSE real-time sync, and separate mobile and full desktop GUI modes.
ZSeven-W/dsh-ios★ 288
A live iOS Simulator or USB-connected iPhone inside the conversation: 22 agent tools for booting, building, driving the UI by accessibility identity or OCR text, list-row actions and SwiftUI preview hot reload, plus a streaming sidebar panel you can tap and drag on.
saya-ch/dsh-mobile★ 260
Access DeepSeek Harness from the Android app or a mobile browser with secure LAN and remote connections, persistent device pairing, and a customizable mobile interface.
liguobao/deepseek-harness-remote★ 183
Multi-device remote access for DeepSeek Harness: continue an active session from your phone, tablet, browser, or another computer over an end-to-end encrypted channel (Noise IK + adaptive relay/WebRTC transport), with device authorization, ApiProxy-only remote capabilities, and read-only file preview via dsh-file-viewer — no shell, remote desktop, or write access.
wenbin-wb/dsh-bridge★ 158
Remote and mobile access for DeepSeek Harness: provides LAN QR code connection, Cloudflare/custom tunnels, WeChat, QQ, Feishu, Telegram bot integration, and security authentication.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.