RepoDaily · 2026-08-15 · Infrastructure / Runtime

holaOS:让 Claude Code、Codex 与内置 agent 共享一份本地记忆的 Electron 工作区

#7 Infrastructure / Runtime TypeScript +769 holaboss-ai/holaOS 打开仓库

单日 769 星、趋势榜第 7 的开源 agent 工作区:任意 agent 共享本地明文记忆,修改版 Apache 2.0 许可对托管商用设限。

项目类型Infrastructure / Runtime
最适合在多个编码 agent 之间切换、希望用一份可读可改的本地文件记忆统一上下文的开发者
风险等级中:内部使用许可宽松,托管或嵌入商用需另行授权
评估时间1–2 小时跑通 desktop:dev;再花一天接入 BYOK 并对比两个 agent

核心问题: 一份可读可改的共享记忆,是否值得让你把 Claude Code 和 Codex 搬进同一个桌面工作区?

92/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 92/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 中
100证据质量

包含 6 个来源、覆盖 4 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

97可安装/可试用性

检测到 6 个工作流步骤、6 个下一步动作,以及 2 个命令/安装信号。

66维护可信度

趋势热度为 +769 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

96生产准备度

采纳风险标记为 medium,并包含 7 条安全说明与 4 条跳过条件。

100差异化

3 个机会视角、4 个替代方案,以及 5 个类型化模块支撑差异化判断。

82许可证清晰度

文章中包含许可证来源或许可证表述。

90Agent / AI 适配度

文章正文和元数据中检测到 9 个 AI/Agent 相关信号。

项目概览

holaOS 把自己定位为『给你和你的 agent 用的电脑』:一个本地优先的 Electron 桌面工作区,Claude Code、Codex 和内置的 holaOS agent 在同一界面并行运行,共享同一套工具、文件和一份共享记忆。核心卖点是 agent 可替换——无论哪个 agent 驱动会话,都继承同样的记忆、工具、技能和应用,切换运行时不需要重搭环境。模型可选用内置前沿模型,也可以自带 key。平台覆盖 macOS(Apple Silicon 与 Intel)、Windows 和 Linux。

2026-08-15 当天它以 769 颗星排在 GitHub 趋势榜第 7,README 里挂着 Trendshift 日榜徽章和 ci.yml 的 CI 徽章。与聊天式桌面应用的区别在记忆模型:上下文、偏好和项目历史存放在一份共享记忆里,以本地明文文件保存,可直接阅读和编辑——README 的说法是『Never start from zero』。仓库描述还标注了 100+ 集成与 MCP 支持,覆盖工具、应用、浏览器和文件。

真正的取舍写在 LICENSE 和仓库结构里,而不是功能清单上。holaOS 采用修改版 Apache 2.0:单个组织内部使用(包括多个工作区)不需要商业授权,但把它作为托管服务提供、或嵌入对外销售的产品,除非 Holaboss 书面授权,必须取得商业许可。代码是 Bun + Turborepo 的 monorepo(包名 hola-boss-oss,锁定 [email protected],private:true),运行时层拆成四个命名包——是一套真实架构,而非某家厂商 API 的壳。

解决什么问题

  • 每个 agent 各自维护上下文,从 Claude Code 换到 Codex 就要重新解释项目、重新授权工具。
  • 存在厂商云端的记忆无法审计、无法手工修改,换 agent 时也带不走。
  • MCP 服务器、文件访问、浏览器工具通常按 agent 各配一遍,同一集成要接两次。
  • 终端 agent 缺少应用与文件的共享界面,桌面聊天应用缺少 agent 运行时,两个世界一直没打通。

工作原理

  1. 在 macOS(Apple Silicon 或 Intel)、Windows、Linux 上安装 Electron 桌面应用,或用 Bun 从源码构建。
  2. 选择模型来源:内置前沿模型,或自带 API key(BYOK)。
  3. 在工作区内启动 agent——Claude Code、Codex 或内置 holaOS agent,共用同一记忆、工具、技能和应用。
  4. 上下文、偏好与项目历史写入一份共享记忆,以本地明文文件保存,可打开编辑。
  5. 关闭应用或切换 agent,共享记忆延续状态,不必从零开始。
  6. 通过 100+ 集成与 MCP 服务器扩展能力,它们挂在共享工具层,而不是各自的 agent 上。

产品演示与界面预览

holaOS 工作区内应用市场截图
holaOS 工作区内应用市场 — README 截图:应用添加进共享工作区,而不是挂在单个 agent 名下。 README.md image
holaOS 记忆树界面截图
holaOS 记忆树 — README 的记忆树视图,展示项目主打的那份本地共享记忆的操作界面。 README.md image

