# ow
**Repository Path**: davidfrz123/ow
## Basic Information
- **Project Name**: ow
- **Description**: openwork
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: cn02
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-06
- **Last Updated**: 2026-03-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](https://discord.gg/VEhNQXxYMB)
[English](./README.md) | 简体中文 | [繁體中文](./README_ZH_hk.md)
# OpenWork
> 让您的公司提升 1000 倍的生产力。
我们为 AI 智能体配备您团队已经在使用的工具,并让它们从您的行为中学习。您使用 OpenWork 越多,工具之间的连接就越紧密,积累的知识就越多,能够自动化的工作块就越大。
OpenWork 是 opencode 的最简单界面。双击,选择一个文件夹,即可立即获得三大核心优势:
1. 零摩擦设置 — 您现有的 opencode 配置开箱即用,无需迁移
2. 聊天集成 — WhatsApp 和 Telegram 即时可用(一个令牌,全部搞定)
3. 云端就绪 — 每个应用都可以作为客户端;部署到云端,随时随地访问
> **创建安全智能体工作流程并与团队共享的最简单方式**
它是 "Claude Work" 的**可扩展开源替代品**。
OpenWork 围绕一个核心理念设计:让您可以轻松地将智能体工作流程作为可重复的、产品化的流程进行交付。
它是一个原生桌面应用程序,底层运行 **OpenCode**,但将其呈现为简洁的引导式工作流程:
- 选择工作区
- 开始运行
- 观察进度 + 计划更新
- 需要时批准权限
- 重用有效的方法(命令 + 技能)
目标:让"智能体工作"感觉像一个产品,而不是终端。
## 其他界面
- **Owpenbot (WhatsApp 机器人)**:为运行中的 OpenCode 服务器提供的轻量级 WhatsApp 桥接器。安装方法:
- `curl -fsSL https://raw.githubusercontent.com/different-ai/owpenbot/dev/install.sh | bash`
- 运行 `owpenbot setup`,然后 `owpenbot whatsapp login`,接着 `owpenbot start`
- 完整设置:https://github.com/different-ai/owpenbot/blob/dev/README.md
- **Openwrk (CLI 主机)**:无需桌面 UI 即可运行 OpenCode + OpenWork 服务器。使用 `npm install -g openwrk` 安装。
- 文档:[packages/headless/README.md](./packages/headless/README.md)
## 快速开始
在此处下载 dmg:https://github.com/different-ai/openwork/releases(或按照下面的说明从源代码安装)
## 为什么选择 OpenWork
当前 opencode 的 CLI 和 GUI 都以开发者为中心。这意味着专注于文件差异、工具名称,以及在不依赖某种形式的 CLI 的情况下难以扩展的功能。
OpenWork 的设计目标是:
- **可扩展**:技能和 opencode 插件是可安装的模块。
- **可审计**:显示发生了什么、何时发生以及为什么发生。
- **权限控制**:访问特权流程。
- **本地/远程**:OpenWork 可以在本地工作,也可以连接到远程服务器。
## 包含的功能
- **主机模式**:在您的计算机上本地运行 opencode
- **客户端模式**:通过 URL 连接到现有的 OpenCode 服务器
- **会话**:创建/选择会话并发送提示
- **实时流传输**:SSE `/event` 订阅以获取实时更新
- **执行计划**:将 OpenCode 待办事项呈现为时间线
- **权限**:显示权限请求并回复(允许一次/始终允许/拒绝)
- **模板**:保存并重新运行常见工作流程(本地存储)
- **技能管理器**:
- 列出已安装的 `.opencode/skills` 文件夹
- 从 OpenPackage 安装(`opkg install ...`)
- 将本地技能文件夹导入到 `.opencode/skills/`
## 技能管理器
## 适用于本地计算机或服务器
## 快速开始
### 系统要求
- Node.js + `pnpm`
- Rust 工具链(用于 Tauri):通过 `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh` 安装
- Tauri CLI:`cargo install tauri-cli`
- 已安装 OpenCode CLI 且可在 PATH 中使用:`opencode`
### 安装
```bash
pnpm install
```
OpenWork 现在位于 `packages/app`(UI)和 `packages/desktop`(桌面外壳)中。
### 运行(桌面版)
```bash
pnpm dev
```
### 运行(仅 Web UI)
```bash
pnpm dev:ui
```
### Arch 用户:
```bash
yay -s opencode # 已发布版本
```
## 架构(高级)
- 在**主机模式**中,OpenWork 启动:
- `opencode serve --hostname 127.0.0.1 --port `
- 以您选择的项目文件夹作为进程工作目录。
在主机模式下,OpenWork 直接在您的计算机上后台启动 OpenCode 服务器。
当您选择项目文件夹时,OpenWork 使用该文件夹在本地运行 OpenCode 并将桌面 UI 连接到它。
这允许您完全在您的机器上运行智能体工作流程、发送提示并查看进度,而无需依赖远程服务器。
- UI 使用 `@opencode-ai/sdk/v2/client` 来:
- 连接到服务器
- 列出/创建会话
- 发送提示
- 订阅 SSE 事件(即“服务器发送事件”,用于从服务器向 UI 流式传输实时更新)
- 读取待办事项和权限请求
## 文件夹选择器
文件夹选择器使用 Tauri 对话框插件。
功能权限在以下文件中定义:
- `packages/desktop/src-tauri/capabilities/default.json`
## OpenPackage 说明
如果 `opkg` 未全局安装,OpenWork 会回退到:
```bash
pnpm dlx opkg install
```
## OpenCode 插件
插件是扩展 OpenCode 的**原生**方式。OpenWork 现在通过从技能选项卡读取和写入 `opencode.json` 来管理它们。
- **项目范围**:`/opencode.json`
- **全局范围**:`~/.config/opencode/opencode.json`(或 `$XDG_CONFIG_HOME/opencode/opencode.json`)
您仍然可以手动编辑 `opencode.json`;OpenWork 使用与 OpenCode CLI 相同的格式:
```json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-wakatime"]
}
```
## 有用的命令
```bash
pnpm dev
pnpm dev:ui
pnpm typecheck
pnpm build
pnpm build:ui
pnpm test:e2e
```
## 故障排除
### Linux / Wayland (Hyprland)
如果 OpenWork 在启动时因 WebKitGTK 错误(如 `Failed to create GBM buffer`)而崩溃,请在启动前禁用 dmabuf 或合成。尝试以下环境标志之一。
```bash
WEBKIT_DISABLE_DMABUF_RENDERER=1 openwork
```
```bash
WEBKIT_DISABLE_COMPOSITING_MODE=1 openwork
```
## 安全说明
- OpenWork 默认隐藏模型推理和敏感工具元数据。
- 主机模式默认绑定到 `127.0.0.1`。
## 贡献
- 在进行更改之前,请查看 `AGENTS.md` 以及 `VISION.md`、`PRINCIPLES.md`、`PRODUCT.md` 和 `ARCHITECTURE.md` 以了解产品目标。
- 在仓库内工作之前,确保已安装 Node.js、`pnpm`、Rust 工具链和 `opencode`。
- 每次检出后运行一次 `pnpm install`,然后在打开 PR 之前使用 `pnpm typecheck` 加上 `pnpm test:e2e`(或目标脚本子集)验证您的更改。
- 按照 `AGENTS.md` 中描述的 `.opencode/skills/prd-conventions/SKILL.md` 约定,将新的 PRD 添加到 `packages/app/pr/.md`。
## 面向团队和企业
有兴趣在您的组织中使用 OpenWork?我们很乐意听取您的意见 — 请发送邮件至 [benjamin.shafii@gmail.com](mailto:benjamin.shafii@gmail.com) 与我们讨论您的用例。
## 许可证
MIT — 请参见 `LICENSE`。