Skip to content

seenbefore/llm-wiki-mvp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLM Wiki MVP

这是一个通过 OpenSkills 分发的 LLM Wiki 仓库,提供 5 个可直接安装和使用的本地 skill:task-starttask-closeingestquerylint

Quick Start

推荐先安装 skill,再让 agent 按 skill 工作;不要先手工阅读 schema/ 再自行摸索流程。

git clone https://github.com/seenbefore/llm-wiki-mvp
openskills install -g -y https://github.com/seenbefore/llm-wiki-mvp
openskills list
npx openskills read ingest

执行上面的命令后:

  • skill 会被安装到用户级全局位置,而不是当前项目的 .claude/skills/.agents/skills/
  • openskills list 应显示 task-start、task-close、ingest、query、lint 为 global
  • agent 之后可在任意项目中通过 npx openskills read <skill-name> 加载这些 skill

不要省略 -gopenskills install 默认是项目安装。

Updating A Private Knowledge Repo

如果你把这个公共仓库作为产品功能源,同时维护一个私人知识仓库用于实际沉淀内容,推荐结构是:

  • 公共产品仓库:开发和发布 skills/schema/、README 等功能。
  • 私人知识仓库:保存个人的 raw/wiki/.obsidian/logs/ 内容,并定期合并公共功能更新。

在私人仓库中添加公共仓库作为只读上游:

cd E:\path\to\your-private-llm-wiki
git remote add upstream https://github.com/seenbefore/llm-wiki-mvp.git
git remote set-url --push upstream DISABLED

之后每次更新公共功能:

cd E:\path\to\your-private-llm-wiki
git fetch upstream
git merge upstream/master
git push private master

如果合并时出现冲突,通常按这个原则处理:

  • skills/schema/、产品 README:优先采用公共仓库版本,再补充你的私人说明。
  • raw/wiki/.obsidian/logs/:优先保留私人仓库版本。

不要从私人知识仓库推送到 upstream;私人仓库只推自己的 private remote。

How To Use

Wiki Root Config

在任意项目工作区中使用这些 skill 前,先在用户目录写入本机 wiki 仓库根路径配置。配置文件固定为:

%USERPROFILE%\.config\llm-wiki-mvp\config.json

内容示例:

{
  "root": "E:\\code\\llm-wiki-mvp"
}

root 必须指向 llm-wiki-mvp 仓库根目录,不是 wiki/ 子目录。Windows PowerShell 创建示例:

$configDir = Join-Path $env:USERPROFILE '.config\llm-wiki-mvp'
New-Item -ItemType Directory -Force -Path $configDir | Out-Null
$config = @{ root = 'E:\code\llm-wiki-mvp' } | ConvertTo-Json
Set-Content -Encoding UTF8 (Join-Path $configDir 'config.json') $config

快速验证:

$config = Get-Content (Join-Path $env:USERPROFILE '.config\llm-wiki-mvp\config.json') -Raw | ConvertFrom-Json
Test-Path (Join-Path $config.root 'schema/AGENTS.md')
Test-Path (Join-Path $config.root 'wiki')

旧环境变量 LLM_WIKI_ROOT 已弃用;即使存在,skill 也不应把它作为路径来源。

1. Task Start

先读取 skill:

npx openskills read task-start

然后在重要任务开始前让 agent 做任务启动,例如:

  • task-start local:我要开始一个新任务,主题是 AI 工具整合
  • task-start local:我要做 DGX Spark 本地模型部署,请先查 wiki
  • task-start web:为这个任务生成一份给 ChatGPT 网页版使用的上下文包

task-start 会只读 wiki/,输出相关页面、已有上下文、可复用结论、当前缺口和本次建议上下文包;启动阶段不写入仓库。

task-start 有两种模式:

  • web:输出可直接复制到 ChatGPT 网页版或其他网页 AI 的 Markdown 上下文包,输出后停止,不执行本地任务。
  • local:输出给当前本地 agent / Codex 会话使用的任务启动上下文;若用户任务本身是执行型,启动后可以继续进入计划、实现或验证。

2. Task Close

先读取 skill:

npx openskills read task-close

