Skip to content

feat(computer): 内置 PI 后端并适配三大桌面平台 - #1064

Open
TFboy1 wants to merge 1 commit into
Open-Less:betafrom
TFboy1:feat/bundled-pi-computer
Open

feat(computer): 内置 PI 后端并适配三大桌面平台#1064
TFboy1 wants to merge 1 commit into
Open-Less:betafrom
TFboy1:feat/bundled-pi-computer

Conversation

@TFboy1

@TFboy1 TFboy1 commented Sep 11, 2026

Copy link
Copy Markdown

摘要

为 Less Computer 内置 PI SDK、独立 Node.js 和原生 Computer 工具。用户安装 OpenLess 后,启用 Less Computer 并配置模型凭据,即可通过 PI 查看和操作桌面,无需另装 PI、Node.js 或 Python。

修复 / 新增 / 改进

  • 接入 pi-bundled 后端,支持流式结果、取消、超时、实例内续聊及明确的完成状态。
  • 提供截图、显示器查询、鼠标、滚轮、按键和 Unicode 输入;区分只读与允许操作权限,并将截图作为图像传回模型。
  • 同步桌面设置与多语言文案,加入 Windows/macOS/Linux 的资源定位、打包流程、后端 CI 和使用说明。
  • 固定 PI/Node 版本与依赖锁文件,验证 Node 下载摘要;安装前执行后端健康检查,并移除运行时不需要的类型声明和源码映射,解决 NSIS 路径过长问题。

兼容

  • 不包含 Android/iOS、Linux Wayland 桌面控制;Linux 当前支持 X11。
  • 已有外部 Agent 配置保留,新安装默认后端为内置 PI;Less Computer 仍需用户启用,模型服务凭据仍由用户配置。
  • macOS 需要屏幕录制与辅助功能权限。macOS/Linux 已接入适配与构建流程,尚未实机验证;新增三平台 CI 尚待远程执行。
  • 首次构建需要网络及对应平台原生工具链。安装资源、依赖缓存、日志和本地安装包不提交到源码仓库。

测试计划

  • npm --prefix pi-backend test:12 项通过,覆盖真实 PI SDK 对接本地模拟模型服务、截图回传、取消与超时。
  • cargo test -p openless-computer:11 项测试通过;完成 5 项无桌面副作用的 CLI 检查。
  • node --test scripts/prepare-pi-backend.test.mjs:4 项通过,覆盖平台映射、摘要校验、清理边界和运行资源保留。
  • Core 相关过滤测试:Agent/Guard 35 项、PI 协议 2 项、Less Computer 24 项通过;1 项外部 Codex CLI 测试按条件忽略。
  • Whisper 串行复测 33 项通过;初次全量测试中的 2 项连接中止未在最终复测出现。
  • npm run build、Windows release 编译、NSIS 安装包生成及内置后端 --health / --capabilities 均通过。
  • 生成并核验 Windows 安装包及独立 PI 后端 ZIP;未执行界面验证或真实桌面输入测试。
  • 与当前 origin/betagit merge-tree --write-tree 检查无冲突,git diff --check 通过。

测试源码位于 openless-all/app/pi-backend/test/backend.test.mjsopenless-all/app/scripts/prepare-pi-backend.test.mjs 和 Rust crates 内。成功构建记录为本地 windows-pi-bundle-final.logpi-core-tests.logcore-whisper-final.log(日志未入库)。使用和构建说明见 docs/less-computer-pi.md

@appergb

appergb commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

@TFboy1 增加以下逻辑:如果用户选择开启 Less Computer,则在下载时弹出提示框,询问用户是否下载。关闭 Less Computer 时提供两个选项:卸载并关闭,或不卸载并保留数据。为确保不出现上述问题,需要增加一套独立的下载后端,即单独的下载机制。对于不使用 Less Computer 的用户,可以不下载该部分内容。然后将其解耦,以类似解耦的方式进行下载。同时为解耦后的部分单独增加仓库,我待会新建仓库,你待会把 PR 提上来,我拉下来之后会有一个单独的仓库,用于使用 Less Computer 构建版本,并让用户通过这个单独的仓库去拉取。

@H-Chris233 H-Chris233 assigned H-Chris233 and appergb and unassigned H-Chris233 Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants