mcpField
D
ditto

ditto

本地服务
github.com/ohad6k记忆与知识3014 周前更新

关于 ditto

ditto(项目名为 Emulo)是一个本地工具,从用户在编码 Agent 会话日志中输入的消息里提取工作规则,生成 you.md 配置文件,供 Agent 在任务开始前读取。每条规则都附有带日期的原文引用,适用于希望 Agent 贴合个人工作习惯的开发者。

主要功能

  1. 01读取 Claude Code、Codex 等会话日志
  2. 02生成带日期原文引用的 you.md 档案
  3. 03按工作、设计、写作、视频分别输出文件
  4. 04提供用量报告,统计重复提问与纠正
  5. 05可在本地模型上完整运行

适用场景

  1. 01让编码 Agent 在任务开始前加载个人工作规则
  2. 02找出在会话中反复向模型说明的内容
  3. 03为不同任务类型加载对应的档案文件

MCP 相关

项目提供 emulo mcp 命令以运行 MCP 服务,但 README 未详细说明其向 MCP 客户端暴露的具体工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ohad6k-ditto": {
"command": "uvx",
"args": [
"ditto-cli"
]
}
}
}
启动命令uvx ditto-cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiditto-cli0.3.6

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
domainenum否要加载的配置文件。默认为 work。design | work | write

详细介绍

Emulo

Emulo

从你发给编码 Agent 的消息中提炼规则,生成 you.md 个人档案;每条规则都附有带日期的依据,并将其安装到 Agent 可读取的位置。

星标 Discord MIT Python,无依赖 读取 Claude Code、Codex、Copilot CLI、OpenCode、Antigravity 的日志 安装到 AGENTS.md、Claude Code、Codex、OpenCode、Cursor、Gemini

你真实的编码 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 中制作的品牌概念广告

一支在 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。下方数据来自截图,截图只显示了投票栏,没有显示帖子内容或日期:

加载 Emulo 配置的 Agent 写的帖子:200 个赞同票、32 条评论、102K 次浏览

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,因此没有可渲染的卡片。

Emulo 个人资料卡片:原型、附有佐证的法则、会话统计,以及那条令人不安的真相

这张卡片来自与本 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 × 25K100K 个 token4 个工作线程 + 1 个归并器
6 × 25K最多 150K 个 token最多 6 个工作线程 + 1 个归并器
8 × 25K160K 个 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)构建并维护。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。