然后在重要任务结束时让 agent 做任务收尾,例如:

  • task-close local:判断这次本地任务是否值得沉淀到 LLM-wiki
  • task-close local:把本次 AI 工具整合讨论整理成 raw task note
  • task-close web:生成一段给 ChatGPT 网页版使用的可沉淀笔记整理提示词
  • task-close web:下面是 ChatGPT 网页输出的沉淀笔记,请保存为 raw task note

task-close 默认只写入 raw/task-notes/YYYY-MM-DD-<task-slug>.md,作为后续 ingest 的原始资料;它不直接改 wiki/

task-close 有两种模式:

  • web:面向网页 AI 的跨工具回流。可以生成给 ChatGPT 网页版使用的沉淀提示词,也可以接收网页 AI 返回的沉淀笔记并保存到 raw/task-notes/
  • local:面向当前本地 agent / Codex 会话的任务收尾,保留目标、变更、验证、决策、踩坑和后续事项。

网页 AI 的输出不是事实源;回流内容必须先进入 raw/task-notes/,再用 ingest 编译进 wiki/

ChatGPT Web Bridge

如果你同时使用 ChatGPT Plus 网页版和本地 LLM Wiki,推荐用这条闭环:

  1. 本地运行 task-start web,生成给 ChatGPT 网页版的任务上下文包。
  2. 把上下文包复制到 ChatGPT 网页版,做方案讨论、写作或复杂推理。
  3. 结束时运行 task-close web 生成沉淀提示词,要求 ChatGPT 输出可沉淀 Markdown 笔记。
  4. 把网页返回的笔记交给 task-close web,保存到 raw/task-notes/
  5. 对该 raw task note 运行 ingest,编译进 wiki/

默认不要把 ChatGPT Memory 或 Projects 当作长期事实源;本地 Wiki / 仓库才是事实源。

3. Ingest

先读取 skill:

npx openskills read ingest

然后让 agent 使用 ingest 处理一个或一组 raw/ 来源,例如:

  • ingest raw/articles/2026-04-07-karpathy-llm-wiki.md
  • ingest raw/articles/

默认目标是先生成或更新 wiki/sources/ 页面,再按需要更新主题页、概念页、实体页,并同步 wiki/index.mdlogs/log.md

4. Query

先读取 skill:

npx openskills read query

然后直接基于现有 wiki 提问,例如:

  • LLM WikiRAG 的核心区别是什么?
  • 当前仓库里的 Obsidian 链接规范是什么?

query 会优先从 wiki/index.md 和现有 wiki 页面回答,而不是默认回到 raw/

5. Lint

先读取 skill:

npx openskills read lint

然后让 agent 对全库或局部页面做巡检,例如:

  • lint 全库
  • lint wiki/concepts/
  • lint 最近更新过的页面

lint 默认检查孤儿页、无来源结论、索引遗漏、错链、frontmatter 问题、未标记冲突,以及不符合 Obsidian 规范的双链。

Repo Structure

  • raw/:原始资料,只读层。
  • wiki/:知识中间层,由 Agent 增量维护。
  • schema/:工作流、模板和约束规则。
  • logs/:摄入、问答沉淀和巡检日志。
  • skills/:仓库内的 skill 源定义。

Notes

  • 这 5 个 skill 的源定义位于 skills/task-start/skills/task-close/skills/ingest/skills/query/skills/lint/
  • skill 应通过 openskills install -g -y https://github.com/seenbefore/llm-wiki-mvp 全局安装;不要使用默认的项目安装。
  • 若某个项目需要生成本地 AGENTS.md 暴露全局 skill,可在该项目中按需运行 openskills sync;这不是安装 skill。
  • 如果你直接把仓库作为 Obsidian vault 打开,wiki/ 是日常浏览主区域。
  • 文件名优先使用 kebab-case,正文优先使用 [[文件名|显示文本]]
  • 如果一个页面长期会以多个名字被引用,把这些名字写进 YAML aliases,不要直接依赖裸显示标题。
  • 若在其他项目工作区中调用已安装的 task-start/task-close/ingest/query/lint,需要读写本机某份 llm-wiki-mvp 克隆,请设置用户配置文件 %USERPROFILE%\.config\llm-wiki-mvp\config.json;详见各 skill 内「Wiki 根路径(用户配置文件)」一节。

About

Build Your Own LLM Personal Local Knowledge Base with Karpathy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors