myc 本地代理记忆与任务层

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

Star 数
★ 13
最近更新
4 天前
License
MIT
主语言
TypeScript

30 秒速览

可在哪里用
通用 · 跨平台Codex · Claude Code
开始前需要
Bun >= 1.3.0SQLite >= 3.44.0GitmacOS or Linux; WSL on WindowsShell / 命令行本地文件系统MCP Server
典型场景
频繁经历上下文压缩的 Claude Code 用户,可用预压缩钩子保存原始会话,并在下一段上下文中获得恢复信息。
主要局限
运行时锁定 Bun 和 bun:sqlite,不能在普通 Node.js 或 Deno 上启动;旧版 SQLite 还会导致拒绝运行或并发退化警告。

这个 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 symbolmyc callersmyc code searchmyc code grepmyc code mapmyc skeleton 输出定义、调用者、搜索结果、结构图或文件 API。压缩前钩子会把会话 episode 先写入磁盘,并把提取出的决定作为待审核候选保存;确认前,这些候选不会进入 recall、search、prime 或 MCP 检索结果。myc run -- <command> 使用用户级共享队列串行化完整测试、构建等重命令,myc exportmyc 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 installbun 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 本地代理记忆与任务层 当前 87 · 表现良好 ★ 13 4 天前 TypeScript Codex · Claude Code
Aura 代码变更审计 70 · 存在缺口 ★ 47 5 天前 Rust Codex · Claude Code
Caura 70 · 存在缺口 ★ 533 今天 Python Codex · Claude Code · Claude.ai
Magic Context 54 · 缺口较多 ★ 2.2k 今天 TypeScript

FollowAgents 如何评估这个 Agent?

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

证据显示工具默认本地运行,网络访问被限定到明确命令或可选更新检查;模型、语法下载、队列钩子、状态栏和用户级接线均为显式选择。接线支持 dry-run、逐节点合并、旁置备份和 unwire,权限规则不会被 myc run 绕过,代码索引还拒绝读取常见凭据文件。扣分在于敏感会话虽标记为 private 并进行秘密掩码,但材料没有说明静态加密、保留期限、删除策略或掩码覆盖率;用户确认机制很强但并非每项本地写入都逐次确认。依赖有哈希校验、deps-check 和受控 SQLite 构建,但未提供锁文件或依赖审计结果。MIT 版权归属清楚,不过发布者身份未验证,材料也未完整交代所有第三方组件的归属。

可靠稳定12 / 14 · 4.3/5

README、package.json 和工作流对 Bun、SQLite、构建、测试及基准方法基本一致,并明确区分可强制执行的相对检查和未校准机器上的绝对数字。SQLite 前置条件、缺失模型或语法、等待超时、接线缺失和索引偏离均有具体警告或拒绝信息。扣分在依赖可用性:产品严格绑定 Bun 和特定 SQLite 能力,语义模型及语法需要后续网络下载,CI 又使用 latest Bun,长期复现仍依赖外部供应与兼容性。

适用触发16 / 18 · 4.4/5

材料覆盖单代理、多代理、嵌套仓库、git worktree、迁移、离线词法搜索、代码索引和多种宿主接线,且明确说明能力边界、支持语言、作用域和触发条件。钩子对重型命令有较精细的匹配、排除和覆盖设置。环境适配扣分是因为仅原生支持 macOS 和 Linux,Windows 只能使用 WSL,且不能在普通 Node.js 或 Deno 上运行;代码符号规则也仅覆盖 TypeScript、JavaScript 和 Python。

规范维护14 / 18 · 3.9/5

README 提供清晰的安装、快速开始、命令示例、设计文档入口、帮助路径和已知限制,MIT 许可证正文与元数据一致。扣分在于没有提供独立 FAQ;版本信息存在根 package.json 为 0.0.0、README 示例为 0.3.14 的双轨表达,虽可能是 monorepo 设计但来源材料未解释。发布变化散见于版本说明和历史案例,没有给出完整 changelog。维护主体仅能从 aistastudio 版权、仓库名和少量 issue 提及推知,没有明确维护者、支持渠道、响应承诺或安全报告路径。

有效结果13 / 13 · 5.0/5

输出设计强调可操作性:警告会说明降级、缺失组件、等待对象、索引陈旧或 worktree 偏离,并通常附带下一条命令。任务、持久记忆、候选决策复核、代码索引和跨项目重型任务队列形成明显的组合价值。成本也有具体控制,包括本地默认、按需下载、增量索引、后台刷新、大小披露和延迟预算;在静态材料范围内未发现需要扣分的明确效用缺口。

证据核验8 / 8 · 5.0/5

多数性能和排名主张附有日期、脚本、语料或测试路径,并明确标注未重新测量、硬件未校准及哪些断言不会在共享 CI 中强制执行。README 的要求由 package.json 和两个工作流交叉支持,工作流还保存夜间测量产物。事实、测量、历史缺陷和当前推断区分得较清楚,因此静态可追溯性充分;但本评估未运行任何脚本或独立验证结果。

风险与缓解建议
  • 本次仅依据所给静态文件评估,未执行构建、测试、基准、安装、接线或撤销流程。
  • 会话记录、项目记忆和用户级队列数据库会写入本地磁盘;材料未说明静态加密、自动过期、安全擦除或完整的数据删除流程。
  • myc wire --scope user 会修改用户级 Claude Code 或 opencode 配置并安装钩子、插件和 MCP 项;使用前应先运行 --dry-run,并确认备份与 unwire 行为符合本地策略。
  • 语义模型、tree-sitter 语法和更新检查会产生网络访问;应审查下载来源、哈希目录及组织的网络政策。
  • 根 package.json 的 0.0.0 与 README 的 0.3.14 不一致;发布或审计时应确认实际分发包版本及其对应提交。
  • 发布者未被 FollowAgents 企业注册表验证,因此不要仅凭名称推定维护身份、支持承诺或供应链信誉。
证据充分度: 评估于 2026年9月24日 审查版本 17f6209162ea
查看完整评分方法 →

常见问题

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

对比同类 Agent

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

相关 Agents