关于 emulo
Emulo 是一个从 AI 编码会话日志中提炼个人工作偏好的工具,将规则整理为 you.md 档案,每条规则附带带日期的原始引用。它面向希望让编码 Agent 按自己习惯工作的开发者,且本地运行、无需账户。
主要功能
- 01从多种编码 Agent 日志中挖掘用户消息
- 02每条规则附带带日期的原文引用
- 03生成 you.md 档案并安装到 Agent 可读取的位置
- 04按工作、设计、写作、视频分别生成文件
- 05提供用量报告,统计用户重复表达的内容
适用场景
- 01让编码 Agent 在开始任务前读取个人工作约定
- 02检查自己在会话中反复提出的同一要求
- 03按任务类型只加载对应的档案文件
MCP 相关
Emulo 提供 MCP 服务,可通过 emulo mcp 命令运行,供 MCP 客户端调用。README 中关于 MCP 的具体工具定义说明较少。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| domain | enum | 否 | 要加载的配置文件。默认为 work。design | video | work | write |
详细介绍

Emulo
从你发给编码 Agent 的消息中提炼规则,生成 you.md 个人档案;每条规则都附有带日期的依据,并将其安装到 Agent 可读取的位置。
你真实的编码 Agent 会话中,早已包含那些你从未写下的规则:怎样才算“完成”、你一眼就会否决什么、你如何调试、如何设计 UI,以及你实际工作时如何写作。
Emulo 会从这些会话中提炼精选证据(开箱即用,支持 Claude Code、Codex、Copilot CLI、OpenCode 和 Google Antigravity 日志),生成私密的工作档案。每条规则都附有你自己消息中的引文和日期,并会安装到 Agent 可读取的位置。Agent 提炼流程会为工作、设计、写作和视频分别生成文件,让宿主只加载适合当前任务的文件。
目标是让 Agent 从第一条消息起就按你的方式工作。这只是目标,并非已经实现的结果:目前测试了什么见下文,其中也包括不如预期的部分。
安装档案和 Agent 实际读取档案是两回事。在 2026-09-25 按宿主分别进行的测试中,档案通过 Codex 项目中的 AGENTS.md 传给了模型(使用 --target agents --repo .,并在一次测试中完成端到端验证),也加载到了 OpenCode 的指令中。在 Claude Code 中,you 技能可以安装,但不会稳定地自动打开;输入 /you 即可加载。Cursor、Gemini、OpenClaw 和 Hermes Agent 都会将文件放到它们查找的位置,但尚未验证是否会在该位置加载。支持矩阵列出了各项情况。
Emulo Proof v1 方法论尚未执行;只有在单独获批发布证据后才会执行。
视频层及其来源

