coding-agents
vectorize-io/hindsightHindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
Karpathy LLM Wiki 模式的 DSH 知识库系统:wiki-write/wiki-search 技能引导模型写读 Obsidian wiki,零依赖管线(lint/索引/mnemon 记忆体同步/质量闭环),极简生命周期插件注入守则与知识预览,Ollama 兼容代理接 SiliconFlow 语义召回。
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_HOME/profiles//(cordis.patch.yml 挂载;桌面版为 desktop) 检索技能 · skills/wiki-search/SKILL.md · ~/.agents/skills/wiki-search/ 写入技能 · skills/wiki-write/SKILL.md · ~/.agents/skills/wiki-write/ 管线 · scripts/llm-wiki-pipeline.mjs · $DSH_HOME/bin/(WSL 旧布局为 ~/bin/) 向量代理(可选,旧方案) · scripts/embed-proxy.mjs · 仅当 embedding 端点只认 Ollama 协议时需要;mnemon 0.5+ 直连 OpenAI 兼容端点时不需要 定时(Linux) · systemd/llm-wiki-pipeline.timer · ~/.config/systemd/user/;Windows 用 install.ps1 建计划任务
node:sqlite 与 zlib.zstdDecompressSync;DSH 内置 24.x 满足)grep 工具自带 ripgrep;只有命令行检索才需要 PATH 上的 rg)方式 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-webinstall.sh 会把各组件复制到标准位置并启用 systemd 服务。然后:
/mnt/d/DB/Obsidian/LLM-Wiki,Windows 默认 D:\DB\Obsidian\LLM-Wiki(管线可用 LLM_WIKI_VAULT 覆盖;插件在 cordis.patch.yml 的 config.vault 覆盖;SKILL 文件中的路径需按本机修改)node $DSH_HOME/bin/llm-wiki-pipeline.mjs --sync(WSL 为 ~/bin/;把 wiki 精华导入 mnemon)/v1 结尾);只有端点只认 Ollama 协议时才需要 embed-proxyDSH 桌面版(profile desktop)在 Windows 上没有 systemd、没有 ~/bin,且 Node 由应用内置。用 PowerShell 安装:
git clone https://github.com/iwtown/dsh-llm-wiki.git
cd dsh-llm-wiki
.\install.ps1 # 插件 + 技能 + 管线 + 每日 10:00 计划任务
# .\install.ps1 -NoSchedule # 不建计划任务
# .\install.ps1 -Uninstall # 卸载(patch 里的 insert 需手动删)安装后的位置:
组件 · Windows 位置 插件 · $env:USERPROFILE.dsh\profiles\desktop\dsh-llm-wiki.mjs 技能 · $env:USERPROFILE.agents\skills\wiki-search、wiki-write 管线 · $env:USERPROFILE.dsh\bin\llm-wiki-pipeline.mjs 定时 · 计划任务 LLM-Wiki Pipeline(10:00 每日)
桌面版适配要点(0.8.0):
session.v4.jsonl.zstd(版本号会变),管线按前缀匹配并用 node:zlib 逐帧解压,不再依赖 zstd 命令。mnemon 是 .cmd,直接用 execFile 会 ENOENT/EINVAL;管线会优先找 npm 全局包里的 mnemon.exe,找不到再退回 shell: true。MNEMON_EMBED_* 注入 mnemon 子进程(endpoint/model/protocol/apiKey),key 依次读 MNEMON_EMBED_API_KEY、EMBED_KEY、~/.dsh/.credentials.yaml 的 SF_API_KEY、旧的 ~/.modlens/config.json。grep 工具(自带 ripgrep),不要求 PATH 上有 rg。$DSH_HOME 推导;session/disposed 触发 --all 时会把 LLM_WIKI_VAULT 传给子进程。node ~/bin/llm-wiki-pipeline.mjs --allnode ~/bin/llm-wiki-pipeline.mjs --rate wiki/决策/xxx.md --rating useful|outdatednode ~/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-Wiki · vault 路径 LLM_WIKI_STATE · ~/.dsh/llm-wiki/pipeline-state.json · 管线增量状态文件 EMBED_KEY · 读 ~/.modlens/config.json · SiliconFlow API key EMBED_MODEL · BAAI/bge-m3 · 向量模型
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 页字段 · 类型 · 写入方 · 说明 sources · object[](每项 resource 必填) · 模型填写;管线 okfAlign 补全/规范化 · 知识来源(URL / session / 配置路径);历史字符串数组会被 --okf 自动转成 { resource: ... } generated · { by, at } · 管线自动补充 · 生成者(agent/dsh-llm-wiki 或 human:) verified · { by, at } · quality_score≥4 自动标记 / --rate 确认 · 信任分级:agent verified / human reviewed status · active\ · draft\ · archived · 管线 stale 检测 + --rate 更新 · 生命周期状态 stale_after · ISO 日期 · 管线 okfAlign 自动计算 · created/updated + 90 天 description · string · 管线 okfAlign 从内容摘要推导 · 一句话知识描述 quality_score · 1-5 · 管线 usage 回写 + --rate 更新 · 知识质量评分
OKF 规范截至 2026-10-21 仍为 v0.2(SPEC.md 未更新);0.8.0 起--okf会把历史sources字符串数组规范化为{ resource: ... }对象,幂等。
级别 · 条件 · 置信度 ✅ human-reviewed · verified.by 含 human: · 高置信,优先召回 ⚙️ machine-confirmed · quality_score ≥ 4 且无 human verified · 中置信,管线自动验证 ⚠️ unverified · 新页面或 quality_score < 3 · 低置信,需人工确认
WikiSkill 层 · dsh-llm-wiki 对应 · 说明 Raw Layer · raw/sessions/, raw/zinbox-index/ · 原始素材;管线 --dsh-export 自动导入 Wiki Layer · wiki/(12 分类 + patterns/ + evolution/) · 结构化知识;管线 --lint/--okf/--compile-patterns 自动维护 Skills Layer · skills/ + DSH ~/.agents/skills/ · 可执行技能;每个 skill 可选配 PURPOSE.md 回溯 pattern
核心创新:Pattern 层 — 从孤立节点聚类提取可复用经验,由管线 --compile-patterns 自动生成,写入 wiki/evolution/logs.md 编译日志。
--okf / --compile-patterns 均幂等MIT