track: 新增 OpenWork / Orca / Maka 三项目,样本达到 4 个

样本
- 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 无处可写)
This commit is contained in:
gitea-publish
2026-09-01 19:27:21 +08:00
parent 78b87e8b2f
commit e5cdb1801e
18 changed files with 1771 additions and 114 deletions
+226
View File
@@ -0,0 +1,226 @@
# 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: ""