Skip to content

vergess3/workbuddy-remote

Repository files navigation

WorkBuddy Remote New

官方已经推出自己的 WorkBuddy Remote / 网页版 WorkBuddy:https://www.codebuddy.cn/agents。想要快速上手、少折腾的用户,优先推荐直接使用官方 WorkBuddy Remote。

如果你更在意本地数据留存、局域网/内网部署、可控的 API 配置,或者希望自定义界面和桥接逻辑,本项目仍然适合继续使用。

这是重构后的 WorkBuddy 远程桥接项目。由于官方前端已经完成重构,本项目也从原来较重的 relay/native 镜像方案,改成直接复用官方 WebUI 的形式:

  1. 从桌面版 WorkBuddy 的 resources/app.asar 读取原版 renderer/index.html 和静态资源。
  2. 在网页里注入一个轻量 buddyAPI shim。
  3. 通过一条浏览器 WebSocket 把 buddyAPI 调用转发到桌面 WorkBuddy 主窗口的 CDP 目标。

和旧版相比,新的实现不再维护独立 light/native 前端、VS Code IPC 镜像层、动态 MessagePort relay 和大量窗口清理逻辑。浏览器打开的是官方 WebUI 资源,桥接层只负责补齐浏览器里缺少的原生能力,因此项目体积更小,启动路径更短,页面打开速度也明显更快。

目录

  • src/asar.mjs: 最小 ASAR 读取器。
  • src/bridge/runtime.mjs: CDP 连接和 buddyAPI 转发。
  • src/server/bridge-server.mjs: HTTP 静态资源服务和 /bridge/ws
  • src/web/workbuddy-native.mjs: 浏览器端 buddyAPI shim。
  • tools/start-workbuddy-remote.ps1: Windows 启动脚本。
  • tools/workbuddy-password-hash.mjs: 生成访问密码哈希。

安装

需要 Node.js 18+,并且本机已经安装桌面版 WorkBuddy。

cd C:\Users\Public\workbuddy-remote-new
npm install

本机启动

双击根目录的:

start-workbuddy-remote.vbs

它会隐藏 PowerShell 窗口,自动补装 Node 依赖,启动 WorkBuddy 和轻量 bridge,并在就绪后打开浏览器。

也可以手动用 PowerShell 启动:

powershell -ExecutionPolicy Bypass -File .\tools\start-workbuddy-remote.ps1 -ListenHost 127.0.0.1

启动后访问:

http://127.0.0.1:8780/agent-manager/

如果 9333 CDP 端口已经有 WorkBuddy 在监听,启动脚本会复用现有 WorkBuddy;否则才会启动新的 WorkBuddy。

局域网访问

先生成密码哈希:

node .\tools\workbuddy-password-hash.mjs "你的密码"

再启动:

powershell -ExecutionPolicy Bypass -File .\tools\start-workbuddy-remote.ps1 -ListenHost 0.0.0.0 -PasswordHash "sha256:..."

非 localhost 监听必须设置 -PasswordHash 或环境变量 WORKBUDDY_REMOTE_PASSWORD_HASH

配置

workbuddy-remote.config.json:

{
  "workbuddyExePath": "",
  "workbuddyUserDataDir": "",
  "runtimeRootDir": "output/runtime",
  "cdpPort": 9333,
  "bridgePort": 8780,
  "listenHost": "127.0.0.1",
  "killWorkBuddyProcessesBeforeStart": false,
  "hideWorkBuddyWindowAfterStart": true,
  "maskBridgeModelSecrets": true
}

workbuddyExePath 留空时会自动查找常见安装路径。

hideWorkBuddyWindowAfterStart 设为 true 时,bridge 连接到 WorkBuddy 后会自动请求隐藏桌面窗口;WorkBuddy 进程和托盘仍保留,浏览器页面继续可用。

maskBridgeModelSecrets 设为 true 时,bridge 会先在服务端拦截模型配置读取结果,把接口地址 / Base URL 和 API Key 替换成占位值,再返回给浏览器;页面上也会继续把对应输入框显示为圆点。

进程和连接

刷新网页只会断开并重建浏览器到桥接服务的 WebSocket,不会创建新的 WorkBuddy 进程。浏览器 WebSocket 断开时,服务会释放该页面注册的事件订阅,避免刷新后订阅堆积。

桌面 WorkBuddy 仍然负责原生会话、任务、内存和账号状态。这个项目只做远程页面和调用转发,不再包含原来那套 C/native 内存管理代码。

检查

npm run check

About

在任何时间、任何地点、任何设备上使用腾讯 WorkBuddy | Use Tencent WorkBuddy from anywhere, on any device, at anytime

Resources

License

Stars

203 stars

Watchers

17 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors