myc 本地代理记忆与任务层

为编码代理提供本地任务、持久记忆与代码索引。

Star 数
★ 14
最近更新
21 天前
License
MIT
主语言
TypeScript

30 秒速览

运行形态
命令行工具MCP 服务器Agent 插件 / 技能
可在哪里用
通用 · 跨平台Codex · Claude Code
费用
免费,无需付费服务
上手难度
低 · 几分钟可跑通
开始前需要
Bun >= 1.3.0SQLite >= 3.44.0GitmacOS 或 Linux;Windows 上使用 WSLShell / 命令行本地文件系统MCP Server
典型场景
频繁经历上下文压缩的 Claude Code 用户,可用预压缩钩子保存原始会话,并在下一段上下文中获得恢复信息。
不适合
  • 需要服务端、ACL 或团队协作模式的团队
  • 必须在 Windows 原生 cmd/PowerShell 下运行的用户
  • 坚持用 Node.js 或 Deno 而非 Bun 的开发者

这个 Agent 能做什么,适合哪些场景?

myc 是面向编码代理的本地任务与记忆层,把任务队列、事实和决策日志、混合检索及代码索引保存在项目工作区中。它提供 CLI、MCP 服务和代理钩子,可接入 Claude Code、Codex、opencode 与 Kimi;其中 Claude Code 还支持压缩前记忆保存、状态栏和重命令排队钩子。数据由 SQLite 管理,跨机器同步时只需通过 Git 交换 oplog,而不是上传数据库和缓存。内置代码智能使用按需获取的 tree-sitter 语法,支持 TypeScript、TSX、JavaScript 和 Python 的符号、调用关系及语义搜索,其他文件仍可使用字面搜索。核心操作不要求 LLM 密钥,也不会自行访问网络;只有模型、语法下载及显式版本检查等操作联网。目前它定位为单用户、本地文件工具,尚无服务器、ACL、团队模式、网络同步或 PostgreSQL 后端。

在项目中运行 myc init 后,myc 创建 .myc/、SQLite 数据库和迁移;myc wire 再为所选编码代理写入或合并 MCP、钩子和技能配置。代理可通过 myc ready --claim 领取任务,用 myc show 查看任务上下文,以 myc close 完成任务,并用 myc remember 记录事实或决策。myc recall 对项目记忆执行词法检索,并在显式下载嵌入模型后加入向量检索;myc prime 生成当前会话的上下文包。myc code fetch 下载当前仓库所需且经过 SHA-256 校验的语法,myc code index 建立增量索引,随后 myc code symbol、myc callers、myc code search、myc code grep、myc code map 和 myc skeleton 输出定义、调用者、搜索结果、结构图或文件 API。压缩前钩子会把会话 episode 先写入磁盘,并把提取出的决定作为待审核候选保存;确认前,这些候选不会进入 recall、search、prime 或 MCP 检索结果。myc run -- <command> 使用用户级共享队列串行化完整测试、构建等重命令,myc export 和 myc import 则通过 Git 中的 oplog 在机器之间交换数据。

  1. 频繁经历上下文压缩的 Claude Code 用户,可用预压缩钩子保存原始会话,并在下一段上下文中获得恢复信息。
  2. 同时使用 Claude Code、Codex、opencode 或 Kimi 的开发者,可让多个客户端通过同一项目级 MCP、任务图和记忆库工作。
  3. 在多个进程或多个相邻仓库中运行完整测试和构建的个人开发者,可用 myc run 避免重任务争抢本机资源。
  4. 维护 TypeScript、JavaScript 或 Python 代码库的代理,可通过符号、调用关系、代码地图和语义搜索定位实现,而不必读取全部文件。
  5. 从 beads 迁移任务图的用户,可先预演导入,再同步任务、依赖、评论、记忆及受支持的元数据。
  6. 需要在多台机器间延续代理工作但不希望部署服务的个人用户,可把 oplog 纳入 Git,并在克隆后导入。

如何安装或部署这个 Agent?

前置条件是 Bun 1.3.0 或更高版本、SQLite 3.44.0 或更高版本,以及 macOS 或 Linux;Windows 必须在 WSL 内安装和运行。安装命令:bun install -g @aistastudio/myc。用 myc --version 验证安装。安装包不会自动下载嵌入模型或代码语法,因此基础词法检索可立即使用;需要语义检索时运行 myc models fetch,需要代码索引时运行 myc code fetch。源码安装方式为:git clone https://github.com/aistastudio/myc && cd myc,然后运行 bun install、bun run build 和 ./dist/myc --version。

如何使用这个 Agent?

在目标 Git 仓库中运行 myc init,再运行 myc wire 为 Claude Code、Codex、opencode 和 Kimi 配置钩子与 MCP;若只需部分客户端,可用 myc wire --agents claude,codex。一个最小工作循环是:myc ready --claim 领取下一项任务,myc show <id> 查看上下文,完成后执行 myc close <id>;用 myc remember "why X, not Y" 保存决定,用 myc recall "how retrieval works" 检索,用 myc prime 生成会话上下文。若要启用代码智能,先执行一次 myc code fetch,再执行 myc code index;可用 myc doctor 检查 SQLite、模式、计数和钩子状态。建议首次接线前运行 myc wire --dry-run 查看变更;状态栏和重命令队列分别通过 --status-line 与 --queue-hook 显式启用。

