READMESource: main@37a3eac8
dsh-plugin-memoh-desktop
在 DeepSeek Harness Web 版右侧栏增加一个「Memoh 桌面」标签页,实时显示宿主机的 X11 桌面,并可选地把鼠标与键盘操作转发过去。
功能
- 实时截取 X11 根窗口,以 JPEG 推流到侧边栏(默认 0.5 秒刷新,可选 0.5 / 1 / 2 秒、640 / 960 / 1280 宽度)
- 状态、暂停、手动刷新、打开原图
- 「点此开启操控」后支持:单击、双击、右键、滚轮、文字输入、回车 / Esc / 退格 / Ctrl+L
- 点击坐标按缩放比例换算回原生分辨率
- 中、英、日、西、法、德、葡、俄 8 种语言界面
- 所有界面样式使用宿主主题 token,自适应明暗主题
运行环境要求
这是本插件最重要的限制:它直接读取宿主机的 X11 显示,不是跨平台的通用远程桌面。
| 依赖 | 用途 | 检查 |
|---|---|---|
| 一个可访问的 X11 display | 截图与输入 | echo $DISPLAY |
ImageMagick import |
抓屏 | command -v import |
xdotool |
鼠标 / 键盘转发 | command -v xdotool |
| Xauthority(可选) | 访问 X server 的凭据 | 见下 |
默认按以下顺序解析:
MEMOH_DESKTOP_DISPLAY/MEMOH_DESKTOP_XAUTHORITY- 若
/run/kibotos/desktop/Xauthority存在,则用:0+ 该文件(Memoh 工作区) - 否则用进程继承的
DISPLAY/XAUTHORITY
在别的机器上部署时,给 dsh web 进程设置环境变量即可,例如:
MEMOH_DESKTOP_DISPLAY=:1 \
MEMOH_DESKTOP_XAUTHORITY=/home/me/.Xauthority \
dsh web --no-open
没有 X11 时,画面接口返回 503 并显示错误,插件不会崩溃;但它无法在无桌面会话的服务器或 Windows/macOS 上工作(macOS/Windows 需要换用各自的截屏与输入 API)。
安装
# npm(发布后)
dsh plugin --profile web add dsh-plugin-memoh-desktop
# 或者 GitHub(钉住 commit 可复现)
dsh plugin --profile web add git+https://github.com/<you>/dsh-plugin-memoh-desktop.git#<40-char-sha>
# 或者本地目录 / tarball
dsh plugin --profile web add /path/to/dsh-plugin-memoh-desktop
也可以在 Web UI 的 Plugins → Discover 里添加收录了本插件的市场索引后点安装。
安装后刷新一次页面,右侧栏会出现「Memoh 桌面」标签;首次加载会自动打开一次。之后的会话可从右侧栏「+ / 指南」里重新打开。
安全说明
- 三个同源路由(
GET /memoh-desktop/frame、GET /memoh-desktop/state、POST /memoh-desktop/input)都要求 Harness 的登录凭据,未认证返回 401 - 输入动作是白名单(
move/click/dblclick/rightclick/scroll/type/key),参数做范围校验,用spawn数组传参,不经过 shell - 控制默认关闭;开启后会真的移动宿主机鼠标、向当前焦点窗口输入文字,不使用时请关闭
发布
见仓库根目录的 PUBLISHING.md;核心步骤是 npm publish + 把条目写进一个 format 1 插件市场索引,再把索引 URL 分享给别人。
许可
MIT
No comments yet. Be the first to write one.