架构解读:一个桌面壳,四件套运行时

package.json 将工作区命名为 hola-boss-oss,锁定 [email protected],由 Turborepo(^2.9.18)统一调度 build、test、typecheck、lint。运行时拆分为 @holaboss/runtime-harness-host、@holaboss/runtime-harnesses、@holaboss/runtime-state-store 与 @holaboss/runtime-api-server——harness(即各 agent)由 host 进程承载,状态独立成 store,再由 API server 对外。SECURITY.md 把支持范围写作『the OSS desktop workspace and runtime stack』,印证了这种两层设计。

桌面应用位于 apps/desktop,@holaboss/app-sdk 用于构建工作区内应用。构建链路里有原生代码:trustedDependencies 列出 @electron/rebuild、@parcel/watcher、better-sqlite3,runtime:rebuild-sqlite 会执行 scripts/ensure-native-sqlite.mjs 在工具链不匹配时重建 SQLite 原生模块。

命令面:脚本透露了什么

  • `bun run dev` 调用 desktop:dev,以 `--elide-lines=0` 运行 holaboss-local 应用。
  • `desktop:dev:isolated` 与 `desktop:e2e` 覆盖隔离运行与端到端测试。
  • `memory:cleanup` 与 `memory:eval` 分别执行 scripts/memory-cleanup.mjs、scripts/memory-eval.mjs,清理并度量共享记忆。
  • `runtime:start:isolated` 隔离启动运行时;`runtime:start:evals` 追加 `--namespace evals --default-name memory-evals`。
  • `runtime:test` 串联 runtime-state-store、runtime-harnesses、runtime-harness-host、runtime-api-server 四个包的测试。
  • `runtime:logs`(scripts/runtime-logs.sh)查看运行时日志;`sdk:app-sdk:codegen` 生成 SDK 代码。
  • `desktop:dist:mac:local` 与 `desktop:dist:win:local` 构建本地分发,资料包中未见 Linux 分发脚本。

集成面

  • 首日即支持三类 agent:Claude Code、Codex、内置 holaOS agent,共享同一记忆、工具集与工作区。
  • 仓库描述标注 100+ 集成加 MCP,工具连接挂在工作区上,而非各个 agent。
  • 文件、应用、浏览器访问统一走同一个 Electron 外壳(见 README 徽章与描述)。
  • 共享记忆以本地明文文件存储,可在应用外阅读和编辑。
  • @holaboss/app-sdk(由 desktop:prepare 构建)是工作区内应用的挂载点,`sdk:app-sdk:codegen` 生成其类型。

上手路径

  • 从 README 导航栏指向的文档开始:holaos.ai/docs/getting-started。
  • 源码路径:`bun install`(desktop:install),先 `bun run desktop:prepare` 构建 @holaboss/app-sdk,再 `bun run dev`。
  • 首启时配置模型——内置前沿模型或 BYOK,README 均有说明。
  • 把同一条提示词分别交给 Claude Code 与内置 agent,观察共享记忆的累积。
  • 退出再打开应用,确认两个 agent 仍记得之前的进度,并顺手查看磁盘上的明文记忆文件。
  • 桌面路径预留一小时;若 better-sqlite3 在你的工具链上编译失败,再留出原生重建时间(`runtime:rebuild-sqlite`)。

维护与许可风险

修改版 Apache 2.0 有三条直接影响落地的附加条件。其一,托管或嵌入式服务——SaaS、托管服务、或把 holaOS 打进对外销售的产品——除非 Holaboss 书面授权,必须取得商业许可;单个组织内部使用(含多个工作区)则不需要。其二,前端(源码运行时的 desktop/ 目录,或打包后的桌面应用)必须保留 logo 与版权信息。其三,贡献者需同意生产方可将协议调严或放宽,并可将贡献代码用于商业用途(含云业务)。

仓库层面的信号同样需要留意:package.json 为 private:true,没有 npm 发布路径;Bun 锁定 1.3.6;资料包中没有 release notes 或 changelog 可供锁版本。版权标注为 2026 Holaboss——项目很年轻,版本纪律目前要靠自己。

谁适合关注

适合关注

  • 在 Claude Code 与 Codex 之间来回切换、每次都要重新交代背景的开发者。
  • 希望 agent 记忆是可审计的本地文件而非厂商云端状态的人。
  • 在单个组织内部跨 macOS、Windows、Linux 统一部署一个 agent 桌面的场景。
  • 构建 MCP 服务器、希望一个客户端界面服务多个 agent 的开发者。
  • 倾向 BYOK 而非内置模型访问的隐私优先用户。

