Vai al contenuto principale
I

dsh-llm-wiki

iwtown/dsh-llm-wiki

Base di conoscenza secondo il pattern Karpathy LLM Wiki per DSH: competenze wiki-write/wiki-search, pipeline senza dipendenze (lint/indice/sincronizzazione memoria mnemon/feedback di qualità), plugin di ciclo di vita minimale che inietta schema + anteprima della conoscenza, richiamo semantico SiliconFlow via proxy compatibile con Ollama.

Installazione

dsh plugin --profile web add github:iwtown/dsh-llm-wiki

README

dsh-llm-wiki

Karpathy LLM Wiki 模式的 DeepSeek Harness 知识库系统:模型写 wiki、管线维护、记忆体召回、质量闭环。 对齐 Google Research WikiSkill 三层架构 + OKF v0.2 知识格式规范。

基于 Karpathy 的 LLM Wiki 理念 的 Obsidian 知识库自动化方案。整套系统由 1 个极简插件 + 2 个技能 + 1 个管线脚本 + 1 个向量代理服务 组成,刻意保持低代码、零第三方插件依赖。

架构

写:wiki-write SKILL → 模型会话内写 Obsidian wiki 页面(frontmatter/wikilink 规范)
管:llm-wiki-pipeline.mjs(lint/okf/compile-patterns/索引/记忆体同步/usage/rate,零依赖,幂等)
     ├─ systemd timer 每日 10:00 自动运行
     └─ 插件 session/disposed 事件触发(60s 防重入)
记:mnemon 记忆体(向量语义召回)
读:wiki-search SKILL(rg + read 检索原文)
馈:--rate 质量反馈 / --usage 召回热度回写 queried_count
编:--compile-patterns 从孤立节点聚类生成 pattern 页(WikiSkill 核心创新)
向:embed-proxy.mjs(Ollama 兼容代理 → SiliconFlow /v1/embeddings,可选)
组件文件部署位置
生命周期插件plugin/dsh-llm-wiki.mjs~/.dsh/profiles/web/(cordis.patch.yml 挂载)
检索技能skills/wiki-search/SKILL.md~/.agents/skills/wiki-search/
写入技能skills/wiki-write/SKILL.md~/.agents/skills/wiki-write/
管线scripts/llm-wiki-pipeline.mjs~/bin/
向量代理scripts/embed-proxy.mjs~/bin/ + systemd 服务
定时systemd/llm-wiki-pipeline.timer~/.config/systemd/user/

依赖

  • dsh >= 0.1.1-rc.2(web profile)
  • Node.js >= 22.19(管线用 node:sqlite)
  • ripgrep(wiki-search 检索)
  • mnemon CLI + dsh-mnemon 插件(记忆体)
  • Obsidian vault(wiki 页面),目录结构见 wiki 结构
  • SiliconFlow API key(可选,用于向量召回;复用 ~/.modlens/config.json 或环境变量 EMBED_KEY)

安装

方式 A:bundle 包(推荐,含插件)

dsh plugin --profile web add github:iwtown/dsh-llm-wiki

然后安装 SKILL / 管线 / systemd 服务(install.sh 只做这一步也行):

git clone https://github.com/iwtown/dsh-llm-wiki.git
cd dsh-llm-wiki && ./install.sh
systemctl --user restart dsh-web   # 让插件生效

方式 B:install.sh 全量本地部署(插件为 profile 本地文件,零 npm/零 node_modules,最反脆弱)

git clone https://github.com/iwtown/dsh-llm-wiki.git
cd dsh-llm-wiki && ./install.sh
systemctl --user restart dsh-web

