绑定远程 GPU 跑实验,微信随时接管开发
33.4/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add TangYT/dsh-work-anywhere该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 59 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-work-anywhere(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/20 14:12:42
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 39 处,展示前 34 条)
- 发起网络请求lib/client.js:2143
const res = await fetch(url); - 发起网络请求lib/client.js:2149
const res = await fetch(url, { - 读取本地文件lib/remote-lab.js:146
if (existsSync(LAB_ROOT)) { - 读取本地文件lib/remote-lab.js:148
for (const n of await readdir(LAB_ROOT)) { - 发起网络请求lib/remote-lab.js:200
const net = createNetLayer({ fetchImpl: (url, opts) => fetch(url, opts), log }) - 写入本地文件lib/remote-lab.js:220
await mkdir(dirname(WA_CONFIG_PATH), { recursive: true }) - 写入本地文件lib/remote-lab.js:221
await writeFile(WA_CONFIG_PATH, JSON.stringify(waConfig, null, 2), 'utf8') - 发起网络请求lib/remote-lab.js:246
const outcome = await approval.request({ - 写入本地文件lib/remote-lab.js:256
appendFile(GIT_AUDIT_PATH, JSON.stringify(rec) + '\n', 'utf8').catch(() => {}) - 读取本地文件lib/remote-lab.js:277
try { return await readFile(path, 'utf8') } catch { return undefined } - 写入本地文件lib/remote-lab.js:280
await mkdir(dirname(path), { recursive: true }) - 写入本地文件lib/remote-lab.js:281
await writeFile(path, JSON.stringify(obj, null, 2), 'utf8') - 读取本地文件lib/remote-lab.js:431
if (h.keyPath) { try { keyText = await readFile(h.keyPath, 'utf8') } catch (e) { log('key read failed: ' + String(e && e.message || e)) } } - 写入本地文件lib/remote-lab.js:573
await mkdir(dirname(localPath), { recursive: true }) - 发起网络请求lib/remote-lab.js:692
await net.fetch(url, { - 读取本地文件lib/remote-lab.js:847
if (existsSync(LAB_ROOT)) { - 读取本地文件lib/remote-lab.js:849
for (const n of await readdir(LAB_ROOT)) { - 删除本地文件lib/remote-lab.js:914
try { await unlink(bindingFile(dir)) } catch { return false } - 发起网络请求lib/remote-lab.js:1020
const res = await net.fetch(String(args.url), { - 读取本地文件lib/wechat-channel.js:67
s = JSON.parse(readFileSync(STATE_FILE, 'utf8')) - 写入本地文件lib/wechat-channel.js:85
mkdirSync(STATE_DIR, { recursive: true }) - 写入本地文件lib/wechat-channel.js:86
writeFileSync(STATE_FILE, JSON.stringify(s, null, 2)) - 读取本地文件lib/wechat-channel.js:102
.filter((w) => w && w.path && existsSync(w.path)) - 读取本地文件lib/wechat-channel.js:103
.map((w) => ({ path: w.path, title: w.title || basename(w.path), remote: existsSync(join(w.path, '.dsh-remote.json')) })) - 读取本地文件lib/wechat-channel.js:392
if (!project || !existsSync(project)) return null - 读取本地文件lib/wechat-channel.js:416
if (!project || !existsSync(project)) return null - 读取本地文件lib/wechat-channel.js:732
const remote = cur && existsSync(join(cur, '.dsh-remote.json')) ? '(已绑定远程)' : '(未绑定远程)' - 执行外部命令固定命令lib/net.js:40
const out = spawnSync('reg', ['query', 'HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings', '/v', 'ProxyServer'], { encoding: 'utf - 发起网络请求lib/net.js:80
fetchImpl = (url, opts) => fetch(url, opts), - 发起网络请求lib/net.js:115
return await undici.fetch(url, merged) - 执行外部命令来自配置/变量lib/local-git.js:170
spawnImpl = (argv, opts) => nodeSpawn(argv[0], argv.slice(1), opts), - 发起网络请求lib/ilink.js:47
const res = await fetch(url.toString(), { - 发起网络请求lib/ilink.js:73
const res = await fetch(url.toString(), { - 发起网络请求lib/interactions.js:40
const res = await fetch(base + '/api/respond', {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 远程实验工作区
- 微信远程控制
- 本地Git与模型下载
DeepSeek Harness 插件:远程实验工作区 + 微信远程控制 + 免沙箱审批的本地 Git 与 GitHub/HuggingFace 下载
README
由 DeepSeek 最新模型翻译生成dsh-work-anywhere
DeepSeek Harness 的「远程工作」插件合集远程实验工作区 · 微信远程控制 · 免沙箱审批的本地 Git 与 GitHub/HuggingFace 下载
dsh-work-anywhere 是 DeepSeek Harness(DSH)标准插件。装上它,你能在 dsh web 里做到三件事:
1. 远程实验:把项目绑定到远程 GPU 服务器,让智能体直接在服务器上跑训练/评测,结果自动下载回来;
2. 微信远程控制:扫码把微信连上 dsh,出门在外也能查项目、切会话、推进对话,审批/问答/计划评审都能在微信里回答;
3. 本地 Git 与下载:智能体需要 clone、推送、下载 GitHub / HuggingFace 大文件时自动走插件内置通道,不再弹沙箱审批。
展开完整文档(README 剩余 1 节)
dsh-work-anywhere DeepSeek Harness 的「远程工作」插件合集远程实验工作区 · 微信远程控制 · 免沙箱审批的本地 Git 与 GitHub/HuggingFace 下载 dsh-work-anywhere 是 DeepSeek Harness(DSH)标准插件。装上它,你能在 dsh web 里做到三件事: 1. 远程实验:把项目绑定到远程 GPU 服务器,让智能体直接在服务器上跑训练/评测,结果自动下载回来; 2. 微信远程控制:扫码把微信连上 dsh,出门在外也能查项目、切会话、推进对话,审批/问答/计划评审都能在微信里回答; 3. 本地 Git 与下载:智能体需要 clone、推送、下载 GitHub / HuggingFace 大文件时自动走插件内置通道,不再弹沙箱审批。 - 功能特性 - 安装 - 快速上手 - 配置 - 安全模型 - 开发 - 常见问题 - License 功能特性 | 模块 | 能力 | 主要场景 | | remote-lab | 项目 ↔ 远程服务器绑定;SSH 执行 / 文件同步;回调驱动实验计划;断线续跑;产物自动下载;飞书 / 企微 webhook 通知 | GPU 训练、长任务评测、批量实验 | | wechat-channel | 微信扫码接管整个 dsh web;消息驱动智能体;项目 / 会话切换;微信交互桥(审批、问答、计划评审可微信回复) | 通勤 / 出差时远程推进开发 | | local-git + download | 进程内 git 全操作(HTTPS/SSH/LFS);GitHub / HuggingFace 大文件流式下载;通用网络抓取 | AI 开发依赖 GitHub / HuggingFace 时的免审批通路 | | arxiv | dwa_arxiv_read:链接或编号 → HTML 版论文全文纯文本(公式保留 LaTeX),秒级返回;无 HTML 的老论文自动给 PDF 下载建议 | 文献调研、读论文 | | 网络权限层 | 直连优先,失败自动扫描本机代理回退 | 本机网络受限(需代理)的环境 | 安装 DSH 的插件安装只需一条命令(没有界面入口)。在命令行执行: dsh plugin --profile web add "git+https://gitee.com/tang-yongtao/dsh-work-anywhere.git" - GitHub 镜像源:把上面地址换成 git+https://github.com/TangYT/dsh-work-anywhere.git; - 本地开发调试:dsh plugin --profile web add "link:E:\dsh-work-anywhere\dsh-work-anywhere"。 执行完成后重启 dsh web。打开 dsh web → 左下角「设置」→「插件」,能看到 dsh-work-anywhere 条目即安装成功。 快速上手 装好之后,以下三步全部在 dsh web 页面上完成,不需要任何命令行操作。 ① 扫码绑定微信(可选,强烈推荐) 1. 打开 dsh web → 左下角「设置」→ 左侧选择「远程控制」; 2. 在「微信 / 飞书远程控制」卡片点击「扫码登录」; 3. 用微信扫描页面上的二维码,页面显示「已连接」即完成(登录态会保存,之后重启无需重扫)。 绑定后:微信里直接发消息即可查看进度、切换项目/会话、推进对话;DSH 出现审批请求、选项问答、计划评审时,也会推送到微信,直接回复就能处理。常用指令(在微信里发送,仅消息开头解析): | 命令 | 说明 | | /status | 当前项目与会话(显示会话标题) | | /projects | 项目列表 | | /switch <编号\|名称> | 切换项目 | | /sessions | 当前项目会话列表 | | /session <编号\|名称\|id前缀> | 切换会话 + 完整进度回放;/session new 新建会话 | | /help | 帮助 | ② 给每个项目绑定远程服务器 1. 先在 dsh web 侧边栏「SSH」面板添加服务器(别名、地址、账号、密钥或密码); 2. 打开该项目对应的对话,点击对话标题栏的「远程实验」按钮 → 选择服务器(可选填远端目录、sudo 密码)→ 保存;也可以走:设置 →「远程控制」→「项目绑定 / 换绑」,选择项目与服务器后点击「绑定 / 换绑」; 3. 绑定完成,这个项目的对话即可让智能体在服务器上跑训练 / 评测 / 脚本。实验结束自动把结果下载到项目本地,还可在绑定时填写飞书 / 企微机器人地址接收完成通知。 换服务器、解绑:随时在同一个「远程实验」弹窗或设置页完成。 ③ 其他自动生效的能力(无需任何操作) - 本地 Git 与下载:智能体需要 clone / 提交 / 推送、下载 GitHub release 或 HuggingFace 模型时,自动走插件内置通道,不再弹沙箱审批。如需额外管控(push 需审批、路径限制、HF token),在设置 →「远程控制」→「网络与 Git」里按需开启; - arXiv 论文阅读:智能体拿到 arXiv 链接或编号会直接用 dwa_arxiv_read 读取 HTML 版全文(比 PDF 快得多、且是纯文本),无需任何操作; - 网络代理:直连失败自动切换本机代理,无需手动配置。 配置 | 文件 | 说明 | | $DSH_HOME/dsh-ssh.json | SSH 主机(dsh web 侧边栏「SSH」面板配置) | | <项目根>/.dsh-remote.json | 项目 ↔ 服务器绑定(由「远程实验」按钮 / 设置页生成) | | $DSH_HOME/wechat-channel/state.json | 微信登录态(重启自动恢复) | | $DSH_HOME/work-anywhere/config.json | Git 安全策略与 HuggingFace token(设置页「网络与 Git」维护) | | $DSH_HOME/work-anywhere/git-audit.jsonl | git 全量审计日志 | 安全模型 - 沙箱关系:插件不改动 DSH 的沙箱与审批策略。git 与下载在插件自身进程内执行(DSH 的受限 token 只作用于 shell 命令),因此不受 schannel 与命名管道限制; - 纵深防御:git 子命令白名单、危险选项拒绝、无 shell 展开;下载目标可配置为仅限项目目录;每次 git 执行写审计日志; - 可选审批:设置页可开启 push 审批(Web 或微信端放行);微信端审批超时自动拒绝; - 设置页 API 全部仅回环可访问。 开发 git clone https://gitee.com/tang-yongtao/dsh-work-anywhere.git cd dsh-work-anywhere npm install npm test # 7 套离线测试 npm run build # 构建浏览器半(设置页 UI)→ lib/client.js 代码结构: lib/ index.js # 组合入口(remote-lab + wechat-channel) remote-lab.js # 远程实验:绑定 / SSH / 实验计划 / 回调 watcher / 工具注册 wechat-channel.js # 微信 ClawBot:iLink 扫码 / 消息驱动 Agent / 命令 interactions.js # 微信交互桥(审批 / 问答 / 计划评审转发) local-git.js # 本地 git 执行器(白名单 / 策略 / 审计 / 代理重试) download.js # 流式下载器(镜像回退 / 上限 / sha256) net.js # 网络权限层(直连 → 代理扫描回退) ilink.js # iLink 协议客户端 src/client.js # 设置页「远程控制」+ 会话头「远程实验」按钮 test/ # 7 套离线测试 维护者注意事项 - HMR 重载不得杀死会话:卸载清理绝不 dispose agent 句柄(新实例收养);实验 watcher 重载后自动重挂; - 密码认证主机必须透传(normalizeSshHost),密码只驻内存、绝不落盘; - 项目目录名允许空格与 CJK:远端命令一律用双引号包裹路径; - 每会话服务器速查只注入一次,且只含该会话绑定的一台服务器; - 新增工具默认作用于「当前会话所在项目」;绑定只在项目根读取,绝不跨项目继承。 常见问题 Q:shell 里 git / curl 报 SEC_E_NO_CREDENTIALS 或管道错误? A:正常现象(DSH 沙箱限制)。让智能体用插件内置通道即可,无需审批。 Q:huggingface.co 直连超时? A:插件下载会自动回退 hf-mirror.com 或经本机代理;私有 / 受限模型请在设置页「网络与 Git」配置 HF token。 Q:想给 git push 加一道审批? A:设置 →「远程控制」→「网络与 Git」开启「push 需审批」,审批请求可转发到微信处理。 Q:微信里出现「⚠ 门控」? A:该会话已在 Web 端归档,插件拒绝在不可见会话中执行操作;请先在 Web 端取消归档。 Q:换服务器 / 换项目绑定怎么办? A:对话标题栏「远程实验」按钮或设置页「项目绑定 / 换绑」重新选择即可。 License MIT © 2026 tang-yongtao
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
TangYT/dsh-work-anywhere
绑定远程 GPU 跑实验,微信随时接管开发
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目