[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80972":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":12,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},80972,"zettel-builder","wshuyi\u002Fzettel-builder","wshuyi","Bottom-up Zettelkasten card-note skill for AI agent harnesses (Claude Code \u002F OpenClaw \u002F Codex \u002F Hermes). Materials → atomic cards → voice realignment → auto-linking → article-ready cluster inspection.",null,"Python",44,5,31,0,12,46.03,"MIT License",false,"main",true,[],"2026-06-11 04:07:22","# zettel-builder\n\n一个自底向上生长的 Zettelkasten 卡片笔记系统：素材进来就长卡，价值观重述、自动连边、周期性巡检文章就绪簇，缺口处可触发深度调研补卡。\n\n**状态**：面向 AI agent harness（Claude Code \u002F OpenClaw \u002F Codex \u002F Hermes）的 Skill。已脱敏发布——原版围绕个人写作风格构建，这里把写作风格那部分替换成了可填写的模板。\n\n---\n\n## 它解决什么问题\n\n写作素材越积越多，但真要写时却找不到该用哪些。常见做法是攒一堆\"碎念笔记\"，可是这些笔记彼此孤立，不会自己长成文章。\n\nzettel-builder 把\"素材消化\"这一步流程化：\n\n- 每段素材切成多张原子卡（一卡一判断，半年后脱离上下文也能读懂）\n- 每张卡末段必须做**价值观重述**（我同意\u002F不同意\u002F部分同意 + 边界），不是改写文风，是产生新判断\n- 嵌入只做语义召回，agent 必须读全文判定是否真连\u002F真同（不基于相似度阈值自动跳过）\n- 周期巡检卡池，发现\"文章就绪簇\"（密度够 + 视角配齐 + 没被过去文章覆盖）就发 Telegram 提醒\n- 簇拼成大纲后移交给你自己的写作 Skill 出稿\n\n文章不会\"自己长出来\"——它是从已有方向上的稠密簇中浮现的。这个 skill 帮你更高效地组织既定方向的材料，但不替你决定写什么。\n\n## 四种调用模式\n\n| 模式 | 触发 | 做什么 |\n|---|---|---|\n| ingest | `\u002Fzettel ingest \u003C来源>` | 把素材切原子卡 → 价值观重述 → 候选链接 |\n| scan | `\u002Fzettel scan` | 消化 `_queue\u002F` 里积累的待办素材 |\n| inspect | `\u002Fzettel inspect` | 巡检卡池找就绪簇 \u002F 孤儿卡 \u002F 缺口 |\n| write | `\u002Fzettel write \u003Ccluster-id>` | 把指定簇拼成大纲移交写作 Skill 出稿 |\n\n## 安装\n\n### 方式 A — 把仓库交给你自己的 AI agent\n\n> 请安装这个 Skill。先判断我当前使用的是 OpenClaw、Claude Code、Codex 还是 Hermes（优先按这个匹配顺序）。根据本机已有 Skill 目录、同步链或 agent 配置完成安装，并在安装后验证 `zettel-builder` 能被当前环境发现和调用。不要改写 Skill 内容；只有在适配本机外部服务路径或账号能力时，才做必要的本机配置说明。\n\n### 方式 B — 手动安装（Claude Code 示例）\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fwshuyi\u002Fzettel-builder.git ~\u002F.claude\u002Fskills\u002Fzettel-builder\n```\n\nOpenClaw \u002F Hermes \u002F Codex 则放到对应 harness 的 skill 搜索根目录下后 reload。\n\n## 使用前准备\n\nzettel-builder 是\"调度型\"Skill，本身不写文章，依赖几个外部能力。请按需准备：\n\n1. **你的写作风格快照**（必填）\n   首次启用前，请打开 `references\u002Fvoice-snapshot.md`（包内有模板），填入你自己的核心价值观（3-7 条）和文风硬规则。Mode 1 价值观重述会读它，没填则重述会滑回 \"客观介绍\"。\n\n2. **你的写作 Skill**（可选）\n   Mode 4 \u002F Mode 5 把就绪簇或命题草稿移交给你自己的写作 Skill 出稿。没有的话也能用——卡片照样长，只是出稿那步要手动接管。\n\n3. **素材源**（可选）\n   默认在 `~\u002Fwiki\u002Fpublished-articles\u002Fraw\u002F{articles,getnote}\u002F` 找上游素材。可以是已发表文章、笔记导出、Readwise 高亮、知识库快照等任何 Markdown。没有上游也能用 Mode 1 单次喂料。\n\n4. **深度调研 Skill**（可选）\n   Mode 4 检测到簇有 evidence_gap 时可调 `\u002Fdeep-research`。没有就跳过 gap 提示。\n\n5. **OpenClaw 调度**（可选）\n   包内 `references\u002Fopenclaw-cron.md` 说明了 daily-scan + weekly-inspect 的 cron 配置。也可以纯手动 `\u002Fzettel scan`、`\u002Fzettel inspect`。\n\n6. **嵌入模型**（自动）\n   默认走 `fastembed` + BGE-small-zh-v1.5（~90MB 缓存到 `~\u002F.cache\u002Ffastembed\u002F`），TF-IDF 作为降级路径。\n\n## 设计取向\n\n- **自底向上**：素材进来就长卡，不等\"要写时再找\"。和\"自顶向下选题\"型 Skill 互补、不重叠。\n- **agent 判读，嵌入只做召回**：去重和链接的最终判断必须 agent 读全文，不基于相似度自动跳过。这是有意识的\"贵\"。\n- **价值观重述是硬规则**：不是同义词替换，是产生新判断。没有\"我同意\u002F不同意 + 边界\"那一段，卡视为未完成。\n- **本 skill 不写文章**：拼大纲、组材料、找证据缺口；出稿是你写作 Skill 的事。\n- **手动决策点保留**：自动 = 切卡、连边、找簇；人工 = 决定写哪个簇、最终是否要写。\n\n## 注意事项\n\n- 包内 `references\u002Fvoice-snapshot.md` 是**模板**，需要你自己填入价值观\u002F文风条款再启用。\n- 长文切卡会消耗较多 token（GPT-5.5 类模型在 ingest 时每篇 1500+ 字的文章可能切 6-10 张卡）。建议先做小批量试切再上 cron。\n- OpenClaw cron 集成里的 chat_id \u002F bot 名称是占位符，请替换为你自己的 Telegram 配置。\n\n## 目录结构\n\n```\nzettel-builder\u002F\n├── SKILL.md              # 主 Skill 定义（模式路由 + 协议）\n├── references\u002F           # 详细协议（价值观重述、链接、聚类等）\n│   └── voice-snapshot.md   # 价值观\u002F文风模板——首次启用前必须填写\n├── scripts\u002F              # Python 辅助脚本（嵌入、链接候选、聚类等）\n└── agents\u002F               # （为未来子 agent 预留的占位）\n```\n\n## License\n\nMIT — 见 `LICENSE`。可自由使用、修改、再分发，欢迎注明出处但不强制。\n\n## 来源\n\n由 [王树义](https:\u002F\u002Fgithub.com\u002Fwshuyi) 在长期写作实践中迭代设计，已对外脱敏；适合需要\"卡片网络\"工作流但不想从零搭框架的同行使用。\n","zettel-builder 是一个基于 Zettelkasten 方法的卡片笔记系统，旨在帮助用户将写作素材转化为结构化的原子卡片，并通过自动链接和周期性巡检形成文章就绪簇。其核心功能包括素材切分为多张独立可读的原子卡片、价值观重述以产生新判断、语义召回与全文判读确保链接准确性以及自动检测并提醒文章就绪簇。该工具特别适用于需要高效组织大量写作材料但又希望保留个人写作风格的研究者或作者。项目使用 Python 编写，支持多种 AI 代理（如 Claude Code, OpenClaw, Codex, Hermes），并且可以通过简单的命令行操作进行安装和配置。",2,"2026-06-11 04:03:02","CREATED_QUERY"]