展示HN:OpenWork – Claude Cowork 的一个开源替代方案
Show HN: OpenWork – An open-source alternative to Claude Cowork

原始链接: https://github.com/different-ai/openwork

## OpenWork:轻松实现自主工作 OpenWork 是一款桌面应用程序,旨在简化“自主工作”——利用AI代理处理知识任务——通过为强大的OpenCode框架提供用户友好的界面来实现。它致力于提供精致的产品体验,而非复杂的命令行界面。 主要功能包括:引导式工作流程、带有执行计划时间线的实时进度跟踪、权限管理以及可重用的模板和“技能”(插件)。OpenWork 具有**可扩展性**,可通过安装模块实现,**可审计**,具有详细日志,并支持**本地和远程**操作。 它在底层管理OpenCode,处理服务器设置和通信。用户可以创建会话、发送提示并接收实时更新。技能通过专用标签管理,利用OpenPackage管理器 (opkg) 或本地导入。配置通过 `opencode.json` 文件处理,镜像 OpenCode CLI。 OpenWork 优先考虑安全性,隐藏敏感信息并默认使用本地连接。它使用 Node.js、pnpm 和 Rust (Tauri) 构建。

## OpenWork:一个本地优先的OpenCode图形用户界面 Ben_talent推出了OpenWork,一个开源桌面应用程序,灵感来自Claude Cowork,旨在为技术导向的OpenCode提供一个用户友好的图形用户界面。该项目解决了非技术用户在本地运行强大工作流的需求——例如家庭自动化或部署应用程序——而无需依赖命令行界面。 OpenWork优先考虑开源、高度可扩展(通过可安装的“技能”,利用OpenCode的插件生态系统)以及对非技术用户的可访问性,重点在于清晰的用户界面呈现计划、进度和权限。它目前与Claude Skills集成,并提供DMG或通过GitHub下载。 该项目目前处于非常早期的开发阶段(“alpha”阶段),创建者正在积极寻求反馈,尤其是在可用性方面。讨论强调了更广泛采用的潜力、与现有工具(如ACP)的比较,以及使此类工具对“会计部的苏珊”等用户可访问的挑战。开发者承认当前的技术障碍,并计划通过更简单的安装、预配置配置和简化的术语来解决这些问题。
相关文章

原文

OpenWork is an extensible, open-source “Claude Work” style system for knowledge workers.

Screenshot 2026-01-13 at 7 19 02 PM

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 (templates + skills)

The goal: make “agentic work” feel like a product, not a terminal.

Download the dmg here https://github.com/different-ai/openwork/releases (or install from source below)

Knowledge workers don’t want to learn a CLI, fight config sprawl, or rebuild the same workflows in every repo. 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.
  • Host mode: start opencode serve locally in a chosen folder.
  • Client mode: connect to an existing OpenCode server by URL.
  • Sessions: create/select sessions and send prompts.
  • Live streaming: SSE /event subscription 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/skill folders
    • install from OpenPackage (opkg install ...)
    • import a local skill folder into .opencode/skill/<skill-name>
image

Works on local computer or servers

Screenshot 2026-01-13 at 7 05 16 PM
  • Node.js + pnpm
  • Rust toolchain (for Tauri): cargo, rustc
  • OpenCode CLI installed and available on PATH: opencode

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.
  • The UI uses @opencode-ai/sdk/v2/client to:
    • connect to the server
    • list/create sessions
    • send prompts
    • subscribe to SSE events
    • read todos and permission requests

The folder picker uses the Tauri dialog plugin. Capability permissions are defined in:

  • src-tauri/capabilities/default.json

If opkg is not installed globally, OpenWork falls back to:

pnpm dlx opkg install <package>

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"]
}
pnpm typecheck
pnpm build:web
pnpm test:e2e
  • OpenWork hides model reasoning and sensitive tool metadata by default.
  • Host mode binds to 127.0.0.1 by default.

TBD.

联系我们 contact @ memedata.com