一支在 Claude Design 中制作的品牌概念广告。没有使用 After Effects 或动态图形软件: 整个作品都是通过合成渲染成视频的。
这是概念作品。它并非由 Vercel 委托制作,也不是为他们制作的。 选择这个品牌,是为了探索动态效果能做到什么程度。
之所以展示在这里,是因为 emulo:video 是从类似制作这支广告的会话中提炼出来的。其他层也一样:档案不是模板,而是真实工作中沉淀下来的内容。
安装
在 Claude Code 中:
/plugin marketplace add ohad6k/emulo
/plugin install emulo@emulo
在 Codex 中:
codex plugin marketplace add ohad6k/emulo --ref v0.6.7 --json
codex plugin add emulo@emulo --json
然后运行 emulo:mine 并指定会话历史记录。下文将说明它会生成什么,以及背后的原因。如果你想使用 CLI 而不是插件,请参阅快速入门。
开源与隐私
Emulo 采用 MIT 许可,免费使用,无需账户或登录。该工具本身无需付费。另外,该网站 提供一项可选的付费服务:为你已挖掘出的配置文件进行人工编辑;使用 Emulo 完全不需要这项服务。
会话提取、脱敏、缓存、配置文件本身以及 Agent 适配器都保留在你的设备上。唯一例外是挖掘:如果你将其指向托管模型,选中的证据会发送给该服务提供商。将其指向本地模型,整个运行过程就会保留在你的设备上。
并非记忆
记忆是你明确告诉模型的内容。
Emulo 挖掘的是你自己会话中反复出现的内容:你会拒绝什么、“完成”意味着什么、你何时要求提供证据、你实际工作时如何表达,以及哪些 Agent 行为会让你停止任务。
因此,它读取原始会话日志,而不是你的 CLAUDE.md 或规则文件。
目前测试了什么
Emulo 会分别执行三件事,并对它们采用不同的评估标准:
- 使用情况报告和
emulo verify会在你自己的消息中匹配文本。它们会统计并追踪引文,但无法告诉你事情发生的原因。 - 加载是指宿主将配置文件提供给其模型。哪些宿主被观察到会这样做,见支持矩阵。
- 已加载的配置文件是否能让 Agent 的工作表现更好尚未得到证明。这是目标,而非结果。
已发布的测试确实表明:
- 与不使用配置文件相比,附加挖掘出的配置文件改变了模型的输出。
- 在一项包含 60 次运行、且所有预测均提前记录的研究中(2026 年 8 月),挖掘出的配置文件在 9 项比较中均未能与同等长度的虚构配置文件区分开来。emulo.vercel.app/placebo
- 在 2026 年 9 月的一次复测中,使用了较晚生成的 2026 年 7 月配置文件(日期为 2026-07-30)和新的虚构配置文件;在 Fable 5.1 上,挖掘出的配置文件在 9 项比较中有 5 项与虚构配置文件区分开来;在 Opus 5 上则有 1 项。emulo.vercel.app/fable
- 两项测试衡量的都是输出是否发生变化(圆角、色彩饱和度、卡片容器、长度),而非输出是否有所改善。
一个示例,不是测试
一则轶事。给同一个 Agent 连续两次发送同一句话:“帮我在 Reddit 上发 Emulo。” 一次未加载配置,一次加载 Emulo 配置。两种方式各运行一次,没有对照组,也没有安慰剂,因此这只能展示两种回复的样子,不能说明配置的作用。两条回复都只保留了开头的计划和标题。
| 🡒 Agent | 🡒 Agent + Emulo |
|---|---|
|
我会这样做。 子版块: r/ClaudeAI 和 r/ChatGPTCoding 是你的核心受众。r/LocalLLaMA 适合本地化的角度。r/cursor、r/SideProject、r/opensource 可以扩大传播范围。不要一次发到所有版块——先发一个,调整标题,几天后再发其他版块。 标题: 我做了一个本地工具,它会读取你的 AI 编码日志,并生成一份 Agent 每次执行任务前都会读取的“you.md” |
先说关键点:挖掘出的数字就是你整篇帖子的核心。“我读了自己 1,656 次会话”是一种坦白,不是推销,没人会划过一段坦白。先展示这面镜子,而不是背后的机制。 只选一个子版块,不要选五个——选一个技能相关的版块,那里的人是来找这类内容的,而不是来争论的。 标题: 我用自己 8 个月的 Claude Code 会话做了一个 Claude 技能 |
标题是 Agent 写的原文。加载的配置是作者在 2026 年 7 月初挖掘的个人配置(1,656 次会话)。
我把加载了配置的版本发到了 r/ClaudeSkills。下方数据来自截图,截图只显示了投票栏,没有显示帖子内容或日期:

