样本 - openwork (different-ai/openwork) 23.2k★ 能力分发层,DCO + evals + worlds - orca (stablyai/orca) 58.8k★ 并行编排外壳,5000 issue 实为团队自开任务板 - maka (apache/maka) 4.4k★ 执行记录层,Apache 孵化但无正式 release 档案 - 三份五维档案填完,risk.claim_vs_reality 均已核实到证据 - ipollowork 象限坐标从占位 9/9/9/9 校准为 8/7/7/7(与新样本同一标尺) 文章 - 新增横评文《四个 Agent 工作台的路线分野:把「多引擎中立」拆开看》(emlog id=99) - 总纲文回填四项目矩阵 + 双视图象限图 (emlog id=98) 镜像 - gitinbox/maka 已推送(public,source-only 快照 12 MB) - openwork(291MB) / orca(671MB) 受 50KB/s 带宽约束,档案标 mode: pending 规则 - license-tiers.yaml 新增「目录切分许可」降级流程(OpenWork 判例: 排除 ee/ 后为纯 MIT → public,完整镜像 → private) - registry.yaml openwork 可见性改 public + mirror_excludes: ["ee/"] 脚本修复 - _common.py 新增 upsert_block:手工整块覆盖 ecosystem 删掉 metrics 时能自愈 - mirror_sync.sh:SOURCE_ONLY 未初始化(set -u 下偶发炸); 浅仓推送被服务端拒绝 → 自动 --unshallow,失败降级快照; 量体积前先 repack(此前新 commit 全是 loose object,恒打印 0 MB) - build_matrix.py:成熟度长文本移出表格(新增 maturity_level 短标签); 象限图标签靠右时翻转到左侧防溢出;SVG 加 max-width 防窄屏溢出; 文章索引改为自动生成(原先手抄,横评文发了索引里却没有) - publish_emlog.py:ID 回写按「有无同名档案」分流, 00-* 跨项目文章落到 articles/<id>.meta.yaml(此前 ID 无处可写)
227 lines
10 KiB
YAML
227 lines
10 KiB
YAML
# openwork · 项目档案
|
||
# 生成于 2026-09-01 · 由 scripts/new_project.py 从 schema 生成
|
||
# 人工补完重点:business / scenario / tech / risk.claim_vs_reality / verdict
|
||
# 字段规范见 schema/project.schema.yaml
|
||
|
||
id: openwork
|
||
name: "openwork"
|
||
repo: "different-ai/openwork"
|
||
homepage: "https://openworklabs.com"
|
||
added_at: "2026-09-01"
|
||
status: active
|
||
identity:
|
||
tagline: "The open-source alternative to Claude Cowork (powered by opencode)"
|
||
vendor: "Different AI, Inc."
|
||
vendor_type: "vendor"
|
||
region: "美国(YC 背书)"
|
||
first_seen: "2026-01-14"
|
||
business:
|
||
|
||
positioning: |-
|
||
站在「能力分发层」,不争桌面入口。核心资产是 OpenWork MCP 与 Den 控制面——
|
||
把 skills / MCP / 连接服务做成可跨工具、跨人、跨机器复用的组织级能力包。
|
||
target_users:
|
||
- 已在使用 Codex / Claude Code / Cursor 且不想换工具的开发者
|
||
- 需要统一管控 agent 能力的中大型组织
|
||
- 想把自己搭好的工作流分发给同事或朋友的团队
|
||
monetization: |-
|
||
Den 订阅(组织控制面)。免费额度写得很明确:
|
||
5 人以下组织的非 Enterprise 功能全免、任意规模 30 天评估、开发测试永久免费。
|
||
license:
|
||
spdx: "NOASSERTION"
|
||
name: "目录切分许可(GitLab 式):ee/ 之外为 MIT;ee/ 为 OpenWork EE License"
|
||
openness: L3
|
||
redistributable: false
|
||
key_restrictions:
|
||
- ee/ 目录(Den 控制面、MCP 网关、推理)生产使用需有效订阅;5 人以下组织在排除 Enterprise 功能后免费
|
||
- 每个 ee/ 版本公开发布满两年后,自动追加 MIT 授权(Grant of Future License)
|
||
- 客户端侧资源(image / font / CSS / 编译产出的 JS)始终为 MIT
|
||
- 不得移除版权与许可声明;不授予商标使用权
|
||
- 更早版本仍受原 FSL-1.1-MIT 约束,不自动升级到新许可
|
||
moat: |-
|
||
组织侧的能力分发与治理(谁能用什么模型、谁能拿到什么 skill),
|
||
以及「一次创建、处处复用」带来的工作流网络效应。
|
||
competitive_risk: |-
|
||
最容易被 Anthropic / OpenAI 官方的 skills 市场与组织管理后台正面取代——
|
||
OpenWork 的价值恰恰建立在「官方还没做好跨工具能力分发」这个时间窗口上。
|
||
|
||
scenario:
|
||
|
||
primary:
|
||
- 把一套 skills + MCP + Google Workspace / Microsoft 365 连接,同时挂给 Codex、Claude Code、Cursor
|
||
- 组织统一发布能力、配置模型配额与访问权限
|
||
- 桌面端作为专注工作区(可选,非必需)
|
||
typical_use_cases:
|
||
- 团队写好一套内部 skill,通过 Den 发布到组织,成员在各自惯用的 agent 里调 search_capabilities 直接用
|
||
- 管理员限制部分成员只能使用指定 model provider,并统一配置共享连接
|
||
- 个人把工作流分享给朋友,对方装一个 MCP 就能用
|
||
industries:
|
||
- 软件研发
|
||
- 企业 IT 与知识工作流
|
||
interaction_mode:
|
||
- MCP 远程服务
|
||
- 桌面应用(可选)
|
||
- 浏览器登录授权
|
||
human_in_the_loop: |-
|
||
能力调用需人工在浏览器登录并选择组织;企业侧由管理员通过策略管控。
|
||
deliverables:
|
||
- workflow
|
||
- skill-package
|
||
- capability
|
||
|
||
tech:
|
||
|
||
form_factor: MCP 远程服务 + 可选桌面应用 + Web 控制面
|
||
stack:
|
||
- Electron
|
||
- React
|
||
- TypeScript
|
||
- Node.js 24
|
||
- pnpm
|
||
- MCP
|
||
engine_abstraction:
|
||
supported:
|
||
- Codex
|
||
- Claude Code
|
||
- Cursor
|
||
- OpenCode
|
||
- ChatGPT
|
||
- 任意 MCP client
|
||
mechanism: |-
|
||
「反向注入」:不做引擎抽象层,而是把自己做成 MCP server 让各引擎来连。
|
||
对外只暴露两个工具——search_capabilities 与 execute_capability。
|
||
abstraction_layer: OpenWork MCP(能力面,不是执行面)
|
||
depth_notes: |-
|
||
接入「对等且都浅」:所有引擎都以同一个 MCP 客户端身份接入,
|
||
拿到的是能力调用,不是执行控制——OpenWork 不接管 agent 的执行循环、
|
||
不负责上下文管理、不做权限回调。
|
||
真正深度绑定的是 OpenCode:仓库描述即写 powered by opencode,
|
||
桌面端属 OpenCode 生态,其余引擎只是 MCP 外挂。
|
||
这与 iPolloWork 的「Codex 仅 MCP 控制面」是同一个问题的两种解法:
|
||
iPolloWork 把 MCP 当补丁(主体是桌面),OpenWork 把 MCP 当主体(桌面是可选)。
|
||
extension_system:
|
||
skills: |-
|
||
一等公民:可发布、可分配到组织/团队/个人;支持导入 Agent Plugins
|
||
与 Anthropic 兼容插件并转为 OpenWork MCP 能力。
|
||
plugins: 通过 marketplace 发布与分配
|
||
mcp: |-
|
||
自身即以 MCP server 形态对外提供服务(https://api.openworklabs.com/mcp/agent),
|
||
同时也消费下游 MCP 连接。
|
||
model_binding: Den 侧可统一配置与配额控制 model provider;桌面 app 本身 BYO
|
||
local_first: true
|
||
multi_agent: 未强调多 agent 编排,重心是能力的共享与治理
|
||
permission_sandbox: |-
|
||
组织级管控:桌面策略下发、限制本地模型访问、控制可用 app 版本、
|
||
成员与团队的访问控制。
|
||
observability: |-
|
||
Den 提供推理配额管控与访问审计;
|
||
桌面 app 侧未见 agent 执行轨迹的记录设计——它观测的是「谁用了什么能力」,
|
||
不是「agent 怎么把事做完的」。
|
||
|
||
ecosystem:
|
||
|
||
community: |-
|
||
YC 背书,23k star。贡献门槛是四个里最高的:
|
||
强制 DCO sign-off(每个 commit 都要 Signed-off-by),
|
||
ee/ 目录的改动还需额外 CLA。
|
||
standards:
|
||
- MCP
|
||
notable_events:
|
||
- 2026-01-14 建仓
|
||
- 早期版本采用 FSL-1.1-MIT,后改为 MIT + EE 目录切分许可
|
||
- ee/ 采用两年自动转 MIT 的 Grant of Future License 机制
|
||
- 2026-09-01 达 23.2k star、版本 v0.18.40
|
||
|
||
metrics:
|
||
stars: 23253
|
||
forks: 2307
|
||
open_issues: 414
|
||
subscribers: 89
|
||
created_at: 2026-01-14
|
||
pushed_at: 2026-09-01
|
||
size_kb: 298398
|
||
languages: {TypeScript: 89.9, JavaScript: 6.7, MDX: 1.2, CSS: 0.9, Shell: 0.6, Swift: 0.5}
|
||
latest_release: v0.18.40
|
||
release_cadence: 约 1 天/版本
|
||
data_date: 2026-09-01
|
||
stale: false
|
||
risk:
|
||
maturity_level: "0.x 活跃"
|
||
|
||
license_risk: |-
|
||
整体 SPDX 为 NOASSERTION,但**排除 ee/ 目录后是纯 MIT,可以公开镜像**。
|
||
若完整镜像(含 ee/)则必须私有——EE License 明确要求生产使用需订阅,
|
||
且禁止未经授权的复制与再分发。
|
||
对实操的影响很小:5 人以下组织免费、30 天评估免费、开发测试免费,
|
||
个人与小团队几乎不会触发付费条件。
|
||
vendor_lockin: |-
|
||
锁定在 Den 控制面与能力包格式。一旦组织把内部 skills 都发布到 Den,
|
||
迁移成本取决于是否有导出路径——README 未说明。
|
||
claim_vs_reality:
|
||
- claim: |-
|
||
「Claude Cowork 的开源替代品」
|
||
actual: |-
|
||
形态完全不同。Cowork 是桌面操控型 agent(直接操作你的电脑完成工作);
|
||
OpenWork 是能力分发型 MCP 层,桌面 app 被明确定位为可选——
|
||
README 原文「The desktop app is there when you want a dedicated
|
||
workspace, but it is not required」。
|
||
它替代的是 Cowork 唤起的「能力复用」诉求,不是 Cowork 本身。
|
||
source: README 开篇与「Use OpenWork from any agent」段
|
||
- claim: |-
|
||
跨 Codex / Claude Code / Cursor / OpenCode 多引擎通用
|
||
actual: |-
|
||
对 OpenCode 是原生的(仓库描述 powered by opencode,桌面端属其生态);
|
||
对其余引擎只通过自己暴露的两个 MCP 工具对接。
|
||
这是能力调用面,不是引擎执行面——OpenWork 不接管这些引擎的执行循环、
|
||
上下文与权限。对外宣称的「跨引擎」与内部实际的主从关系存在落差。
|
||
source: README「It exposes two tools」段;仓库 description「powered by opencode」
|
||
- claim: |-
|
||
free, open-source(免费开源)
|
||
actual: |-
|
||
需要分目录看:ee/ 之外确实 MIT 且免费;但 ee/(Den 组织控制面、
|
||
MCP 网关、推理)属 source-available,生产使用需付费订阅,
|
||
只有 5 人以下组织、30 天评估、开发测试三种情形豁免。
|
||
个人免费,团队与企业要付费。
|
||
source: README Licensing 段 + ee/LICENSE 原文 72 行
|
||
- claim: |-
|
||
(无明确宣称,但 SPDX 为 NOASSERTION,易被误读为「不够开源」)
|
||
actual: |-
|
||
恰恰相反——它是四个项目里工程治理最规范的:强制 DCO sign-off、
|
||
ee/ 需额外 CLA、evals/ 目录放可执行测试规格并要求 PR 附测试证据、
|
||
worlds/ 放声明式的开发与测试环境定义。
|
||
NOASSERTION 只因根目录 LICENSE 是混合声明文件,不代表开放度低。
|
||
source: README「Getting started (contributors)」与「Sending a pull request」段
|
||
maturity: |-
|
||
工程成熟度最高:有可执行测试规格(evals/)、声明式环境(worlds/)、
|
||
明确的贡献契约与许可边界。但仍处 0.x 主版本(v0.18.40),
|
||
API 与数据格式可能变动。
|
||
|
||
chart:
|
||
|
||
form_depth: 5 # 桌面只是可选壳,主体是 MCP 能力层
|
||
engine_neutral: 6 # 接得住 4+ 引擎,但都只在能力面
|
||
local_first_score: 6 # 可本地跑,但核心服务是云端 MCP
|
||
deliverable_depth: 5 # 交付工作流与能力包,不止代码
|
||
|
||
verdict:
|
||
|
||
one_liner: 把「能力」而不是「桌面」做成产品——工程治理最好的一个,但它和自称要替代的东西不是一个物种。
|
||
who_should_use: |-
|
||
已固定在某款 agent 上、只想让团队能力跨工具复用的开发者;
|
||
需要统一管控 agent 能力与模型配额的组织 IT。
|
||
who_should_not: |-
|
||
想要一个开箱即用的桌面 agent 工作台的人;
|
||
以为拿到的是完整 Cowork 平替的人。
|
||
|
||
mirror:
|
||
gitea_repo: "gitinbox/openwork"
|
||
visibility: public
|
||
upstream: "https://github.com/different-ai/openwork"
|
||
last_sync: ""
|
||
mode: pending
|
||
sync_note: "暂未镜像。仓库 291 MB,按本机到 GitHub 实测 50 KB/s 计算需 1.6 小时以上,且 git clone 无断点续传。许可证为目录切分(ee/ 之外 MIT,ee/ 为 EE License)——若后续镜像,排除 ee/ 后为纯 MIT,可公开;完整镜像则必须私有。"
|
||
article:
|
||
emlog_id: 0 # emlog 文章 ID,发布后回写
|
||
published_at: ""
|
||
url: ""
|