这个 Agent 有哪些优点和局限?

优点
  • 核心完全本地运行且不强制要求 LLM 密钥;未安装嵌入模型时仍提供明确标记的 BM25 词法检索。
  • 把任务、长期记忆、会话隔离、代码索引、MCP 和重命令队列整合在一个 CLI 中,减少编码代理所需的外围工具数量。
  • 退化状态会显示 WARN,并可通过 --strict 以退出码 6 暴露,避免把词法回退或过时索引误认为健康结果。
  • Git 同步只提交 oplog,并按字段合并并发修改;派生数据库、投影和缓存无需进入版本控制。
  • 对嵌套仓库和 Git worktree 有明确处理,包括共享主工作区索引、局部路径回答及分支不一致警告。
  • README 给出了可复现的延迟、排名和测试测量,并说明校准平台及未强制执行的环境边界。
局限
  • 运行时锁定 Bun 和 bun:sqlite,不能在普通 Node.js 或 Deno 上启动;旧版 SQLite 还会导致拒绝运行或并发退化警告。
  • 原生只面向 macOS 和 Linux;Windows 用户必须使用 WSL,不能从 cmd 或 PowerShell 启动。
  • 语义搜索需要额外下载约 129 MB 的嵌入模型,代码智能也必须联网按需获取语法。
  • 符号和调用关系规则目前仅覆盖 TypeScript、TSX、JavaScript 与 Python,其他语言只能使用 grep、锚点和陈旧性信息。
  • 当前没有服务器、ACL、团队模式、网络同步或 PostgreSQL,因而不适合需要集中式多人权限管理的组织。
  • Git worktree 与主检出版本不一致时,符号跨度和骨架可能对应主副本,而不是当前分支;工具会警告,但仍需用户判断结果。

这个 Agent 与同类方案有什么区别?

与 beads 相比,myc 不只是导入器:它提供自己的任务图、记忆、检索和代理接线层。仓库提供 myc import-beads --dry-run 与正式导入流程,并支持后续同步、字段冲突报告、评论、依赖和记忆迁移。其就绪队列还实现了从父任务继承阻塞关系,以修正早期版本与 beads 队列结果不一致的问题。不过,该迁移路径依赖可用的 bd export --include-memories 数据,局部与双向修改可能需要人工处理冲突。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
myc 本地代理记忆与任务层 当前 75 · 表现良好 命令行工具免费 ★ 14 21 天前 TypeScript Codex · Claude Code
Guild 62 · 存在缺口 命令行工具免费 ★ 297 29 天前 Go Codex · Claude Code
funes 智能体记忆库 81 · 表现良好 命令行工具免费 ★ 589 2 天前 Rust Codex · Claude Code
Graphicle 84 · 表现良好 命令行工具免费 + 模型费 ★ 523 今天 Rust Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
表现良好
75/ 100 五分制 3.8 / 5
信任安全 19/29
可靠稳定 11/14
适用触发 14/18
规范维护 14/18
有效结果 12/13
证据核验 5/8
查看各维度的扣分理由
信任安全19 / 29 · 3.3/5

README 清楚说明默认本地运行、可选联网命令、环境变量传递、密钥不强制、候选记忆需审核,以及索引排除凭据文件;wire 提供 dry-run、备份和 unwire。扣分原因:run 可执行任意给定命令,部分 hook 会自动处理命令;数据保护与恢复细节主要是文档中的主张,样本未展示完整实现;发布者身份未知,源码归属证据有限。

可靠稳定11 / 14 · 3.9/5

CLI 有结构化错误输出和提示;README 说明 SQLite 版本门槛、降级警告及 doctor 诊断,CI 配置含 PostgreSQL、类型检查、测试、构建与依赖检查。扣分原因:一些可靠性结论来自文档自述,且 CI 使用未固定为具体版本的 latest Bun,样本也无法独立核对所有实现。

适用触发14 / 18 · 3.9/5

面向编码代理的任务、记忆、代码索引工作流明确,覆盖 Claude Code、Codex、opencode 等集成,并标出内建与可选实现的能力差异。扣分原因:场景主要集中于开发代理,Windows 原生路径仍标为实验性,且部分语言与功能受索引或语法包覆盖范围限制。

规范维护14 / 18 · 3.9/5

README 提供安装、快速开始、命令帮助入口、迁移示例和大量限制说明;LICENSE 明确为 MIT。扣分原因:文档量大且 README 样本在段落中途截断;版本变更记录虽有版本和修复说明,但样本未提供完整 changelog;维护者与明确更新责任未说明。

有效结果12 / 13 · 4.6/5

