
OpenWork 是一个可扩展的开源“Claude Work”风格系统,专为知识工作者设计。
它构建在 opencode 之上,让你可以将 opencode 工作流转化为非技术用户可用的体验。

OpenWork 的设计围绕一个理念:你可以轻松地发布你的工作流。
它是一个原生桌面应用,底层运行 OpenCode,但以清晰、有指导性的工作流形式呈现:
•选择一个工作空间•开始运行•观察进度和计划更新•需要时批准权限•重用有效的内容(模板 + 技能)目标:让“代理工作”(agentic work)像使用产品一样,而不是像使用终端。
在 GitHub 发布页面[1] 下载 dmg 文件(或者从源代码安装)。
当前的 CLI 和 GUI 对于 opencode 来说,主要面向开发者。这意味着它们专注于文件差异、工具名称,以及没有开放 CLI 的情况下难以扩展的功能。
OpenWork 的设计目标是:
•可扩展:技能和 opencode 插件是可安装的模块。•可审计:能够展示发生了什么,何时发生,为什么发生。•有权限控制:访问受限流程。•本地/远程:OpenWork 可在本地运行,也可连接到远程服务器。
•主机模式:在本地计算机上运行 opencode。•客户端模式:通过 URL 连接到现有的 OpenCode 服务器。•会话:创建/选择会话并发送提示。•实时流:使用 SSE / 事件订阅进行实时更新。•执行计划:将 OpenCode 待办事项呈现为时间线。•权限管理:显示权限请求并响应(一次允许 / 永久允许 / 拒绝)。•模板:保存并重新运行常见工作流(本地存储)。•技能管理器:•列出已安装的 .opencode/skill 文件夹•从 OpenPackage 安装(opkg install ...)•将本地技能文件夹导入到 .opencode/skill/<skill-name>


•Node.js + pnpm•Rust 工具链(用于 Tauri):cargo, rustc•已安装并可用的 OpenCode CLI:opencode
pnpm installOpenWork 现在位于 packages/desktop 目录。根目录的脚本将会转发到该包。
pnpm dev运行(仅 Web UI)
pnpm dev:web•在主机模式下,OpenWork 启动:•opencode serve --hostname 127.0.0.1 --port <free-port>•并将你选择的项目文件夹作为进程的工作目录。•UI 使用@opencode-ai/sdk/v2/client 来:•连接到服务器•列出/创建会话•发送提示•订阅 SSE 事件•读取待办事项和权限请求
文件夹选择器使用了 Tauri 的对话框插件。权限设置在以下文件中定义:
•packages/desktop/src-tauri/capabilities/default.json
如果 opkg 没有全局安装,OpenWork 会回退到:
pnpm dlx opkg install <package>插件是扩展 OpenCode 的原生方式。OpenWork 现在通过读取和写入 opencode.json 来管理插件,操作在“技能”选项卡中完成。
•项目范围:<workspace>/opencode.json•全局范围:~/.config/opencode/opencode.json (或 $XDG_CONFIG_HOME/opencode/opencode.json)
你仍然可以手动编辑 opencode.json 文件;OpenWork 使用与 OpenCode CLI 相同的格式:
{
"$schema":"https://opencode.ai/config.json",
"plugin":["opencode-wakatime"]
}•pnpm typecheck•pnpm build:web•pnpm test:e2e
•默认情况下,OpenWork 隐藏模型推理和敏感的工具元数据。•主机模式默认绑定到 127.0.0.1。
https://github.com/different-ai/openwork[1] GitHub 发布页面: https://github.com/different-ai/openwork/releases