前言¶
DeepSeek Harness(DSH)里的 Agent 默认跑在你本机进程里:写文件、开终端、改仓库,权限和可见范围都贴着当前环境。若你希望 Agent 在独立 CPU、内存和持久工作区里多轮执行命令、传文件,甚至操作真实桌面,又不想把本机 checkout 当成「第二真相源」,就需要把「云上的 Linux 机器」接进 Harness,并在会话层明确区分本地与云端路由。
下面介绍社区插件 dsh-rayrun-computer(维护者 RayrunOS,分类为客户端)。它在 DSH 侧边栏里创建、管理 Rayrun 云电脑,用 noVNC 在页面内打开远程桌面,并通过一组 rayrun_* 工具把沙箱、命令、文件同步和整任务委派交给同一台机器;Token 保存在 Harness vault,页面侧不直接拿到凭证。
这是什么¶
dsh-rayrun-computer 把 Rayrun 云电脑嵌进 DeepSeek Harness:侧边栏向导创建 Linux 实例,内联或新窗口打开桌面,或让 Agent 在机器上跑非交互命令、传文件、截图点按桌面、在机器内再跑一层 Agent 任务。设计原则是 local-first——本地 checkout 仍是来源;push 以 git bundle 加固 dirty/untracked,两侧比对 patch 的 SHA-256;pull 只把云端 diff 写到 .dsh/incoming/<timestamp>/,不自动合并进工作区。
插件在 README 中标注已在 DeepSeek Harness 0.2.1-rc.5 上测试(桌面应用或 dsh web);许可证 MIT(package.json 版本 1.0.0)。机器来自 rayrunos.com,按秒计费;侧边栏头部显示余额与总机时。
核心功能¶
侧边栏云电脑¶
通过向导选择镜像、vCPU、内存;若机器内 Agent 要调模型,可配置模型凭证。支持启动、暂停、恢复、关机、重命名、销毁。卡片展示状态、镜像、规格、IP 与机时。
页面内真实桌面¶
创建时开启 remote desktop 的机器会暴露 noVNC 端口,可内联、新窗口或全屏打开;一键查看 VNC 密码。部分镜像空 /etc/hosts 会导致 websockify WebSocket 1011,插件在桌面连接时会自动修复。
Agent 工具¶
| 工具 | 作用 |
|---|---|
rayrun_sandbox |
创建、列表、 inspect、启停、暂停、恢复、销毁 |
rayrun_exec |
非交互命令(/bin/sh -c 或 argv),返回退出码与 stdout/stderr |
rayrun_desktop |
X11 桌面截图,再点击、输入、按键或滚动 |
rayrun_files |
列出、上传、下载机器工作区文件 |
rayrun_agent |
把整任务交给机器内 Agent 并等待流式结果 |
rayrun_dsh |
worker 层 sync/status/delegate;或 start + result 异步委派 |
rayrun_workspace |
校验后 push 本地 checkout;pull 云端 diff 供审阅 |
按会话的云端 / 本地路由¶
Composer 里的切换是真实路由而非提示词:云端模式下宿主会拒绝本地 pwsh / bash / write / edit,避免 Agent 悄悄在本机干活;只读类工具仍可用于审阅。
登录与 Token¶
支持用户名密码或微信登录(微信仅 Chrome/Edge);插件为你创建 API Token 并存入 Harness vault,仅宿主侧持有。页面通过同源 /plugins/rayrun/rpc 通信,不接收 Token;密码仅驻内存。
可选行为¶
任务结束后可按空闲时间自动 stop(不 destroy);页面可在一版新 bundle 发布后更新。Bundle 默认在 cordis.patch.yml,可在 profile 里按需覆盖。
安装与启用¶
依赖(来自 README Quick start):
- DeepSeek Harness
0.2.1-rc.5(桌面或dsh web) - Rayrun 账号
- 微信登录时需 Chrome 或 Edge
当前 尚未发布到 npm,需从源码目录安装。README 给出的步骤如下。
1、获取插件目录(官方 README 示例):
git clone https://github.com/RayrunOS/dsh-rayrun-computer.git
2、在 DSH 里添加该目录的绝对路径:Plugins → Add plugin,或终端:
dsh plugin --profile web add /abs/path/dsh-rayrun-computer
桌面应用与 dsh web 使用不同 profile(desktop 与 web),请装到你实际打开的那一侧。
3、重启 DSH(客户端部分仅在页面启动时加载)。
4、打开 Cloud Computer → Connection settings,用 Rayrun 账号登录或粘贴 API Token。
5、New computer → 选镜像、至少 2 GB 内存、开启 remote desktop → Create and open(约 15 秒)。
自检:让 Agent 列出机器;无 Token 时应返回 token_required,而不是假装已完成操作。更多路径与排错见仓库 installation guide。
典型用法¶
配置片段¶
在 $DSH_HOME/profiles/<profile>/cordis.patch.yml 中可覆盖 bundle 默认值(键名以 usage 手册 为准):
- id: rayrun-cloud
name: 'dsh-rayrun-computer'
config:
sandboxName: dsh-workspace
idle_stop_minutes: 15 # 空闲 stop,不 destroy
egress_allow: # 新机默认无出站网络
- api.deepseek.com
Worker 层与同步¶
可将 DSH worker 层推入机器 headless profile 并用 hash 校验;用 rayrun_dsh 的 delegate 带目标与验收条件委派任务,多轮取回结果。工作区用 rayrun_workspace 的 push/pull 与本地-first 规则配合。
文档索引¶
详细说明以中文文档为主:Usage manual(桌面、路由、同步、委派、配置与工具);Parity design 说明云 worker 层设计。
适用场景与注意¶
适合: 需要在隔离 Linux 环境跑 Agent 命令与文件操作、偶尔要肉眼确认 GUI(noVNC)、并希望 push/pull 可校验、会话级强制走云端的 DSH 用户。
务必知晓:
destroy不可恢复,机器与工作区一并删除。- 默认无出站网络,须在
egress_allow中列出允许访问的主机。 - 云镜像已是 root,且无 bubblewrap;worker 层用
danger-full-access变通以启用 shell——这是权宜之计,不是强隔离。 - Bundle 宿主代码在 DSH 进程内运行;安装前请自行审阅源码与 MIT 许可证,仅信任来源。
社区插件目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系;DSH 生态是「一切皆插件」,目录为独立站点。
结尾¶
dsh-rayrun-computer 把 Rayrun 云电脑、noVNC 桌面和 rayrun_* 工具收进 DSH 侧边栏与会话路由,在 local-first 同步规则下让 Agent 在远端 Linux 上持续干活。进一步了解可访问目录页 skillhub.cn/plugins/RayrunOS/dsh-rayrun-computer 与源码 github.com/RayrunOS/dsh-rayrun-computer。