把散落各处的工作痕迹 —— git 提交 · AI 对话 · 文档 · 代码 · 数据 —— 织成一本可检索、可关联的本地台账
一份扁平真相 → 派生按天日记 · 全文检索 · 主题关联 · 私有云备份;每条带回链,一跳回原文。
简体中文 | English
loom(织机) 把散落在多个 git 仓、多个 AI 工具会话(Claude / Codex / Cursor / CodeBuddy / pi / OpenCode)、文档、代码、数据里的你自己的工作痕迹,归一成一份扁平记录,再织出可检索、可按主题追溯、可私有云备份的台账。纯标准库 Python,零第三方依赖——clone 即用。
装 loom = 两样东西:loom 命令(CLI,真正干活的)+ loom 技能(装进你的 AI 助手,让它会用 loom)。挑一种:
① Claude Code —— 装成原生插件(最快) · 在 Claude Code 会话里输入斜杠命令(不是终端):
/plugin marketplace add joycastle/loom
/plugin install loom@joycastle
② Codex / Cursor / 任意终端 —— 一行装 · 装好 loom 命令 + 把技能装进在场的所有 AI 助手,零 pip、零打包:
curl -fsSL https://raw.githubusercontent.com/joycastle/loom/main/install.sh | sh③ 手动:
git clone https://github.com/joycastle/loom.git ~/Documents/loom && cd ~/Documents/loom && ./install.sh装完:loom sync 采集,loom serve 浏览器看管理页。日常就一条 loom sync(上云加 --push)。
让 AI 直接调用 loom(MCP) · skill 教 AI 怎么敲命令,MCP 则把 loom 变成 AI 编码工具的原生工具——写代码时直接 loom_search 查台账、loom_note 归档,不用记命令:
claude mcp add loom -- loom mcp-serve # Claude Code;或写进项目 .mcp.json暴露 loom_search / loom_topic_ls / loom_topic_show / loom_today / loom_note 五个工具(读多写少,写入由客户端向你确认)。纯 stdio JSON-RPC,零依赖。
想让 AI 帮你把历史资料也整理好?
git clone后用你的 AI 助手打开这个目录,说一句「读 ONBOARDING.md,带我配置并整理历史」。它会自动读到入口文件(AGENTS.md/CLAUDE.md),照ONBOARDING.md走完:配置 → 首次采集 → 收编散落文档/数据 → 私有云备份 → 主题分类 → 日常。
本地零依赖浏览页,仅 127.0.0.1,纯管理无聊天。下图
loom serve实拍,虚构演示数据。
| 台账(全文检索 + 筛选 + 分页) | 日历(月历热力 + 当天全景) | 主题(DAG,点主题看「一件事」) |
|---|---|---|
![]() |
![]() |
![]() |
loom 的价值不在"又一个笔记工具",而在几个刻意的设计取舍(完整技术细节见 docs/loom_showcase.html · 产品导览):
- 扁平存储,按需成视图 —— 只按稳定
id存一份真相(entries.jsonl);"按天/按主题/按项目"都是同一份数据的不同切法,加一次多轴皆可见。 - 只存「摘要 + 回链」 —— 每条留最值钱的短文本 + 一个
ref指针,全文/diff/原件留原地;上千条依然轻,每条可溯源。 - 入库前打码 —— token / 密钥 / webhook 写入前就抹掉(只抹值、留变量名);凭证只进
~/.loom/.env(chmod 600),绝不进任何仓。 - 主题层是 DAG —— 条目只打叶子标签,层级写在主题页(可多父);查询上卷整棵子树,把一件事的对话+提交+文档+数据缝成一条决策链。
- 日报 / 会话摘要是 AI 合成的派生产出 —— 不是采集源;
loom report gen喂 AI 写日报,loom session gen读会话问答写准标题+可检索摘要,存独立 sidecar、重采不丢。
loom init # 交互引导:身份 / 扫仓 / 飞书
loom sync [--push] # 采集全部源 → 渲染 → 提交(--push 上云)。日常就这条
loom serve [--port 8787] # 本地管理页(仅 127.0.0.1):首页/台账/日历/主题/日报 + 设置
loom mcp-serve # MCP server(stdio):把 loom 暴露给 Claude/Codex 等当原生工具
loom search <词> [--tool T] [--since D] # 全文检索(中文子串;空词 + 过滤 = 浏览)
loom topic ls | show <主题> # 主题树 / 上卷查一件事的全景
loom note "<文本>" [--to 类目] # 随手信息入库(--update <关键词> 追加到已有条目)
loom report gen <日期> | set # 日报:AI 合成 → 回库完整命令(doc add / data add / session / deprecate / repo / identity / source 等)与参数见 docs/ 或 loom <命令> -h。
多股采集来源 归一 + 打码 派生
git · Claude/Codex ┐ ┌ 全文检索 FTS5(中文子串)
pi · OpenCode ├─► loom ─► entries ────►│ 按天日记 · 主题 DAG(可上卷)
Cursor · CodeBuddy │ (归一·打码) 一份真相 │ 日报(AI 合成)
仓库文档 · 数据 · 散信息 ┘ └ 私有云备份(git push)
- 原始数据不上云 —— 只有
vault/的 markdown 走loom sync --push到你自己的私有 git remote;entries.jsonl全文、原始detail、_data/的 csv/xlsx、.env由代码强制的.gitignore留本地。 - 代码 / 数据物理隔离 —— 本仓 = 共享代码(可公开);你的实例在
~/.loom/(init生成、不入代码仓:config.json身份/源开关、.env凭证、data/归一条目+FTS 索引、vault/日记+文档→独立私有仓)。LOOM_HOME可覆盖~/.loom。 - 诚实的取舍 —— 检索是关键词非语义;飞书打点走独立机器人不在 loom 内读 IM;日报由外部 AI 合成,loom 只出料。
MIT —— 随便用、随便改、随便分发,不担保。
给拿到本仓的 AI 助手:先读 AGENTS.md(或 CLAUDE.md);数据整理照 ONBOARDING.md 执行;加采集器等扩展见 docs/。