可以先跳过

  • 打算把 holaOS 作为付费服务托管、或嵌入对外销售产品却未取得 Holaboss 商业许可的团队。
  • 当下就需要无头、服务器端 agent 运行时的项目——这是 Electron 桌面应用。
  • 无法运行锁定版 Bun 1.3.6 工具链或 better-sqlite3 等原生模块的环境。
  • 需要已发布安装包、semver 版本或 changelog 的人——资料包中一概没有。

风险与注意事项

中

内部使用许可明确宽松、记忆模型透明,但修改版许可限制托管商用、允许生产方更改条款,且资料包中没有 release 或 changelog。

  • LICENSE 条款 1a 规定:无书面商业许可不得向第三方提供托管或嵌入式服务。
  • 贡献条款允许 Holaboss 日后收紧或放宽协议,并将贡献代码用于商业用途。
  • 资料包中无 release、changelog 或版本标签,版权自 2026 起算。
  • 前端再分发必须保留 desktop/ 目录或打包应用中的 logo 与版权信息。
  • [email protected] 锁定与原生 trustedDependencies 增加了构建环境约束。
  • SECURITY.md 将安全支持范围限定为『the OSS desktop workspace and runtime stack』。
  • 列为安全敏感的问题类型:凭据/令牌/密钥泄露、远程代码执行、沙箱逃逸或提权、认证绕过、暴露本地运行时或用户数据的不安全默认配置。
  • 漏洞需私下报告至 [email protected]——明确不要提公开 issue,需附受影响 commit 或 release、复现步骤与影响评估。
  • 维护方希望获得合理时间验证修复后再公开披露。
  • 技术栈在本地运行 API server(@holaboss/runtime-api-server)与状态存储;『不安全默认配置』条款说明维护方盯住了这个面。
  • 记忆是本地明文文件,便于审计,但任何有文件系统权限的进程都能读取。
  • trustedDependencies 含会执行构建脚本的原生包(@electron/rebuild、@parcel/watcher、better-sqlite3),升级时应锁定并审查。

替代方案比较

方案适用场景代价
只想要单一开源终端编码 agent,不需要承载多个 agent 的桌面 harness开源;自付 OpenAI API 用量
Claude Code
已锁定单一厂商的 agent,且不需要跨 agent 共享记忆厂商订阅或 API 用量计费
Jan
想要本地优先、隐私运行模型的桌面应用,不需要多 agent 运行时免费开源;本地模型或自带 key
AnythingLLM
主要是按工作区做文档问答,而非 agent 运行时免费开源;本地或云端模型

这个趋势说明了什么

把 agent 无关的 harness 做成一层

@holaboss/runtime-harness-host 与 @holaboss/runtime-harnesses 这两个包名表明 harness 是独立一层,Claude Code 和 Codex 是共享状态之上的可替换租户。

在同一工作区用两个 agent 跑同一任务,把结果与记忆写入同你现有分开部署的表现做对比。

文件化记忆作为可移植格式

README 明确记忆以本地明文文件存储、可读可编辑,仓库还提供 memory:eval 与带 `--namespace evals` 的 runtime:start:evals 来度量它。

在两次会话之间查看记忆文件、手工编辑一条,确认下一次运行 agent 行为随之变化。

无需商业许可的内部部署

LICENSE 条款 1a 明确豁免:单个组织内部使用(包括多个工作区)不触发商业许可要求。

团队铺开前先读 LICENSE;若 agent 会服务外部用户,与法务确认内外边界。

下一步建议

用一个下午让两个 agent 对同一份记忆干活

检验 holaOS 核心主张——共享记忆比选哪个 agent 更重要——最便宜的方式,是一小时搭建加一次双 agent 任务实测。

  1. 先读 LICENSE 条款 1a,确认你的用途属于内部使用。
  2. 克隆仓库并执行 `bun install`;packageManager 字段锁定 [email protected]。
  3. 运行 `bun run desktop:prepare` 构建 @holaboss/app-sdk,再 `bun run dev`。
  4. 打开 holaos.ai/docs/getting-started,配置内置模型或 BYOK。
  5. 把同一任务分别交给 Claude Code 与内置 agent,在同一工作区执行。
  6. 退出、重开,确认两个 agent 都记得进度,并查看磁盘上的明文记忆文件。

RepoDaily 判断

holaOS 押注『agent 可替换,工作区不可替换』:一个本地桌面、一份文件化记忆、上面跑任意 agent。对单个组织的内部使用,修改版 Apache 2.0 完全可行;想做成托管产品的人,决定因素是许可而非技术。第 7 名、769 颗星说明这个押注正在生效。

信息来源