Skills Plugins MCP Prompt Model 博客 我的中心

llm-wiki

个人知识库构建系统(基于 Karpathy llm-wiki 方法论)。让 AI 持续构建和维护你的知识库, 支持多种素材源(网页、推特、公众号、小红书、知乎、YouTube、PDF、本地文件), 自动整理为结构化的 wiki。 触发条件:用户明确提到"知识库"、"wiki"、"llm-wiki",或要求对已初始化的知识库执行 消化、查询、健康检查等操作。不要在用户只是要求"总结这篇文章"时触发——必须是明确的 知识库相关意图。

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=sdyckjq-lab-llm-wiki-skill-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name llm-wiki version 3.6.4 author sdyckjq-lab license MIT description 个人知识库构建系统(基于 Karpathy llm-wiki 方法论)。让 AI 持续构建和维护你的知识库, 支持多种素材源(网页、推特、公众号、小红书、知乎、YouTube、PDF、本地文件), 自动整理为结构化的 wiki。 触发条件:用户明确提到"知识库"、"wiki"、"llm-wiki",或要求对已初始化的知识库执行 消化、查询、健康检查等操作。不要在用户只是要求"总结这篇文章"时触发——必须是明确的 知识库相关意图。 metadata {"hermes":{"tags":["knowledge-base","wiki","research","note-taking"]}} llm-wiki — 个人知识库构建系统 把碎片化的信息变成持续积累、互相链接的知识库。你只需要提供素材,AI 做所有的整理工作。 这个 skill 做什么 llm-wiki 帮你构建一个 持续增长的个人知识库 。它不是传统的笔记软件,而是一个让 AI 帮你维护的 wiki 系统: 你给素材(链接、文件、文本),AI 提取核心知识并整理成互相链接的 wiki 页面 知识库随着每次使用变得越来越丰富,而不是每次重新开始 所有内容都是本地 markdown 文件,用 Obsidian 或任何编辑器都能查看 核心理念 传统方式(RAG/聊天记录)的问题:每次问问题,AI 都要从头阅读原始文件,没有积累。知识库的价值在于 知识被编译一次,然后持续维护 ,而不是每次重新推导。 快速开始 告诉用户这两步就够了: 初始化 :说"帮我初始化一个知识库" 添加素材 :给一个链接或文件,说"帮我消化这篇" Script Directory Scripts located in scripts/ subdirectory. Path Resolution : SKILL_DIR = this SKILL.md's directory Script path = ${SKILL_DIR}/scripts/<script-name> 依赖检查 核心主线(本地文件、纯文本、已有知识库操作)默认不需要这些提取依赖。 只有当用户给的是 URL 类来源,并且明确要自动提取网页 / X / 微信公众号 / YouTube / 知乎内容时,才检查以下可选依赖。 如果缺失,提示用户运行: bash ${SKILL_DIR} /install.sh --platform <当前平台> --with-optional-adapters 可选依赖 skill / 工具: baoyu-url-to-markdown — 普通网页、X/Twitter、部分知乎提取 wechat-article-to-markdown — 微信公众号提取 youtube-transcript — YouTube 字幕提取 即使这些依赖缺失,skill 仍可工作(用户可以直接提供本地文件、粘贴文本,或改走手动入口)。 外挂状态模型 外挂失败统一分成 not_installed / env_unavailable / runtime_failed / unsupported / empty_result 五类。 所有需要枚举来源、读取 source_label 、 raw_dir 、 adapter_name 、 fallback_hint 的地方,都先读来源总表: bash ${SKILL_DIR} /scripts/source-registry.sh list 需要拿单个来源的定义时,用: bash ${SKILL_DIR} /scripts/source-registry.sh get <source_id> 对 URL 类来源,先运行: bash ${SKILL_DIR} /scripts/adapter-state.sh check <source_id> adapter-state.sh check 返回 8 列: source_id source_label state state_label detail recovery_action install_hint fallback_hint not_installed :提示用户可补安装,同时允许改走手动入口 env_unavailable :说明缺少的环境条件,同时允许改走手动入口 runtime_failed :说明本次提取执行失败,允许重试一次,再改走手动入口 unsupported :直接给出手动入口,不尝试自动提取 empty_result :说明自动提取没拿到有效内容,请用户手动补全文本 当自动提取实际执行后,再运行: bash ${SKILL_DIR} /scripts/adapter-state.sh classify-run <source_id> <exit_code> <output_path> 用返回的 detail 、 recovery_action 、 install_hint 、 fallback_hint 生成提示。核心主线不因外挂失败而中断。 工作流路由 根据用户的意图,路由到对应的工作流: 用户意图关键词 工作流 "初始化知识库"、"新建 wiki"、"创建知识库" → init URL / 文件路径 / "添加素材"、"消化"、"整理" / 直接给链接 → ingest "批量消化"、"把这些都整理" / 给了文件夹路径 → batch-ingest "关于 XX"、"查询"、"XX 是什么"、"总结一下" → query "给我讲讲 XX"、"深度分析 XX"、"综述 XX"、"digest XX" → digest "对比一下 X 和 Y"、"比较 X 和 Y"、"整理一下时间线"、"按时间排列" → digest (指定格式) "检查知识库"、"健康检查"、"lint" → lint "知识库状态"、"现在有什么"、"有多少素材" → status "画个知识图谱"、"看看关联图"、"graph"、"知识库地图" → graph "删除素材"、"remove"、"delete source"、"移除" → delete "结晶化"、"crystallize"、"把这个记进知识库"、"总结这段对话" → crystallize 重要 :如果用户直接给了一个 URL 或文件,但没有明确说要做什么,默认走 ingest 工作流。如果知识库还不存在,先自动走 init 再走 ingest 。 通用前置检查 除 init 外,其他工作流默认先执行这段检查: 先检查 当前工作目录 是否包含 .wiki-schema.md 如果包含 → 用当前目录作为知识库根路径 如果不包含 → 回退到读取 ~/.llm-wiki-path 如果两者都没有: ingest / batch-ingest → 先运行 init query / lint / status / digest / graph / delete → 提示用户先初始化知识库 读取知识库根目录下的 .wiki-schema.md 从 .wiki-schema.md 的"语言"字段判断 WIKI_LANG 语言:中文 → WIKI_LANG=zh 语言:English → WIKI_LANG=en 字段缺失 → 默认 WIKI_LANG=zh 输出语言规则 所有面向用户的输出和新写入的 wiki 内容,都按 WIKI_LANG 生成: WIKI_LANG=zh → 使用下文中文示例 WIKI_LANG=en → 保持与中文示例相同的结构、信息量和顺序,仅改为自然英文措辞 文件路径、wiki 链接、目录名保持现有约定,不因为语言切换而改动 术语对照 : 素材 → Source 实体 → Entity 主题 → Topic 摘要 → Summary 综合 → Synthesis 消化 → Ingest 对比 → Comparison 深度报告 → Deep Dive Report 知识图谱 → Knowledge Graph 工作流 1:init(初始化知识库) 前置检查(含多知识库 CWD 检查) 先检查 当前工作目录 是否包含 .wiki-schema.md 如果包含 → 当前目录已经是一个知识库,提示用户已存在并询问是否要重新初始化 如果当前目录没有 → 读取 ~/.llm-wiki-path 文件 如果存在 → 提示用户已有一个知识库(显示路径),询问是要新建还是切换到那个 两个都没有 → 进入初始化流程 步骤 询问知识库主题 (先向用户提问): "你的知识库要围绕什么主题?比如'AI 学习笔记'、'产品竞品分析'、'读书笔记'" 如果用户没想法,默认用"我的知识库" 询问知识库语言 (先向用户提问): "知识库内容用什么语言?中文 / English(默认中文)" 选项: zh (中文)或 en (English) 如果用户没有明确说,默认 zh 将选择记录为 WIKI_LANG ( zh 或 en ) 询问保存位置 (先向用户提问): 默认: ~/Documents/我的知识库/ (zh)或 ~/Documents/my-wiki/ (en) 用户可以自定义路径 运行初始化脚本 : bash ${SKILL_DIR} /scripts/init-wiki.sh "<路径>" "<主题>" 补充初始化结果说明 : init-wiki.sh 会同时生成 purpose.md 和 .wiki-cache.json purpose.md 和 .wiki-schema.md 同级存放,用来记录研究目标、关键问题和研究范围 提醒用户优先填写核心目标和关键问题;这些内容写在 purpose.md 里,后续 ingest 会优先参考这里的方向 写入语言配置并本地化种子文件 : 将 .wiki-schema.md 中的 语言:{{LANGUAGE}} 替换为: zh → 语言:中文 (种子文件保持中文,无需额外处理) en → 语言:English , 同时 覆写以下种子文件为英文版: 如果 WIKI_LANG=en ,读取 ${SKILL_DIR}/templates/index-en-template.md 、 ${SKILL_DIR}/templates/overview-en-template.md 、 ${SKILL_DIR}/templates/log-en-template.md ,将 {{DATE}} 和 {{TOPIC}} 替换为实际值后,分别写入 index.md 、 wiki/overview.md 、 log.md 记录路径 到 ~/.llm-wiki-path : echo "<路径>" > ~/.llm-wiki-path 输出引导 (根据 WIKI_LANG 切换语言): 中文(zh) : 知识库已创建!路径:<路径> 接下来你可以: - 给我一个链接,我会自动提取并整理(网页、X/Twitter、公众号、知乎等) - 小红书内容请直接粘贴文本给我(暂不支持自动提取) - 给我一个本地文件路径(PDF、Markdown 等) - 直接粘贴文本内容 - 批量消化:给我一个文件夹路径 推荐:用 Obsidian 打开这个文件夹,可以实时看到知识库的构建效果。 (英文版按「输出语言规则」生成,结构相同。) 工作流 2:ingest(消化素材) 这是最核心的工作流。用户给一个素材进来,AI 做所有的整理工作。 前置检查 执行 通用前置检查 (见上方定义)。 隐私自查提示(首次进入 ingest 必须执行) 在开始提取或分析任何内容之前,AI 必须 先对用户说下面这句话,然后等待确认: 在开始分析这份素材前,请先快速确认里面 不 包含这些敏感内容: 手机号码(如 138xxxxxxxx) 身份证号(18 位数字) API 密钥( sk-... 、 AIzaSy... 、 OPENAI_API_KEY= 、 ANTHROPIC_API_KEY= 、 Bearer ... ) 明文密码( password= 、 passwd= ) 其他你不希望进入知识库的个人信息 如果素材里有上面任何一项,请先用文本编辑器删除或脱敏后再继续。 llm-wiki 不会 自动过滤这些内容,处理后的内容会进入你的知识库。 确认无上述内容请回复 y ,要中止请回复 n 。 流程规则 : 用户回复 y (或"可以"、"继续"、"没有"等明确肯定)→ 继续执行后续步骤 用户回复 n (或"停"、"取消"等明确否定)→ 终止本次 ingest,提示用户清理后再来 其他不明确的回复 → 再问一次,最多两次;两次都不是明确 y/n 则终止 绕过规则 :如果用户在当前对话里已经明确说过"素材里没有敏感信息,直接开始", 或者用户是在 batch-ingest 流程中(已经在顶层确认过一次),AI 可以跳过这一步 为什么是自查清单而不是脚本 : 正则在非结构化文本(聊天记录、笔记)里误报率很高,错过真的敏感词,误报无害的普通词 把判断权还给用户,比让脚本决定更可靠 对新手更友好,不会遇到看不懂的脚本报错 素材提取路由 根据素材类型自动路由到最佳提取方式: 外挂前置判断 : URL 先调用 bash ${SKILL_DIR}/scripts/source-registry.sh match-url "<url>" 本地文件先调用 bash ${SKILL_DIR}/scripts/source-registry.sh match-file "<path>" 纯文本粘贴直接调用 bash ${SKILL_DIR}/scripts/source-registry.sh get plain_text source-registry.sh 返回 10 列: source_id 、 source_label 、 source_category 、 input_mode 、 match_rule 、 raw_dir 、 adapter_name 、 dependency_name 、 dependency_type 、 fallback_hint 调用 bash ${SKILL_DIR}/scripts/adapter-state.sh check <source_id> 从 adapter-state.sh check 的 8 列结果里读取 state 、 detail 、 recovery_action 、 install_hint 、 fallback_hint 如果 state=not_installed / env_unavailable / unsupported → 不调用外挂,直接按 detail 、 recovery_action 、 install_hint 、 fallback_hint 告诉用户下一步 只有返回 available 时,才继续自动提取 URL 类素材 (统一走来源总表,不手写域名表): Chrome 提示 (仅当 adapter_name=baoyu-url-to-markdown 时): adapter-state.sh check 会把“提取器可用”与“是否存在 9222 可复用会话”分开表达。 如果 check 返回 available ,正常调用外挂;即使 detail 提示未检测到 9222,也继续执行。baoyu-url-to-markdown 会自己处理 Chrome 启动, 继续执行,不要等待用户确认 。 只有在你想复用当前已登录的 Chrome 会话时,才需要手动开启 9222。 如果提取仍然失败(通常是页面需要登录态,如 X/Twitter、知乎等),可提示用户开启调试端口复用已登录会话: open -na "Google Chrome" --args --remote-debugging-port=9222 如果 source_category=manual_only → 不调用外挂,直接使用 fallback_hint 如果 adapter_name=wechat-article-to-markdown → 执行 wechat-article-to-markdown "<URL>" 如果 adapter_name=youtube-transcript → 调用 youtube-transcript 如果 adapter_name=baoyu-url-to-markdown → 调用 baoyu-url-to-markdown 本地文件 : 统一走 bash ${SKILL_DIR}/scripts/source-registry.sh match-file "<path>" 命中后直接读取,不调用外挂 纯文本粘贴 : 统一视为 plain_text 直接使用用户提供的文本 统一回退规则 : 对自动提取结果,统一运行 bash ${SKILL_DIR}/scripts/adapter-state.sh classify-run <source_id> <exit_code> <output_path> 从 classify-run 返回的 8 列结果里读取 state 、 detail 、 recovery_action 、 fallback_hint 如果返回 runtime_failed → 按 detail 、 recovery_action 、 fallback_hint 告诉用户“这次自动提取失败,可以先重试一次;如果还不行,就改走手动入口” 如果返回 empty_result → 按 detail 、 recovery_action 、 fallback_hint 告诉用户“自动提取没有拿到有效正文,请手动补全文本后继续” 其他状态也使用同一份返回结果,不再手写第二套回退文案 内容分级处理 根据素材长度和信息密度自动选择处理级别: 判断标准 : 素材内容 > 1000 字 → 完整处理 素材内容 <= 1000 字(短推文、小红书笔记等)→ 简化处理 完整处理流程(长素材 > 1000 字) 提取素材内容 :按上面的路由获取素材文本 保存原始素材 到 raw/ 对应目录: 根据素材类型保存到对应目录(articles/、tweets/、wechat/、xiaohongshu/、zhihu/ 等) 文件名格式: {日期}-{短标题}.md 如果是 URL 类素材,在文件头部记录原始 URL 图片检测与追踪 :保存素材后,扫描内容中是否包含图片引用( ![ 或 <img 或 .png / .jpg / .gif / .svg URL)。如果检测到图片: 告诉用户:"素材包含 {N} 张图片引用。图片链接可能失效,建议手动下载到 raw/assets/ (Obsidian 用户可在设置中绑定快捷键一键下载附件)" 在后续 source 页面的 frontmatter 中: images :记录检测到的图片引用数量 image_paths :如果用户已将图片下载到 raw/assets/ ,用 YAML block list 格式记录路径;如果尚未下载,保持为空数组 [] 。示例: image_paths: - raw/assets/2026-01-15-fig1.png - raw/assets/2026-01-15-fig2.jpg 不阻塞 ingest 流程,仅做提醒 用户后续下载图片后,可以手动更新 source 页面的 image_paths ,或在下次 lint 时由 AI 辅助补全 读取上下文 : 优先顺序: purpose.md > .wiki-schema.md > index.md 如果 purpose.md 存在,先读取其中的核心目标、关键问题和研究范围 用 purpose.md 指导后续实体、主题、关联的取舍和权重 缓存检查 : 在进入 LLM 处理前,先运行: bash ${SKILL_DIR} /scripts/cache.sh check “<raw 文件路径>” 如果返回 HIT 或 HIT(repaired) → 跳过本次 LLM 调用,直接读取已有 wiki 页面,并告诉用户这是”无变化,直接复用已有结果” HIT(repaired) 表示缓存自愈修复成功(上次 update 被跳过但 source 页面存在且 source_path 匹配) 如果返回 MISS:<reason> → 继续执行下面的两步流程 MISS:no_entry — 首次处理此素材(正常情况) MISS:hash_changed — 素材内容有变化,需要重新处理 MISS:no_source — 有缓存记录但 source 页面被删除了 MISS:repaired_needs_verify — 找到同名 source 页面但 source_path 不匹配,需要重新处理以确认关联正确 Step 1:结构化分析 : 输入:原始内容 + purpose.md + 现有 wiki 结构(至少读取 index.md 概要) 输出:JSON 格式的分析结果,不持久化,只在当前 ingest 流程里临时传递 JSON 至少包含 entities 、 topics 、 connections confidence 是必需字段,缺失就视为格式异常并触发单步回退 { "source_summary" : "一句话概括" , "entities" : [ { "name" : "xxx" , "type" : "concept" , "relevance" : "high" , "confidence" : "EXTRACTED" , "evidence" : "原文摘录或推理依据" } ] , "topics" : [ { "name" : "xxx" , "importance" : "high" } ] ,
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。