
项目是什么
MuseAI-Skills 是一份与 muse.ai 相关的 Muse / Hatch 个人 AI Agent 环境快照。仓库保存了产品说明、技能定义、连接器权限清单、行为评测场景、Linux 运行脚本,以及部分随包程序和依赖。
重要边界:它不是完整源码仓库,也不是可以一键部署的安装包。核心程序主要以 Linux x86-64 ELF 二进制提供,而构建源码、完整宿主配置、rootfs 和部分运行资源并未包含。
因此,这个仓库最适合用于静态阅读、Agent 工作流研究、权限模型分析和指令设计参考,而不是直接安装 Muse AI 服务。仓库材料使用 Muse、Hatch 和 Jarvis 等名称,但存档本身不代表官方发布、认可或来源认证。
你能从仓库中学到什么
技能工作流的完整结构
仓库包含 72 个 SKILL.md 路径,其中有 68 个独立技能文件和 4 个符号链接别名。技能覆盖 Agent 工作流、文档产物、旅行预订、办公工具、社交平台、健康数据、媒体生成、设备控制和 Muse 产品操作等领域。
这些技能文档通常能帮助你研究以下问题:
- 什么用户请求应该触发技能。
- 任务应由协调者、worker 还是外部连接器处理。
- 执行前需要哪些账户连接、OAuth scope 或用户授权。
- 工具失败、输入不完整或权限不足时如何降级。
- 如何定义输出格式并验证最终交付物。
权限与评测材料
仓库另有 40 个 manifest 路径和 12 份 eval YAML。manifest.yaml 可用于理解连接器元数据、权限默认值、scope 要求和命令映射;eval/scenarios.yaml 则记录行为评测场景、用户目标和期望行为。
注意:存在 manifest 不表示账户已经连接,存在评测场景也不表示评测已经运行或通过。
运行环境的静态线索
opt/hatch/runtime-cell/ 中的脚本展示了部分运行环境生命周期,包括 rootfs 路径解析、启动前准备、内核模块检查、systemd-nspawn 容器启动以及技能和二进制 overlay 的组装。不过,完整宿主 unit、nspawn 配置和实际 rootfs 都不在仓库中。
目录结构速览
README.md:中文入口、技能目录和边界说明。README.en.md:英文入口。PROJECT_ANALYSIS.md:架构判断、缺失组件、风险和证据索引。SHA256SUMS:普通文件的内容校验清单,但不是来源签名。home/hatch/docs/:产品、连接器、隐私、调度、文件、设备和媒体等说明。home/hatch/config/:Agent 与技能状态相关配置。opt/hatch/skills/:技能入口、权限 manifest、评测场景和参考资料。opt/hatch/runtime-cell/:运行环境生命周期脚本与配置模板。opt/hatch/bin/:Hatch 相关程序。opt/hatch-image/:镜像侧工具、npm、Bun 和其他随包组件。
仓库根目录只是存档根目录,并不是正在运行的 Linux 根目录。存档中的
home/hatch/对应原环境的/home/hatch,而文档中的/run、/var/lib和/etc通常指缺失的运行时文件系统。
获取与准备仓库
方案一:只研究技能和文档
如果目标是分析 Markdown、YAML 和 Shell 脚本,可以跳过体积较大的 Git LFS 二进制。这也是最推荐的阅读方式。
GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/win4r/MuseAI-Skills.git
cd MuseAI-Skills
这种方式无需执行随包程序。进入仓库后,优先打开 PROJECT_ANALYSIS.md 和 opt/hatch/skills/。
方案二:查看完整存档对象
只有在确实需要检查 LFS 中的 ELF 程序或其他大文件时,才应安装 Git LFS 并获取相关对象。下载二进制并不会补齐缺失的源码、rootfs、凭据或宿主配置,也不会让仓库变成可部署系统。
git clone https://github.com/win4r/MuseAI-Skills.git
cd MuseAI-Skills
git lfs pull
对于来源未经独立认证的二进制,应优先进行离线静态检查,不要直接在生产机器或包含敏感凭据的环境中运行。
校验普通文件
在完整获取相关文件后,可以使用仓库提供的 SHA256SUMS 检查内容完整性:
sha256sum -c SHA256SUMS
校验清单不覆盖清单文件自身和符号链接,也不是发布者身份或来源真实性的密码学签名。它只能帮助判断本地普通文件是否与清单中记录的摘要一致。
基础用法:建立技能阅读流程
第一步:选择一个技能入口
初次阅读可以从以下技能开始:
wide-research:研究协调者、worker、统一输出契约和失败覆盖。skill-creator:技能触发描述、目录拆分和按需加载参考资料。artifacts/testing:区分“生成成功”和“交付物可用”。goals:区分首次建立目标与后续跟进。forget:处理副本、衍生状态和可能重新写回的数据。travel-planning:分离行程研究、实时查询和交易执行。gmail:结合技能正文、方法级权限和评测场景分析连接器。
例如,查看 Gmail 技能入口:
sed -n '1,240p' opt/hatch/skills/gmail/SKILL.md
第二步:提取触发条件与边界
阅读 SKILL.md 时,不要只记录“它能做什么”,还要依次回答:
- 哪些请求应该触发该技能?
- 哪些相似请求不应该触发?
- 只读操作和写入操作如何区分?
- 发送、删除、购买或预订等高影响操作是否需要确认?
- 权限不足、目标歧义或工具失败时应如何处理?
- 最终结果需要返回哪些字段或证据?
将这些内容整理为“触发、输入、授权、执行、失败、验收”六个部分,便于迁移到自己的 Agent 设计中。
第三步:对照权限 manifest
对于连接器技能,应继续读取同目录下的 manifest.yaml:
sed -n '1,260p' opt/hatch/skills/gmail/manifest.yaml
重点比较技能正文声称的操作与 manifest 中声明的方法权限、分组默认值、scope 和命令映射。方法级设置可能覆盖分组默认值,因此不能只看顶层权限说明。
复制一个 SKILL.md 到其他 Agent 环境,并不会自动获得 Gmail、Google Drive、Notion 或其他服务的访问能力。实际执行仍依赖对应 CLI 或 MCP、账户连接、OAuth scope 和运行时授权。
第四步:读取评测场景
如果技能带有 eval/scenarios.yaml,可以继续查看它如何把规则转化为可测试行为:
sed -n '1,260p' opt/hatch/skills/gmail/eval/scenarios.yaml
评测场景适合用于检查以下行为:
- Agent 是否选择了正确的技能。
- 是否区分读取、草稿、发送、删除等不同风险等级。
- 信息不足时是否先澄清,而不是猜测收件人或操作目标。
- 是否在需要时请求授权或确认。
- 失败后是否诚实报告未完成项。
不要把场景文件当成测试通过报告。若要判断历史问题,还可以结合类似 opt/hatch/skills/flightaware/eval/findings.md 的发现记录,并注意其版本和测试环境。
第五步:检查配套参考资料
部分技能将详细规则拆到 references/、guide/、creation/ 或 guides/。这种结构体现了一个重要设计原则:主技能文件保持精简,只在任务需要时加载更具体的参考资料。
例如,技能编写方法可从以下文件开始:
sed -n '1,260p' opt/hatch/skills/skill-creator/references/authoring_guide.md
实战示例:分析 Gmail 技能
可以用以下模板记录 Gmail 技能的设计,而不实际连接或操作邮箱:
技能入口:opt/hatch/skills/gmail/SKILL.md
权限定义:opt/hatch/skills/gmail/manifest.yaml
评测场景:opt/hatch/skills/gmail/eval/scenarios.yaml
分析维度:
1. 检索和阅读邮件的触发条件
2. 草稿、发送和回复的操作边界
3. 标签和退订流程
4. 方法级权限与 OAuth scope
5. 收件人、邮件线程或操作意图不明确时的处理
6. 工具失败后的报告方式
7. 用户最终应收到的结果与验证信息
完成后,可以将结果转换为自己的 Agent 规范:
- 触发规则:明确哪些语言模式进入邮件技能。
- 只读优先:搜索和读取与发送、删除等变更操作分开处理。
- 授权门槛:根据目标运行环境重新定义确认和 OAuth 规则。
- 输出契约:规定成功、部分成功和失败时分别返回什么。
- 验收场景:添加正常请求、歧义请求、权限不足和连接器故障测试。
阅读产品与系统架构
快速理解产品契约
建议依次阅读:
home/hatch/docs/muse.md:产品概览。home/hatch/docs/goals.md:目标、进展和后台工作的边界。home/hatch/docs/scheduling-and-watching.md:轮询、调度、运行历史和通知。home/hatch/docs/self_improvement.md:后台记忆、研究、回顾和证据追踪。home/hatch/docs/connectors.md:连接状态、OAuth、方法权限和失败处理。home/hatch/docs/privacy-and-credentials.md:凭据引用、Vault、导出和删除规则。
这些文件描述的是快照中的产品契约。账号特定能力和历史可用性说明,不应直接当作当前所有 Muse 账号都具备的事实。
研究运行时启动链
如果关注 Linux 隔离环境,可以从以下脚本建立调用关系:
opt/hatch/runtime-cell/pre-start.sh
opt/hatch/runtime-cell/ensure-rootfs.sh
opt/hatch/runtime-cell/resolve-rootfs-path.sh
opt/hatch/runtime-cell/require-modules.sh
opt/hatch/runtime-cell/launch-daemon.sh
opt/hatch/runtime-cell/post-start.sh
resolve-rootfs-path.sh 返回的 /var/lib/hatch-runtime/rootfs 是原运行环境中的路径,并不是仓库自带目录。launch-daemon.sh 会启动 systemd-nspawn 容器并组装 overlay;它不能脱离缺失的宿主配置和 rootfs 独立构成启动教程。
高级分析技巧
区分技能、别名和资源目录
仓库有 4 个符号链接别名:facebook 指向 facebook-cli,meta-threads 指向 threads,podcast 指向 generate_podcast,voice-calls 指向 voice-selector。
检查链接实际目标可以避免重复统计:
find opt/hatch/skills -type l -name SKILL.md -print -exec readlink {} \;
尤其不能根据 voice-calls 的名称推断它具备 Agent 代打电话能力;该入口实际指向静态语音目录。spaces 含运行时文档和模板,但没有顶层 SKILL.md,因此不应额外计为一个技能。
同时验证声明、权限和可执行依赖
分析一个技能时,可以采用三层核对法:
- 行为层:检查
SKILL.md声明的触发、边界和输出。 - 权限层:检查 manifest 中的方法、scope 和默认权限。
- 执行层:确认依赖的 CLI、MCP、辅助程序、账户连接和运行时资源是否存在。
仓库明确缺少部分关键依赖,包括 Artifacts 验证脚本、skill-creator 的连接器脚手架、Magic Moment 的 mm 可执行程序,以及 Spaces 所需的部分 SDK 和构建资源。因此,“文档可读”不等于“执行链完整”。
把产物生成和产物验收分开
artifacts/testing 值得作为通用 Agent 模式研究。它强调生成文件后还要按产物类型检查、重新渲染、目视验收并扫描占位符。迁移到自己的系统时,可以把流程拆成:
- 生成文档、表格、PDF 或演示文稿。
- 重新打开或渲染生成结果。
- 检查结构、布局、公式、链接和缺失资源。
- 搜索未替换占位符和临时文本。
- 只有通过验收后才把文件标记为可交付。
研究多 Agent 协作
wide-research 展示了多输入并行研究中的关键约束:限制协调者与 worker 的职责、统一输出字段、报告覆盖率,并保留失败项。迁移时应根据自己的编排框架替换工具名和工作区路径,同时保留统一输出契约与失败可见性。
检查数据库说明而不是寻找数据库
opt/hatch/skills/muse_db/references/schema.md 描述受限 SQL 规则、标识符和多个 schema 下的关系,可用于理解数据模型与跨表追踪方式。它不是实际数据库,也不是迁移源码,不能据此恢复完整服务。
保留来源、许可和证据边界
将工作流迁移到其他项目时,应保留来源归属并检查适用许可。建议在内部分析记录中区分:
- 仓库文件直接陈述的事实。
- 根据目录、脚本或 manifest 作出的技术推断。
- 尚未验证的产品声明。
- 由于缺失运行环境而无法确认的行为。
“存档中可见”并不等于“官方来源已认证”“能够独立运行”或“可以任意重新授权”。
推荐的学习路线
- 克隆仓库时跳过 LFS,避免不必要地下载二进制。
- 阅读
PROJECT_ANALYSIS.md,了解架构判断与缺失项。 - 选择
skill-creator或wide-research学习工作流结构。 - 选择
gmail,联合分析技能正文、manifest 和 eval。 - 阅读
artifacts/testing,建立交付物验收思维。 - 阅读产品文档,区分技能规则与产品契约。
- 最后再检查 runtime-cell 脚本,理解运行时线索与缺失依赖。
结语
MuseAI-Skills 的主要价值不在于直接部署,而在于展示一个个人 AI Agent 如何组织技能触发、任务分流、连接器权限、失败处理与结果验收。把 SKILL.md、manifest.yaml、评测场景和运行依赖放在一起阅读,你可以提炼出适用于自己 Agent 系统的设计模式,同时避免把快照误当成完整源码或可执行产品。