200 个赞同票 · 32 条评论 · 102K 次浏览
只有一个帖子,因此无法说明这些数据是否由该配置带来。
对照测试见 emulo.vercel.app/placebo 和 emulo.vercel.app/fable,总结见 目前已测试的内容。
它能发现什么
挖掘工具提取出的规则类型,每条规则都有真实会话中带日期的原文记录作为依据:
完成意味着它已在线运行。 不要只凭改了代码就相信“完成了”。先展示它确实能运行。
只修那一个问题。 重写或“清理”并非问题所在的代码,每次都会被否决。
构建速度快于理解自己构建了什么——然后让 Agent 把他们自己的系统解释一遍。
会因反复提出同一个要求、直到问题解决而感到沮丧,而不是因情况升级而沮丧。
没人把这些规则写下来。它们来自一个人自己的历史记录,并且都有原始记录作为依据。
这只是一个示例。你的配置会从你的日志中挖掘出来,内容会和它完全不同。
使用情况报告
挖掘功能回答“这个人是谁”。使用情况报告回答另一个问题:你在哪些方面反复向模型重申要求。
python emulo.py --coach # every source it can find
python emulo.py --coach --source claude # Claude Code only
或者,当你抱怨 Agent 总是忘记你的工作方式时,让它运行此功能:npx skills add ohad6k/emulo@agent-profile-from-sessions 会安装一项技能,先生成这份免费报告,只有在你看到证据后才会提供挖掘功能。
它会在任何挖掘开始前运行,且不会调用模型。处理大量历史记录约需一分钟:在一台 Windows 设备上进行了三次运行,约 1,400 个会话耗时 54 到 71 秒。
每项检查都会对你自己的消息进行文本匹配。它会统计你连续三次或更多次原样发送的请求、包含“正如我所说”或“我告诉过你”之类措辞的消息、连续出现的近乎相同的请求,以及以纠正语气开头的消息(如“no,”、“that's wrong”)的频率。引用或粘贴文本中的措辞(围栏代码块、以 > 开头的行或双引号括起的片段)不会计入,因此,你回复的邮件不会被视为你在重复自己。匹配结果无法判断你重复某句话的原因,也无法判断 Agent 是否忘了什么,因此报告只会将修正建议作为可能性,而非诊断结果。
每项发现都会列出其依据的带日期消息,供你自行判断。未达到阈值的检查也会列出计数,因此结果干净时,你看到的是一份结果,而不是一片沉默。
它只会读取你输入的消息,因为 Emulo 只保留这些内容。它无法查看费用、令牌、工具调用,也无法判断 Agent 是否答对,而且绝不会对此进行评分。
卡片
Agent 挖掘流程(run emulo 或 emulo:mine)也会写入 card.json,而 emulo --card <card_path> 会将其渲染为可分享的卡片:原型、按独立佐证会话数量排序的核心法则、覆盖率统计,以及一句犀利的真相。emulo plugin status 会打印 card_path。RUN_ME.md 路径只会写入 you.md,因此没有可渲染的卡片。

这张卡片来自与本 README 其他位置引用的 2026 年 7 月初个人资料不同的一次挖掘运行,因此会话数和令牌数与之不同。
分享卡片或一条简短特征,绝不要分享完整个人资料。
快速开始
分步说明每条命令会读取和写入什么、哪些内容会发送给模型,以及如何将其移除:docs/PROFILE-FLOW.md。
安装跨 Agent 引导程序。它会在 Claude Code 和 Codex 中运行挖掘流程:
npx skills add ohad6k/emulo@emulo
然后告诉你的 Agent:
run emulo
这会安装引导程序,并创建一份只读的全历史挖掘计划。Agent 必须先展示费用,并等待你批准后才能进行模型处理。
个人资料生成后,引导程序会提供原生插件,让你也能使用带命名空间的 emulo: 技能。它会先征求同意,并接受拒绝。在 Codex 中,它可以自行运行安装;在 Claude Code 中,/plugin 需要由你输入,因此它会提供两条准确命令供你粘贴。
安装 CLI
如果你想亲自运行 Emulo,而不是通过 Agent 运行:
pip install emulo
这会将 emulo 添加到你的路径中。emulo --dry-run 不会写入任何内容,只会打印它发现的信息:会话、你的消息、估算的 token 数、被脱敏的消息数量,以及它将写入的路径。随后,emulo 会立即提取并将语料、分块和 RUN_ME.md 写入 emulo-out/。这条路径不需要计划或审批步骤,因为它不会调用模型;模型处理会在你把 RUN_ME.md 交给 Agent 时开始。emulo mcp 会运行下方的 MCP 服务。uv tool install emulo 的效果相同,uvx emulo 则无需安装即可运行。
emulo 会将 RUN_ME.md 写在分块文件旁边。它是自包含的,因此剩下的步骤只需给你的 Agent 发送一行内容:
read emulo-out/RUN_ME.md and follow it
你的 Agent 会对每个分块进行一次处理,将结果合并,写入 you.md,并打印安装命令。无需粘贴任何内容,也无需下载其他文件。
如何选择安装方式。对于 Codex 和 OpenCode,在你工作的项目中运行 emulo --install you.md --target agents --repo .,会将配置文件添加到项目的 AGENTS.md 中;2026-09-25 的逐主机测试发现,这是能将配置送达模型的方式。它会将整个配置文件(包括会话中的原文引述)写入该文件夹的 AGENTS.md,而该文件通常会提交并共享,因此请将该文件排除在版本控制之外,或安装到不会提交的个人文件夹中。对于 Claude Code,emulo --install you.md --target claude 会安装名为 you 的技能;Claude Code 不会可靠地自行打开该技能,因此请键入 /you(或 /you <task>)来加载它。其他目标请见支持矩阵。you.md 无需 frontmatter:对于将其安装为技能的 claude 和 codex 目标,如果文件没有 frontmatter,emulo --install 会在安装后的副本中添加 name: you 和默认描述,并告知你这一点。frontmatter 中已有 name 和 description 的文件会按原样安装;缺少其中任一项的 frontmatter 会被拒绝。
核查证据
只有证据真实可靠,配置文件才值得加载。真正的问题不是缺少规则,而是自信满满的规则引用了你从未说过的话:
emulo verify you.md
它会从配置文件中提取每条引述,并在挖掘出的会话中搜索。找不到的引述会被报告出来,命令也会以非零状态码退出,因为挖掘出的语料中没有证据支持这些引述。缺失的引述可能是编造的、意译的,或来自未挖掘的历史记录。仅由单个会话支持的引述会单独标记:一个会话只能提供上下文,不能构成规则。添加 --json 可输出机器可读结果,其中包括支持每条引述的会话 ID。
这项检查只能核查可通过机械方式验证的内容。某条规则是否含糊、泛泛而谈,或是否适用于所有开发者,仍需你自行判断。
原生 Codex 插件
原生插件会添加 emulo:mine、emulo:work、emulo:design、emulo:write 和 emulo:video:
codex plugin marketplace add ohad6k/emulo --ref v0.6.7 --json
codex plugin add emulo@emulo --json
插件安装命令本身不会扫描日志、写入任何私有配置文件状态,也不会安排任何挖掘模型调用。让 Agent 安装、运行或更新 Emulo,仍会消耗该主机交互及其常规的系统和工具开销。
原生 Claude Code 插件
Claude Code 插件会注册相同的五项技能。请在 Claude Code 中安装:
/plugin marketplace add ohad6k/emulo
/plugin install emulo@emulo
也可以在终端中运行:claude plugin marketplace add ohad6k/emulo,然后运行 claude plugin install emulo@emulo。2026-09-25,两种方式都能在无头模式下正常运行,并注册这五项技能。和其他技能一样,是否打开技能由 Claude Code 决定。该插件只提供由 Agent 挖掘流程激活的配置文件(emulo:mine 或 run emulo),绝不提供手动创建的 you.md,也不提供通过 RUN_ME.md 路径生成的配置文件。
MCP 服务
Emulo 还提供了一个 Model Context Protocol(MCP)服务,任何 MCP 客户端都可以连接。2026-09-25,Claude Code 已连接并列出了该工具;Codex 调用了它,并收到了无配置文件的消息。其他客户端尚未经过测试。该服务通过 stdio 实现 MCP,并公开一个工具 load_emulo_profile,通过 Model Context Protocol 返回你挖掘出的工作、设计、写作或视频配置文件。
使用已发布的软件包运行 uvx emulo mcp,或在代码检出目录中运行 python emulo.py mcp,然后将 MCP 客户端指向该服务:
{
"mcpServers": {
"emulo": { "command": "uvx", "args": ["emulo", "mcp"] }
}
}
MCP 服务仅使用标准库,不会自行发起网络请求。它提供由 Agent 挖掘流程激活的配置文件(run emulo 或 emulo:mine),该文件位于 ~/.emulo 或 EMULO_HOME 下。来自 RUN_ME.md 路径的 you.md 不会在此处激活,因此该服务看不到它;请改用 emulo --install 安装该文件。若没有已激活的配置文件,该工具会返回一条恢复说明。
运行时会发生什么
当 Agent 为你运行 Emulo(通过引导程序运行 run emulo,或运行 emulo:mine)时,它会先打印 emulo plugin preflight 生成的只读计划。以下是摘录;实际输出还会列出选定的分段及其哈希值:
{
"valid_sessions": "--",
"post_dedupe_source_tokens": "--",
"mode": "full",
"profile_scope": "full_profile",
"quality_default": true,
"candidate_index": null,
"selected_source_tokens": "--",
"planned_worker_calls": "--",
"planned_reducer_calls": "--"
}
完整历史记录的质量默认设置会读取所有符合条件的历史记录。Agent 会先显示确切计划,并在任何工作线程或归并器运行前等待你的批准。安装 CLI 中的普通 emulo 命令是另一种流程:它会打印计数,而非此计划,并为你写入分块,供你自行交给 Agent。系统会重复使用缓存报告,因此显示的剩余成本可能会随时间降低。
如果你明确希望先以较低成本进行初步查看,请要求运行 run emulo quick preview,或使用 --preview:
python emulo.py plugin preflight --preview
快速预览会根据选定的历史记录创建入门配置文件,而非完整配置文件。
快速预览的阶梯如下:
| 候选方案 | 新增源文本 | 计划运行次数上限 |
|---|---|---|
| 4 × 25K | 100K 个 token | 4 个工作线程 + 1 个归并器 |
| 6 × 25K | 最多 150K 个 token | 最多 6 个工作线程 + 1 个归并器 |
| 8 × 25K | 160K 个 token 硬性上限 | 最多 8 个工作线程 + 1 个归并器 |
冻结校准在最广的有界候选方案中仅恢复了 22 项必需特征中的 5 项。因此,除非未来某次运行通过全部 22 项冻结要求,否则不能将快速预览称为质量默认设置。永久的非隐私基线位于 tests/fixtures/bounded-calibration-baseline.json。
首次真实的完整历史记录发布挖掘恢复了相同 22 项冻结要求中的 12 项:工作 5/10、设计 5/5、写作 2/7。完整历史记录仍是质量默认设置,因为它显著提高了相较于预览的召回率,而非因为它能保证生成完整的个人模型。经过验证的配置包只保留有依据的规则;缺失特征需要通过未来的挖掘改进来补齐,而不是降低评分标准。
更新时,会重复使用未更改的分段和证据哈希值。相同的更新计划不会额外运行任何 Emulo 挖掘步骤。新增历史记录只会规划受影响的完整历史记录工作,以及一次归并。
这些是选定的源 token 数量和计划的工作线程/归并器运行次数,并非服务提供商的计费事件。Emulo 无法衡量服务提供商的系统提示词、工具流量、编排开销,也无法衡量专有订阅额度的使用百分比。
实验性自适应召回
回执显著性和侦察流程仍可供开发者通过显式指定 --stage A 使用,但它属于实验功能,不用于 Plugin 发布、质量默认设置、更新或校准。
结果为何可信
第一条在所有路径上都成立,因为提取器会强制执行。其余规则由 Agent 挖掘流程中的代码强制执行(run emulo 或 emulo:mine)。在 RUN_ME.md 路径中,你的 Agent 只会收到书面要求:使用带日期的原文引述、删除没有引述支撑的规则,并去掉泛泛的填充内容;这些要求没有任何机制强制执行,而且 emulo verify you.md 只会检查每条引述是否出现在语料中。请参阅配置文件流程指南,了解每条路径的具体作用。
- 只挖掘你亲自输入的消息,数据读取自各工具自己的会话日志:Claude Code、Codex、Copilot CLI 和 Antigravity 使用 JSONL,OpenCode 使用 SQLite 数据库或 JSON 会话文件。
AGENTS.md、CLAUDE.md、记忆文件和手动输入的自我描述都不能作为证据来源。 - 每个受限工作器都会在一份经过验证的报告中涵盖工作、设计、写作和视频。
- 引述必须是来自已知会话 ID 的简短、有日期且逐字引用的记录。
- 推断出的规则需要来自至少两个不同会话;条件允许时,还需要来自两个不同的来源/时间层。
- 一条未被反驳的明确指令可以作为低频证据保留。
- 泛泛的填充内容、杜撰的引述、未解决的矛盾、不完整的配置文件包和损坏的缓存都会导致流程失败关闭。
原生加载器特意彼此独立:
| 技能 | 加载内容 |
|---|---|
emulo:work | 核心工作配置文件 |
emulo:design | 核心内容 + 设计品味 |
emulo:write | 核心内容 + 写作风格 |
emulo:video | 核心内容 + 视频品味 |
emulo:mine | 仅用于明确的设置、更新或深化请求 |
隐私
Emulo 的提取器、脱敏处理、缓存和生成的配置文件都保留在本地。经过筛选和脱敏的文本会由你选择的模型提供商处理。使用本地模型时,整个挖掘流程都可以保留在本地。
emulo.py 本身是一个仅依赖标准库的文件,不会发起网络请求。skills.sh 命令会下载选定的引导程序。在检出仓库之外运行时,该引导程序只会在 SHA-256 校验通过后,从精确的发布标签下载 emulo.py 和 MINING_PROMPT.md。这些下载发生在发现日志之前,不会读取任何会话数据。
脱敏处理会尽力进行,并且会在选定文本写入 Emulo 缓存之前运行。分享私密输出前请先检查。只分享卡片或一条简短特征,绝不要分享完整配置文件或引述附录。
有关确切的边界,请参阅 SECURITY.md。
原始单文件 CLI
旧版提取器仍然可用,并保持向后兼容:
curl -O https://raw.githubusercontent.com/ohad6k/emulo/v0.6.7/emulo.py
python emulo.py --dry-run
python emulo.py --chunks 4 --out emulo-out
手动适配器仍然可用:
python emulo.py --install you.md --target codex
python emulo.py --install you.md --target claude
python emulo.py --install you.md --target cursor --repo .
python emulo.py --install you.md --target agents --repo .
python emulo.py --install you.md --target gemini --repo .
python emulo.py --install you.md --target opencode
agents、cursor 和 gemini 目标会写入你通过 --repo 传入的文件夹(AGENTS.md、.cursor/rules/you.mdc、GEMINI.md)。每个目标都会获取完整配置文件,包括你会话中的逐字引述;这些文件通常会提交到仓库,并与所有参与仓库工作的人员共享。请勿将它们纳入版本控制,或将其安装到不会提交的文件夹中。
支持矩阵
加载情况来自 2026-09-25 的逐个主机测试:从 PyPI 安装的 Emulo 0.6.6、canary 配置文件,以及各主机中的全新无头会话。文件安装情况和主机读取文件的情况分别列出。
配置文件的存放位置
| 平台 | 此版本的状态 |
|---|---|
Codex,--target agents --repo .(项目 AGENTS.md) | 在一次测试中通过端到端验证:真实模型在没有调用工具的情况下,根据配置文件中的 canary 作答;没有配置文件的对照组则回答“Unknown”。 |
OpenCode,--target opencode(全局 ~/.config/opencode/AGENTS.md)或项目 AGENTS.md | 已加载到 OpenCode 的指令中:配置文件位于 OpenCode 发送给模型的系统提示词中。尚未测试模型是否会遵循该配置文件 |
Claude Code,--target claude(位于 ~/.claude/skills/you/ 的技能) | 已安装。无法可靠地自动加载:安装了许多技能时,Claude Code 只向模型列出了其中一部分,没有列出 you。输入 /you 或 /you <task> 即可加载(已验证) |
Codex,--target codex(技能) | 已安装。只有在请求符合技能描述时,Codex 才会打开该技能;在普通提示词下不会打开。在一次测试中通过端到端验证的方式是 --target agents --repo . |
| Claude Code 原生插件 | claude plugin marketplace add ohad6k/emulo 和 claude plugin install emulo@emulo 可在无头模式下运行,且五个技能均已注册(已验证)。仅提供由 Agent 挖掘流程激活的配置文件,绝不提供手动创建的配置文件,也不提供 RUN_ME.md 中的 you.md |
| Codex 原生插件 | 已在本地验证五个带命名空间的技能(emulo:mine、emulo:work、emulo:design、emulo:write、emulo:video):均可安装并列出。2026-09-25 未重新测试,也未测试 Codex 是否会在任务期间打开这些技能 |
MCP 服务(emulo mcp) | 协议可正常工作。Claude Code 已连接并列出该工具;Codex 调用了该工具并收到无配置文件的消息。任何 MCP 客户端均可连接;尚未测试其他客户端。仅提供由 Agent 挖掘流程激活的配置文件;没有配置文件时会说明这一点 |
Cursor,--target cursor(.cursor/rules/you.mdc,alwaysApply) | 会将文件写入 Cursor 查找规则的位置。尚未验证是否加载 |
Gemini,--target gemini(GEMINI.md) | 会将文件写入 Gemini 查找文件的位置。尚未验证是否加载 |
| OpenClaw / Hermes Agent | 已于 2026 年 7 月在早期版本中检查技能发现情况,此后尚未重新验证;指南 |
日志来源
| 来源 | 此版本的状态 |
|---|---|
| Claude Code、Codex、Copilot CLI | 从其本地 JSONL 会话日志中挖掘。Copilot CLI 仅作为来源,绝不会作为目标 |
| OpenCode | 从其 SQLite 存储和旧版 JSON 布局中挖掘会话(--source opencode),已在运行中验证 |
| Google Antigravity | 仅作为来源。已在真实本地安装中实时验证挖掘(--source antigravity):从 ~/.gemini/antigravity/brain 记录中提取输入的提示词,并剥离运行框架封装。只有在隐私设置中启用交互记录时,Antigravity 才会写入记录 |
运行挖掘流程
| 平台 | 此版本的状态 |
|---|---|
skills.sh 引导(npx skills add ohad6k/emulo@emulo,然后运行 run emulo) | 可在 Codex 和 Claude Code 中运行 |
更新和通知
运行 update emulo,即可复用稳定缓存,并仅规划有变更的工作。
在 GitHub 上为仓库加星标可将其加入书签,但不会订阅发布通知。如需接收发布通知,请在 GitHub 上选择 关注 → 自定义 → Releases。
限制
- Emulo 会记录从你的工作、设计、写作和视频制作方式中归纳出的规则,但不会让底层模型变得更聪明。
- 历史记录稀疏或重复时,设计或写作相关内容可能无法启用。Emulo 会准确报告需要深入挖掘的指令,而不会凭空编造一个人设。
- Provider 的 token 计数仍无法由 Emulo 精确测量。
- 目前已发布的测试:emulo.vercel.app/placebo 和 emulo.vercel.app/fable。两者都没有证明效果有所提升;请参阅目前测试了什么。
常见问题
以下是大家最常提出的三个疑问,统一解答。
“为什么不直接让 Claude 总结我的日志?”
一次处理不够。举例来说,作者在 2026 年 7 月初挖掘的个人资料涵盖 1,656 个会话,其原始日志大多是工具输出、文件转储和粘贴的错误信息。一次总结调用就会把上下文窗口耗在这些噪声上。Emulo 只保留你输入的文字,为每个经过验证的片段单独进行证据分析,并要求有不同会话的支持,推断出的规则才能保留下来。最终生成的个人资料会保留会话凭据,而不是过时的工作进程数量评分。
“Claude 已经有记忆了。为什么我还需要这个?”
两者可以一起用。记忆记录的是你告诉模型的内容:整理过的笔记、CLAUDE.md,而且只保留在一个工具中。Emulo 会读取 Codex、Claude Code、Copilot CLI、OpenCode 和 Google Antigravity 支持的原始会话,挖掘出你从未写下的内容:你会拒绝什么、“完成”对你意味着什么,以及你何时会要求提供证据。输出是你拥有的纯文本文件,而支持矩阵会说明哪些 Agent 曾加载过这些文件。
“Claude 只保留 30 天的日志。九个月的数据是从哪里来的?”
Claude Code 的保留期限由设置项 cleanupPeriodDays 控制(默认值为 30 天);我的更长历史记录则来自 Claude Code、Codex 和 Copilot CLI 会话,以及归档文件。如果你使用默认保留期限,较早的 Claude 会话可能会在 Emulo 看到之前就被清除。提高保留期限,然后挖掘剩余的记录。
维护
Emulo 目前处于维护状态,不再继续开发:维护范围包括安全和脱敏修复、宣传的安装或加载路径失效问题,以及可复现的错误。请参阅 MAINTENANCE.md,了解维护范围内外的事项以及如何报告问题。
路线图
请参阅 ROADMAP.md,了解已发布的内容,以及已记录但尚未规划的想法。
社区
许可证
MIT。由 Ohad Krispin(@ohad6k)构建并维护。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。