任务队列、持久记忆、检索和代码索引针对代理上下文丢失及重复探索提供直接价值;CLI、JSON/NDJSON 错误封装和示例输出利于使用。扣分原因:完整收益与性能数据多来自仓库自述,模型和语法下载及 Bun/Node/SQLite 环境要求增加了采用成本。

证据核验5 / 8 · 3.1/5

README 将部分数字关联到脚本、基准数据和日期,CI 文件说明执行步骤,源文件中能看到 CLI 错误封装与代码智能能力接口。扣分原因:样本没有包含被引用的设计文档、测试和全部实现,README 所称的站点一致性构建也未在提供材料中展示;因此多个产品主张无法在本次材料内交叉核实。

风险与缓解建议
  • Windows 原生二进制仍属实验性;文档建议使用 WSL 作为完整支持路径。
  • myc run 会运行传入的命令。使用自动队列 hook 前,应检查将被包装的命令和本机代理权限规则。
  • 请留意 embedding 与语法包需显式下载,以及 SQLite 版本要求;当前评估未执行代码或独立验证文档中的测量。
证据充分度:低 评估于 2026年11月8日 审查版本 aa08cb0a6d20
查看完整评分方法 →
你是这个项目的维护者?把 FARS 徽章加到 README

徽章显示当前的评审分数和结论,点击回到本页。重新评审后约一小时内更新。

FARS

[![FARS 评测](https://followagents.com/badge/myc.svg?lang=zh)](https://followagents.com/zh/agents/myc)
<a href="https://followagents.com/zh/agents/myc"><img src="https://followagents.com/badge/myc.svg?lang=zh" alt="FARS 评测"></a>

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.6.7 0.6.7
    发布说明摘录
    Ретеншн, четвёртый срез: свёртка эпизодов L0 и retention.l0_days. Что сделано myc compact --episodes (retention/4, design01 §6.4(3)). Тело эпизода L0 живёт в файле .myc/episodes/<id>.zst (D22 — сырые транскрипты приватны и вне git), а не в узле. Свёртка: дайджест-note слоя 1 с attrs.episode_of и ребром derived_from; файл уезжает в bodies_cold (zstd) — с этого момента тело стареет вместе с ним, и prune добивает через 180 суток; атрибуты узла помечают архивацию. myc uncompact <id> возвращает тело байт-в-байт. Условие — наличие файла, поэтому свёрнутый не сворачивается повт …
    在 GitHub 查看 ↗
  2. v0.6.6 0.6.6
    发布说明摘录
    Ретеншн, третий срез: myc purge — жёсткое стирание, которое доезжает до пиров. Что сделано myc purge (retention/3, design01 §6.5). Две формы: --id X [--cascade] — один узел (живые рёбра стираются каскадом и требуют --cascade); --scope X --before T --yes — массово по scope и дате рождения (ISO или возраст вроде 90d), с обязательным подтверждением. В отличие от мягкого удаления (deleted_at, обратимо) purge физически удаляет узел, рёбра, вектор, FTS-строку, bodies_cold, замыкание и CRDT-таблицы — и кладёт op='purge' в оплог, так что пиры стирают у себя. Повтор идемпотентен: соб …
    在 GitHub 查看 ↗
  3. v0.6.5 0.6.5
    发布说明摘录
    Ретеншн, первые два среза: локальная чистка prune и обратимое компактирование. Что сделано myc prune (retention/1, design01 §6.5): два удаления по возрасту, ни одно не трогает граф. Холодные тела (bodies_cold) старше 180 суток; оплог старше 30 суток — только при подтверждении ВСЕМИ известными пирами (sync_state.last_seq_sent каждого ≥ seq); без единого пира оплог не трогается, и причина называется в выводе. VACUUM при фрагментации > 25 %. --dry-run. Операcия локальная — в оплог ничего не пишется. …
    在 GitHub 查看 ↗

常见问题

日常使用是否必须联网或配置 LLM API 密钥?
不需要。核心任务、记忆、词法检索和索引操作在本地执行,也没有强制 LLM 密钥。只有 myc models fetch、myc code fetch、显式版本检查以及启用的每日后台版本检查会联网。
没有下载嵌入模型时会发生什么?
检索继续使用词法路径,并在每次回答中显示 WARN degraded.embeddings。如需把退化视为失败,可使用 --strict,此时命令返回退出码 6。
myc wire 会覆盖现有代理配置吗?
它会完整写入自己的文件,并按节点合并 JSON 配置,同时建立 .myc.bak;CLAUDE.md 不会被修改。可先用 myc wire --dry-run 检查所有计划变更,并用 myc unwire 删除其写入内容。
它适合团队共享的中央记忆服务吗?
目前不适合。现有实现是单用户、本地文件工具;服务器、ACL、团队模式、网络同步和 PostgreSQL 仍处于设计或规划阶段。
敏感文件会进入代码索引吗?
不会。.env、私钥、证书、keystore、.npmrc、.netrc 等凭据类文件会被排除,code grep 也拒绝读取它们;模板文件如 .env.example 可以被索引。
这页内容对你有帮助吗?
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。