🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

远程 dsh 控制台 6mt/dsh-control

DeepSeek Harness
6mt17 天前有提交已提供中文文档扫描:含敏感能力

在本地窗口直接对话并驱动其他机器的 dsh

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/15 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 6mt/dsh-control
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · other
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 17 处,展示前 17 条)
  • 读取本地文件
    lib/index.js:318
    const raw = JSON.parse(await readFile(this.stateFilePath(), "utf8"));
  • 写入本地文件
    lib/index.js:333
    await mkdir(dirname(file), { recursive: true });
  • 写入本地文件
    lib/index.js:338
    await writeFile(file, JSON.stringify({ environments, sessionBindings }, null, "\t") + "\n", { mode: 0o600 });
  • 读取本地文件
    lib/index.js:340
    const info = await stat(file);
  • 写入本地文件
    lib/index.js:341
    if ((info.mode & 0o777) !== 0o600) await chmod(file, 0o600);
  • 写入本地文件
    lib/index.js:425
    await mkdir(path, { recursive: true });
  • 读取本地文件
    lib/index.js:1000
    await access(path);
  • 写入剪贴板
    lib/client.js:156
    navigator.clipboard?.writeText(text);
  • 发起网络请求
    lib/connections.js:47
    const response = await fetch(`${this.endpoint}/?token=${encodeURIComponent(this.token)}`, {
  • 发起网络请求
    lib/connections.js:110
    response = await fetch(`${this.endpoint}/api/${methodPath}`, {
  • 执行外部命令固定命令
    lib/tunnel.js:28
    this.spawnTunnel = options.spawnTunnel ?? ((spec, args) => spawn("ssh", args, { stdio: ["ignore", "ignore", "pipe"] }));
  • 写入本地文件
    lib/proxy.js:39
    mkdirSync(dir, { recursive: true });
  • 读取本地文件
    lib/proxy.js:42
    if (statSync(file).size > LOG_MAX_BYTES) truncateSync(file, 0);
  • 写入本地文件
    lib/proxy.js:42
    if (statSync(file).size > LOG_MAX_BYTES) truncateSync(file, 0);
  • 写入本地文件
    lib/proxy.js:44
    appendFileSync(file, `${new Date().toISOString()} ${entry}\n`);
  • 执行外部命令固定命令
    lib/ssh.js:33
    child = spawn("ssh", args, { stdio: ["ignore", "pipe", "pipe"] });
  • 读取本地文件
    lib/ssh.js:156
    if (existsSync(path)) return path;
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-typert-protocol
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

本地开一个窗口,就能驱动你其他机器上的 dsh 实例

README

由 DeepSeek 最新模型翻译生成
dsh-control 你的每台机器上都跑着 dsh?让本地这一个窗口,成为它们全部的前端。 在本地 dsh 里直接和其他机器上的 dsh 对话:远端会话原生出现在你的侧栏,流式逐字返回;远端用它自己的模型凭据、工具与沙盒干活。零远端改动、零依赖、一条命令安装。 dsh-control 实际运行 两个 dsh 窗口在回答同一个问题。左窗的会话被自动命名为 控制端·<本地标题>(①)——这种命名只出现在被插件驱动的那台机器上。右窗显示插件创建的环境工作区 cn-dsh2(②)和指向环境名的模型路由(③)。 🎬 15 秒实拍(一键接入 → 流式回复)正在录制。 安装 dsh plugin --profile <你正在用的profile> add github:6mt/dsh-control 填你已经在用的那个 profile(一般是 web 或 desktop)。无构建步骤、无原生模块、无依赖——插件是纯 JavaScript,装完即可用。 GitHub 慢或连不上?
展开完整文档(README 剩余 1 节)
dsh-control

你的每台机器上都跑着 dsh?让本地这一个窗口,成为它们全部的前端。

在本地 dsh 里直接和其他机器上的 dsh 对话:远端会话原生出现在你的侧栏,流式逐字返回;远端用它自己的模型凭据、工具与沙盒干活。零远端改动、零依赖、一条命令安装。

dsh-control 实际运行

两个 dsh 窗口在回答同一个问题。左窗的会话被自动命名为 控制端·<本地标题>(①)——这种命名只出现在被插件驱动的那台机器上。右窗显示插件创建的环境工作区 cn-dsh2(②)和指向环境名的模型路由(③)。

🎬 15 秒实拍(一键接入 → 流式回复)正在录制。

安装

dsh plugin --profile <你正在用的profile> add github:6mt/dsh-control

填你已经在用的那个 profile(一般是 web 或 desktop)。无构建步骤、无原生模块、无依赖——插件是纯 JavaScript,装完即可用。

GitHub 慢或连不上?用 Release 里的 tarball 安装

下载 dsh-control-0.1.1.tgz,然后:

dsh plugin --profile <你正在用的profile> add ./dsh-control-0.1.1.tgz

安装后完全退出并重开 dsh(⌘Q),右侧边栏出现「远程 dsh 环境」面板。

npm 包(dsh-control)已备好,日后可发布;当前安装路径就是上面这条 GitHub 命令。

版本与更新

- 装上的是哪一版:github:6mt/dsh-control 取 main 的最新提交,并在你的 profile 锁文件里锁定到该 commit——之后不会悄悄跟随后续提交
- 升级:dsh plugin --profile <你正在用的profile> update dsh-control (pnpm 会重新解析 git 引用并拉取新代码,已实测)
- 固定版本:github:6mt/dsh-control#v0.1.0(按 tag)或 github:6mt/dsh-control#<commit>
- 变更记录见 CHANGELOG.md

它和 dsh-remote / dsh-remote-ssh 有什么不同?

两种做法的对比

| | 远程工作区类插件(dsh-remote 等) | dsh-control |
| 远端机器是什么 | 文件系统(SFTP 工具集) | 一台已在运行的 dsh |
| 会话在哪里 | 本地会话 + 远程目录 | 远端会话原生进你的侧栏 |
| 凭据/工具 | 本地配,SSH 配置再复制一份 | 远端自带,本地零复制 |
| 远端需要什么 | 只要 SSH | 需已装 dsh(≥0.2.0-rc.2)并跑着 web 实例 |
| 对远端的改动 | 部分会主动部署 dsh | 零改动(只读探测 + 远端自身 API) |

两者可以同装(已实测共存):远端没装 dsh → 用 dsh-remote;装了 → 用 dsh-control。

功能

远程 dsh 环境面板

「远程 dsh 环境」面板:填 user@host 即可连接;环境行会显示状态与是否已有工作区。

- 一键接入:填 user@host,自动探测远端 dsh、取访问令牌、建加密通道(约 5 秒)
- 自动工作区:每个环境在本地生成同名工作区;在里面新建会话即自动成为远端会话
- 真流式:远端回复逐字流入本地对话,不是等整轮蹦出
- 远端配对:远端会话自动命名「控制端·本地标题」,两边对得上
- 可见且自愈:侧栏会话行带远端标识;断线如实显示,一键重连修复

安全

插件在你机器上做什么:一份状态文件($DSH_HOME/dsh-control/state.json,0600,含远端访问令牌)+ 按需启动的 SSH 隧道进程。
绝不做什么:不在远端装东西/写文件、不管远端进程生命周期、不读你机器上的其他凭据、令牌不进日志。免密未配置时给出一条修复命令,绝不保存密码。详见 SECURITY.md。

已知限制

- 远端需已装 dsh 并运行 web 实例(未装请用远程工作区类插件)
- 接入走 SSH(需免密或已配密钥;直连免 SSH 模式在路线图上)
- 会话行标识与流式观感以各版人工验收为准
- 取消远端运行中的会话:已实现,标注 experimental

开发

node --check lib/.js
for t in test/.test.mjs; do node "$t"; done # 52 项:单元/契约/结构不变式 scripts/verify-boot-selfheal.sh # 启动自愈(需本机 dsh 运行时)

许可证

MIT © 6mt
预览分享卡片长什么样 ↓6mt/dsh-control
分享 · DeepSeek Harness Hub
6mt/dsh-control

在本地窗口直接对话并驱动其他机器的 dsh

回到顶部