💡 摘要
OpenWork是一个可扩展的平台,通过自动化工作流程来增强生产力,利用AI代理。
🎯 适合人群
🤖 AI 吐槽: “看起来很能打,但别让配置把人劝退。”
风险:Medium。建议检查:是否执行 shell/命令行指令;是否发起外网请求(SSRF/数据外发);API Key/Token 的获取、存储与泄露风险;文件读写范围与路径穿越风险;依赖锁定与供应链风险。以最小权限运行,并在生产环境启用前审计代码与依赖。
OpenWork
Make your company feel 1000× more productive.
We give AI agents the tools your team already uses and let them learn from your behavior. The more you use OpenWork, the more connected your tools become, the more knowledge accumulates, and the bigger the chunks of work you can automate.
OpenWork is the simplest interface to opencode. Double-click, pick a folder, and you get three things instantly:
- Zero-friction setup — your existing opencode configuration just works, no migration needed
- Chat access — WhatsApp and Telegram ready to go (one token, done)
- Cloud-ready — every app doubles as a client; deploy to the cloud and access from anywhere
The easiest way to create safe agentic workflow and share them with your team
It's an extensible, open-source alternative to “Claude Work”.
OpenWork is designed around the idea that you can easily ship your agentic workflows as a repeatable, productized process.
It’s a native desktop app that runs OpenCode under the hood, but presents it as a clean, guided workflow:
- pick a workspace
- start a run
- watch progress + plan updates
- approve permissions when needed
- reuse what works (commands + skills)
The goal: make “agentic work” feel like a product, not a terminal.
Alternate UIs
- Owpenbot (WhatsApp bot): a lightweight WhatsApp bridge for a running OpenCode server. Install with:
curl -fsSL https://raw.githubusercontent.com/different-ai/owpenbot/dev/install.sh | bash- run
owpenbot setup, thenowpenbot whatsapp login, thenowpenbot start - full setup: https://github.com/different-ai/owpenbot/blob/dev/README.md
- Openwrk (CLI host): run OpenCode + OpenWork server without the desktop UI. Install with
npm install -g openwrk.
Quick start
Download the dmg here https://github.com/different-ai/openwork/releases (or install from source below)
Why
Current CLI and GUIs for opencode are anchored around developers. That means a focus on file diffs, tool names, and hard to extend capabilities without relying on exposing some form of cli.
OpenWork is designed to be:
- Extensible: skill and opencode plugins are installable modules.
- Auditable: show what happened, when, and why.
- Permissioned: access to privileged flows.
- Local/Remote: OpenWork works locally as well as can connect to remote servers.
What’s Included
- Host mode: runs opencode locally on your computer
- Client mode: connect to an existing OpenCode server by URL.
- Sessions: create/select sessions and send prompts.
- Live streaming: SSE
/eventsubscription for realtime updates. - Execution plan: render OpenCode todos as a timeline.
- Permissions: surface permission requests and reply (allow once / always / deny).
- Templates: save and re-run common workflows (stored locally).
- Skills manager:
- list installed
.opencode/skillsfolders - install from OpenPackage (
opkg install ...) - import a local skill folder into
.opencode/skills/<skill-name>
- list installed
Skill Manager
Works on local computer or servers
Quick Start
Requirements
- Node.js +
pnpm - Rust toolchain (for Tauri): install via
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - Tauri CLI:
cargo install tauri-cli - OpenCode CLI installed and available on PATH:
opencode
Install
pnpm install
OpenWork now lives in packages/app (UI) and packages/desktop (desktop shell).
Run (Desktop)
pnpm dev
Run (Web UI only)
pnpm dev:ui
Arch Users:
yay -s opencode # Releases version
Architecture (high-level)
-
In Host mode, OpenWork spawns:
opencode serve --hostname 127.0.0.1 --port <free-port>- with your selected project folder as the process working directory. In Host mode, OpenWork starts an OpenCode server directly on your own computer in the background. When you select a project folder, OpenWork runs OpenCode locally using that folder and connects the desktop UI to it. This allows you to run agentic workflows, send prompts, and see progress entirely on your machine without relying on a remote server.
-
The UI uses
@opencode-ai/sdk/v2/clientto:- connect to the server
- list/create sessions
- send prompts
- subscribe to SSE events(Server-Sent Events are used to stream real-time updates from the server to the UI.)
- read todos and permission requests
Folder Picker
The folder picker uses the Tauri dialog plugin. Capability permissions are defined in:
packages/desktop/src-tauri/capabilities/default.json
OpenPackage Notes
If opkg is not installed globally, OpenWork falls back to:
pnpm dlx opkg install <package>
OpenCode Plugins
Plugins are the native way to extend OpenCode. OpenWork now manages them from the Skills tab by
reading and writing opencode.json.
- Project scope:
<workspace>/opencode.json - Global scope:
~/.config/opencode/opencode.json(or$XDG_CONFIG_HOME/opencode/opencode.json)
You can still edit opencode.json manually; OpenWork uses the same format as the OpenCode CLI:
{ "$schema": "https://opencode.ai/config.json", "plugin": ["opencode-wakatime"] }
Useful Commands
pnpm dev pnpm dev:ui pnpm typecheck pnpm build pnpm build:ui pnpm test:e2e
Troubleshooting
Linux / Wayland (Hyprland)
If OpenWork crashes on launch with WebKitGTK errors like Failed to create GBM buffer, disable dmabuf or compositing before launch. Try one of the following environment flags.
WEBKIT_DISABLE_DMABUF_RENDERER=1 openwork
WEBKIT_DISABLE_COMPOSITING_MODE=1 openwork
Security Notes
- OpenWork hides model reasoning and sensitive tool metadata by default.
- Host mode binds to
127.0.0.1by default.
Contributing
- Review
AGENTS.mdplusVISION.md,PRINCIPLES.md,PRODUCT.md, andARCHITECTURE.mdto understand the product goals before making changes. - Ensure Node.js,
pnpm, the Rust toolchain, andopencodeare installed before working inside the repo. - Run
pnpm installonce per checkout, then verify your change withpnpm typecheckpluspnpm test:e2e(or the targeted subset of scripts) before opening a PR. - Add new PRDs to
packages/app/pr/<name>.mdfollowing the.opencode/skills/prd-conventions/SKILL.mdconventions described inAGENTS.md.
For Teams & Businesses
Interested in using OpenWork in your organization? We'd love to hear from you — reach out at benjamin.shafii@gmail.com to chat about your use case.
License
MIT — see LICENSE.
优点
- 与现有配置零摩擦设置
- 支持多种通信平台
- 可通过插件扩展
- 可审计和权限化的工作流程
缺点
- 需要多个依赖项(Node.js,Rust等)
- 新用户可能有学习曲线
- 仅限于支持Tauri的环境
- 复杂工作流程中可能存在性能问题
相关技能
免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。
版权归原作者所有 different-ai.
