OpenWork 是一个可扩展、开源的桌面应用,目标是为知识工作者提供类似 “Claude Work” 的体验——但完全基于本地、透明可控,并围绕 OpenCode 构建。

它不是另一个聊天界面,而是一个有引导性的工作流系统:你可以选择项目目录、启动一次智能体运行、查看执行计划、审批权限请求,并保存常用流程供后续复用。它的核心理念是:让“智能体工作”感觉像使用一个产品,而不是在操作命令行工具。
为什么需要 OpenWork?
目前,OpenCode 主要面向开发者设计。它的 CLI 和 Web UI 聚焦于底层细节:文件差异、工具名称、日志输出等。虽然功能强大,但对于非开发者或希望专注任务本身的知识工作者来说,门槛较高,且难以在不暴露终端的前提下扩展能力。
OpenWork 正是为了弥合这一差距而生:
- 可扩展:通过“技能(Skills)”机制,支持模块化安装插件。
- 可审计:清晰展示智能体做了什么、何时做、为何做。
- 权限可控:任何涉及敏感操作(如文件写入、网络请求)都会弹出权限确认。
- 灵活部署:既可在本地运行,也能连接远程 OpenCode 服务器。

核心功能一览
1. 双模式运行
- 主机模式:在本地启动
opencode serve,绑定到127.0.0.1,完全离线运行。 - 客户端模式:输入远程 OpenCode 服务的 URL,即可连接已有实例。
2. 会话管理
- 创建、切换、导出会话。
- 支持实时事件流(SSE),UI 自动更新执行状态。
- 可中断、压缩、分享或撤销单条消息。
3. 执行计划可视化
将 OpenCode 生成的待办事项(todos)以时间线形式呈现,帮助用户理解智能体的下一步行动。
4. 权限控制系统
所有高危操作(如读写文件、调用外部工具)均需用户明确授权,支持“仅本次允许”、“始终允许”或“拒绝”。
5. 模板与技能复用
- 模板:将常用提示词或工作流保存为本地模板,一键重用。
- 技能管理器:
- 列出
.opencode/skill/下已安装的技能; - 通过 OpenPackage(
opkg)在线安装新技能; - 支持从本地目录导入技能。
- 列出
技能本质是 OpenCode 插件,配置统一写入
opencode.json(项目级或全局级),与 CLI 完全兼容。

快速上手
下载预编译版本(macOS)
前往 GitHub Releases 页面下载 .dmg 文件(当前为未签名版本,首次运行需手动确认)。
从源码构建(推荐开发者)
前提依赖:
- Node.js + pnpm
- Rust 工具链(cargo, rustc)
- 已安装
opencodeCLI 并加入 PATH
pnpm install
pnpm dev # 启动桌面应用(Tauri)
pnpm dev:web # 仅启动 Web UI
技术架构简述
在主机模式下,OpenWork 会自动执行:
opencode serve --hostname 127.0.0.1 --port <随机空闲端口>
并将你选择的项目目录设为工作路径。
前端通过 @opencode-ai/sdk/v2/client 与后端通信,实现会话管理、事件订阅、权限交互等功能。
文件选择使用 Tauri 原生对话框插件,权限策略定义在 src-tauri/capabilities/default.json 中,确保最小权限原则。
关于 OpenPackage 与插件
若系统未全局安装 opkg,OpenWork 会自动回退到:
pnpm dlx opkg install <package>
确保技能安装流程无缝衔接。
插件配置遵循 OpenCode 标准格式,例如:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-wakatime"]
}
你仍可手动编辑 opencode.json,OpenWork 不会覆盖你的自定义设置。
安全与隐私
- 默认隐藏模型推理过程和敏感元数据(如 API 密钥、内部工具参数)。
- 主机模式仅监听
127.0.0.1,不对外暴露服务。 - 所有网络请求、文件操作均需显式授权。
适合谁使用?
- 希望用智能体辅助写作、编程、研究的知识工作者;
- 注重本地运行、数据隐私、操作透明的用户;
- 想要模块化扩展 OpenCode 能力,但不愿深入 CLI 的实践者。
OpenWork 目前处于早期迭代阶段(v0.1.x),但已具备完整工作流闭环。如果你厌倦了“黑箱式”的 AI 助手,不妨试试这个开源、可审计、可控制的替代方案。