install.sh 会把各组件复制到标准位置并启用 systemd 服务。然后:

  1. 配置 vault 路径:默认 /mnt/d/DB/Obsidian/LLM-Wiki(管线可用环境变量 LLM_WIKI_VAULT 覆盖;插件在 cordis.patch.yml 的 config.vault 覆盖;SKILL 文件中的路径需按本机修改
  2. 首次记忆体同步node ~/bin/llm-wiki-pipeline.mjs --sync(把 wiki 精华导入 mnemon)
  3. 可选向量:确认 embed-proxy 服务运行后 mnemon embed --all 补齐向量

使用

  • 写入知识:直接说"把这个记到知识库",模型按 wiki-write 技能写入对应分类
  • 检索知识:问"之前怎么做的",模型按 wiki-search 技能检索并引用原文
  • 手动管线node ~/bin/llm-wiki-pipeline.mjs --all
  • 质量反馈node ~/bin/llm-wiki-pipeline.mjs --rate wiki/决策/xxx.md --rating useful|outdated

管线路由

node ~/bin/llm-wiki-pipeline.mjs --lint          # frontmatter 完整性 + 孤立节点检测 + stale 报告
node ~/bin/llm-wiki-pipeline.mjs --okf           # OKF v0.2 字段补齐(幂等,verified 自动标记)
node ~/bin/llm-wiki-pipeline.mjs --compile-patterns  # 从孤立节点聚类生成 pattern 页
node ~/bin/llm-wiki-pipeline.mjs --index         # 重建导航页
node ~/bin/llm-wiki-pipeline.mjs --sync          # 变更同步到 mnemon 记忆体
node ~/bin/llm-wiki-pipeline.mjs --usage         # 回写召回热度到 frontmatter
node ~/bin/llm-wiki-pipeline.mjs --dsh-export    # 导出 DSH 会话到 raw/sessions/dsh/
node ~/bin/llm-wiki-pipeline.mjs --all           # 全量执行(含 --prune-memory)
node ~/bin/llm-wiki-pipeline.mjs --all --dry-run # 预览模式(零写入)

配置(环境变量)

变量默认说明
LLM_WIKI_VAULT/mnt/d/DB/Obsidian/LLM-Wikivault 路径
LLM_WIKI_STATE~/.dsh/llm-wiki/pipeline-state.json管线增量状态文件
EMBED_KEY读 ~/.modlens/config.jsonSiliconFlow API key
EMBED_MODELBAAI/bge-m3向量模型

wiki 结构

LLM-Wiki/
├── schema.md                # 运行时守则(插件注入到系统提示)
├── log.md                   # 操作日志(管线追加)
├── raw/                     # [Raw Layer] 原始素材(追加写入,永不删除)
│   ├── sessions/dsh/        # DSH 会话导出(管线 --dsh-export 自动生成)
│   └── zinbox-index/        # ZInBox 剪藏原始源
├── wiki/                    # [Wiki Layer] 编译后的结构化知识
│   ├── index.md             # 导航页(管线 --index 自动生成)
│   ├── evolution/
│   │   ├── logs.md          # 编译日志(pattern 创建/合并/归档事件)
│   │   └── skill-impact.md  # 技能影响追踪表
│   ├── patterns/            # WikiSkill 模式页(管线 --compile-patterns 自动生成)
│   │   ├── TEMPLATE.md      # Pattern 页模板
│   │   └── *-pattern.md     # 自动生成的可复用经验页
│   └── <12 分类>/           # 发现/决策/概念/流程/命令/规则/提示/记忆/项目/引用/索引/基因
└── skills/                  # [Skills Layer] 可执行技能追溯(扩展点)
    └── _template/PURPOSE.md # Skill 回溯到 inspire 它的 pattern 页

OKF v0.2 字段

字段类型写入方说明
sourcesstring[]模型填写;管线 okfAlign 补全知识来源(URL / session / 配置路径)
generated{ by, at }管线自动补充生成者(agent/dsh-llm-wikihuman:<id>
verified{ by, at }quality_score≥4 自动标记 / --rate 确认信任分级:agent verified / human reviewed
statusactive|draft|archived管线 stale 检测 + --rate 更新生命周期状态
stale_afterISO 日期管线 okfAlign 自动计算created/updated + 90 天
descriptionstring管线 okfAlign 从内容摘要推导一句话知识描述
quality_score1-5管线 usage 回写 + --rate 更新知识质量评分

信任分级

级别条件置信度
✅ human-reviewedverified.byhuman:高置信,优先召回
⚙️ machine-confirmedquality_score ≥ 4 且无 human verified中置信,管线自动验证
⚠️ unverified新页面或 quality_score < 3低置信,需人工确认

WikiSkill 三层架构对齐

WikiSkill 层dsh-llm-wiki 对应说明
Raw Layerraw/sessions/, raw/zinbox-index/原始素材;管线 --dsh-export 自动导入
Wiki Layerwiki/(12 分类 + patterns/ + evolution/)结构化知识;管线 --lint/--okf/--compile-patterns 自动维护
Skills Layerskills/ + DSH ~/.agents/skills/可执行技能;每个 skill 可选配 PURPOSE.md 回溯 pattern

核心创新:Pattern 层 — 从孤立节点聚类提取可复用经验,由管线 --compile-patterns 自动生成,写入 wiki/evolution/logs.md 编译日志。

设计原则

  • 反脆弱:检索/写入用 SKILL + DSH 原生工具(零插件故障面);只有"必须进程内"的注入与事件钩子才进插件(~90 行)
  • 幂等:管线 mtime 增量检测,重复运行无副作用;--okf / --compile-patterns 均幂等
  • 闭环:使用数据(recall 命中)→ queried_count → quality_score → 影响召回 → verified 信任分级
  • 本地优先:wiki 与记忆体全本地,向量可选云端
  • 编译进化:孤立节点 → pattern 聚类 → 可复用经验,知识随使用不断提炼

License

MIT

Plugin correlati