{"id":51609597,"url":"https://github.com/learnprompt/afu-llm-todo","last_synced_at":"2026-07-12T06:02:29.853Z","repository":{"id":355589220,"uuid":"1228667346","full_name":"LearnPrompt/afu-llm-todo","owner":"LearnPrompt","description":"Afu · LLM Todo: turn an Obsidian inbox into a living wiki, then into todo cards for this week.","archived":false,"fork":false,"pushed_at":"2026-06-26T12:46:00.000Z","size":115744,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-26T13:07:37.876Z","etag":null,"topics":["agent-skill","calendar","content-ops","lark","llm-todo","llm-wiki","local-first","macos","markdown","obsidian"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LearnPrompt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-04T08:47:06.000Z","updated_at":"2026-06-26T12:46:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/LearnPrompt/afu-llm-todo","commit_stats":null,"previous_names":["learnprompt/afu-llm-todo"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/LearnPrompt/afu-llm-todo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnPrompt%2Fafu-llm-todo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnPrompt%2Fafu-llm-todo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnPrompt%2Fafu-llm-todo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnPrompt%2Fafu-llm-todo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LearnPrompt","download_url":"https://codeload.github.com/LearnPrompt/afu-llm-todo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnPrompt%2Fafu-llm-todo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35383520,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skill","calendar","content-ops","lark","llm-todo","llm-wiki","local-first","macos","markdown","obsidian"],"created_at":"2026-07-12T06:02:25.796Z","updated_at":"2026-07-12T06:02:29.846Z","avatar_url":"https://github.com/LearnPrompt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 管家阿福 · Afu\n\n**中文** | [English](README_EN.md)\n\n\u003e LLM Todo for Obsidian agents\n\u003e\n\u003e Inbox -\u003e Wiki -\u003e Todo Card -\u003e Calendar\n\n[![Agent Skills](https://img.shields.io/badge/Agent%20Skills-afu--llm--todo-blueviolet)](SKILL.md)\n[![skills.sh](https://skills.sh/b/LearnPrompt/afu-llm-todo)](https://skills.sh/LearnPrompt/afu-llm-todo)\n[![Release](https://img.shields.io/github/v/release/LearnPrompt/afu-llm-todo)](https://github.com/LearnPrompt/afu-llm-todo/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n\u003e **Fork 改动记录：** [个人 fork 相对上游 v1.3.4 的完整差异](docs/yc-main-change-record-2026-07-01.md)\n\n![Afu hero](docs/assets/afu-hero.png)\n\n## 演示视频\n\n[![Afu 演示视频](docs/assets/afu-demo-poster.png)](https://github.com/LearnPrompt/afu-llm-todo/releases/download/demo-video-v1/afu-demo.mp4)\n\n\u003csub\u003e▲ 点击海报播放演示视频（GitHub README 不渲染外链 video 标签，所以用海报直链）\u003c/sub\u003e\n\n事情是这样的。\n\n我自己的 Obsidian 里，收件箱经常不是没有东西，是东西太多了。网页、帖子、论文、灵感、项目记录，全都在里面。真要开始做事的时候，反而会卡住。\n\n普通 Todo 只能催你一声，告诉你还有一件事没做。\n\n但很多时候，真正难的不是执行，是先从一堆材料里判断，哪几件事值得进入这周。\n\n所以才有了管家阿福。\n\n它不是来替代 Obsidian 的，也不是又一个任务管理器。它更像站在 Vault 门口的管家，先把收件箱里的材料整理成 Wiki，再把 Wiki 里已经长出来的判断，变成可以排进日历的待办卡。\n\n```text\nInbox -\u003e Wiki -\u003e Todo Card -\u003e Calendar\n```\n\n## 安装给 Agent 用\n\n如果你的 Agent 支持 Skill 安装，优先用这个方式：\n\n```bash\nnpx skills add LearnPrompt/afu-llm-todo\n```\n\n安装后，把需求直接交给 Agent：\n\n```text\n用管家阿福整理我的 Obsidian 收件箱，先编译 Wiki，再给我生成这周的待办卡。\n```\n\n## 触发方式\n\n装完之后,这些话都能唤醒阿福:\n\n- \"整理我的 Obsidian 收件箱\"\n- \"每天提醒我处理 Obsidian 收件箱\"\n- \"把 inbox 这批资料编译成 Wiki\"\n- \"从 Wiki 给我生成这周的待办卡\"\n- \"把待办卡排进周历\"\n- 甚至只是:\"我的 Obsidian 堆了一堆没处理的东西\"\n\n它不会接的活(免得抢错戏):非 Obsidian 的普通待办清单、改写润色你的笔记原文、Notion 类非 Markdown 知识库。\n\n## 每日提醒怎么用\n\n阿福也适合做一个很轻的每日收件箱提醒。\n\n```text\n每天 23:30 提醒我处理 Obsidian 收件箱。先检查 `00_收件箱/YYYY-MM-DD/` 这个当天日期目录,再看今天修改的自动投递和候选选题;不要只靠文件修改时间,也不要把历史残留说成今日新增。如果今天没有新增,就明确告诉我。再单独列出历史 backlog,挑 3-5 个最值得处理的候选,说明它们应该保留、编译进 Wiki、生成待办卡,还是先等我判断。没有我确认时,不要删除、移动或改写原文。\n```\n\n它不只是喊你“该整理了”,而是每天把 inbox 里最该动的几件事捞出来,让你从判断开始,不是从翻箱倒柜开始。\n\n## 想先看 UI\n\nDemo 跑在 sample vault 里，你自己的笔记先原地不动。\n\n```bash\ngit clone https://github.com/LearnPrompt/afu-llm-todo.git\ncd afu-llm-todo\nnpm install\nnpm run demo:reset\nnpm run demo\n```\n\n打开：\n\n```bash\nopen http://localhost:4317\n```\n\n你会看到三条 sample 素材。把它们送进 Wiki，生成待办卡，再拖进周排期。\n\n## 不需要跟我一模一样的 Vault，你可以随便改\n\n默认 sample vault 用的是这几个目录：\n\n```text\n00_收件箱\n30_研究/内容Wiki\n15_自媒体/选题库\n```\n\n但这只是示例。\n\n你自己的 Vault 可以叫别的名字。阿福真正需要知道的只有三个位置：\n\n- 粗素材在哪里\n- Wiki 写到哪里\n- 待办卡写到哪里\n\n剩下的路径，都可以在配置里改。Markdown 还在你的本地，阿福只是帮 Agent 找到入口和写回位置。\n\n## 工作原理\n\n阿福不是直接把收件箱里的每条东西都变成任务。\n\n它先做一次中间整理。\n\n```text\nInbox\n  -\u003e Wiki packet\n  -\u003e Markdown Wiki\n  -\u003e Todo Card\n  -\u003e Calendar\n```\n\n这一步很关键。\n\n因为收件箱里的东西通常是乱的。一个链接里可能只有半个观点，一段摘录里可能只有一个线索，一个项目记录里可能藏着真正要做的下一步。\n\n阿福会先把这些材料放进 Wiki 语境里，让 Agent 有地方沉淀判断。等 Wiki 里已经能看出方向了，再生成待办卡。\n\n所以它不是在帮你多列几个任务。\n\n它是在帮你把资料变成能动起来的东西。\n\n## 安全边界\n\n阿福是管家,不是主人:\n\n- **收件箱原文永不改写**——它只移动、归档、编译,不动你写的字;\n- **只写三类位置**:Wiki 目录、待办卡目录、操作日志;不碰 vault 里其他任何文件;\n- **每一步落日志**:导入、排期、作废、Wiki 编译都有记录,出错可以照日志回滚;\n- **写入前确认**:待办卡入库需要你点头,不会先斩后奏;\n- **本地优先**:Markdown 是唯一真源,不引入外部数据库,第一版不强制外部 LLM API Key。\n\n## 背后故事\n\n这个项目一开始不是为了发布。\n\n它只是我自己在 Obsidian 前面补的一层小工具。因为我真的经常遇到一个问题，收件箱里明明有很多好东西，但每次要排这一周的时候，还是得从头翻一遍。\n\n翻着翻着就累了。\n\n后来 Karpathy 提到 LLM Wiki，我一下子觉得这个方向很对。资料不应该永远躺在收件箱里，也不应该每次都靠临时搜索重新理解一遍。更好的方式，是让 Agent 把它们整理成一个会生长的 Wiki。\n\n参考：\u003chttps://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f\u003e\n\n再往前走一步，Wiki 不应该只是被查询。\n\n它应该长出行动。\n\n这就是 Afu。\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**更多好用 Skill · More Skills** → [learnprompt.pro/skills](https://learnprompt.pro/skills/)\n\n[鲁班·Skill打磨](https://github.com/LearnPrompt/luban-skill) · [庖丁·博主蒸馏](https://github.com/LearnPrompt/paoding-skill) · [蔡伦·对话造纸](https://github.com/LearnPrompt/cailun-skill) · [阿福·LLM Todo](https://github.com/LearnPrompt/afu-llm-todo) · [愚公·Loop工程](https://github.com/LearnPrompt/loop-engineering) · [搭子·结对开发](https://github.com/LearnPrompt/partner-skill) · [AI雷达·零API资讯](https://github.com/LearnPrompt/ai-news-radar)\n\n[淘金小镇·ClawHub日榜](https://github.com/LearnPrompt/skillrush-town) · [Irasutoya·正文配图](https://github.com/LearnPrompt/carl-irasutoya-illustrations) · [Humanize PPT·演讲系统](https://github.com/LearnPrompt/humanize-ppt) · [CC Harness·六件套](https://github.com/LearnPrompt/cc-harness-skills) · [微信读书教练](https://github.com/LearnPrompt/carl-weread) · [X Article发布](https://github.com/LearnPrompt/x-article-publisher-skill)\n\n\u003csub\u003e**[LearnPrompt](https://github.com/LearnPrompt) 出品** · 公众号「卡尔的AI沃茨」 · [X @aiwarts](https://x.com/aiwarts)\u003c/sub\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearnprompt%2Fafu-llm-todo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flearnprompt%2Fafu-llm-todo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearnprompt%2Fafu-llm-todo/lists"}