coding-agents
vectorize-io/hindsightHindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
一个 Obsidian 风格的知识库:摄取资料,让 LLM 构建并维护互联 wiki,并基于它提问。
@vesna-strivozha-2026/dsh-llm-wiki—— DeepSeek Harness 的「个人知识库」插件。 不需要写代码:像用 Obsidian 一样,把资料丢进去,AI 帮你整理成一本会累积、会互相引用、能直接提问的知识库。
English | 中文
普通的「检索问答(RAG)」是:每次提问时临时去翻原始文档、临时拼答案,用完就丢,什么也不沉淀。
LLM Wiki 不一样,它用的是 Karpathy 的「Wiki 方法论」:AI 持续维护一本会累积、会交叉引用、会自我检查的维基。
打个比方:你请了一个不知疲倦的知识管理员,帮你把散乱的资料整理成有条理、能交叉查询的活页笔记。
| 功能 | 说明 |
|---|---|
| 🗂 一键建库 | 选一个文件夹,自动生成知识库骨架 |
| 📥 拖拽上传 | 拖文件进面板或点击选择,上传前确认 |
| 🧠 自动摄取 | AI 读你的原始文件,自动生成/更新知识页,并维护索引与日志 |
| 📚 文件树浏览 | 像资源管理器一样浏览,点文件即可阅读 |
| 🕸 知识星图 | 把页面之间的关系画成可缩放、可拖拽的网状图 |
| 🩺 自动自检 | 检查孤儿页、孤立页等问题 |
| 📖 原地阅读 | 面板内看 Markdown 排版和 PDF |
| 💬 聊天即问即答 | 聊天框提问,AI 基于知识库作答并附上出处路径 |
.md/.txt/.pdf 等拖进面板 → 上传确认 → 自动摄取(AI 生成知识页)。详细的小白教程(界面速览、FAQ、名词解释)见客户端包 ui-llm-wiki。
插件注册了一个 wiki_query 工具,并注入提示段让模型在遇到知识库话题时先查知识库。所以你直接在聊天框问即可,例如:
“我导入的那篇 agent 论文里,agentic misalignment 是什么意思?”
AI 会检索知识库、基于内容作答,并在回答里给出页面路径(如 wiki/concepts/agentic-misalignment.md)方便核对原文。
<工作区>/llm-wiki/
├── raw/ # 原始来源(你上传的文件,只读,AI 不改)
│ └── .ingested.json # 摄取去重记录
├── wiki/ # AI 生成的知识页(AI 独占维护)
│ ├── entities/ # 实体页
│ ├── concepts/ # 概念页
│ └── sources/ # 来源摘要页
├── index.md # 全库索引(自动重建)
├── log.md # 时间线日志(只追加)
└── schema.md # 知识库约定
单个插件拆成两个包 + 一行 preset 贡献:
| 部件 | 位置 | 职责 |
|---|---|---|
| Host 引擎(本包) | main(dsh.profile.bundles) | 摄取/检索/星图/自检、RPC、wiki_query 工具、提示段 |
| 浏览器面板 | @vesna-strivozha-2026/dsh-client-ui-llm-wiki | 右侧栏文件树 / 上传 / 星图 / 阅读器 |
| preset 行 | 用户自建 preset | 把 wiki_query 工具暴露给 agent |
平面归属:host 引擎发布服务,装在宿主组合(profile);client 面板是
dsh.client行。当前为本地可用形态,client 行跟随本包(host bundle)的cordis.patch.yml一起插入;若正式并入上游,需把 client 行归到dsh-web-appbundle。
# 在 deepseek-harness 仓库内
pnpm install
pnpm run build
# 装入 profile(host + client)
dsh plugin --profile web add @vesna-strivozha-2026/dsh-llm-wiki
然后给 agent preset 加一行(拷贝 standard 后)暴露问答工具:
- id: llm-wiki
name: '@vesna-strivozha-2026/dsh-llm-wiki'
重启客户端即可。
本包(host 引擎)在摄取和检索两处接触模型,客户端面板本身不直接调模型。
每个 raw/ 源触发一次 LLM 调用:输入为源内容(截断到 maxSourceChars)与 schema.md 约定,要求输出结构化 JSON {"pages":[{"path":"...","content":"..."}],"logEntry":"..."},落盘成 wiki/ 页面后自动重建 index.md、追加 log.md。
单源输出受 ingestMaxTokens(默认 16384)约束;源内容按 maxSourceChars(默认 60000)截断;并发受 concurrency(默认 3)约束。
无跨请求缓存;每次摄取即时读取磁盘上的源文件与 markdown。
wiki_query 检索 wiki/ 页面,返回 index.md 摘要与最匹配页面;llm-wiki-query 提示段指示模型优先用该工具回答知识库话题。
结果被截断:索引 ≤1500 字、每页 ≤1200 字、最多 4 页。
无跨请求缓存;检索每次即时读盘。
open / Windows Invoke-Item / Linux xdg-open)。pypdf 依赖:摄取 PDF 需在任意平台安装 Python + pypdf(面板内 PDF 阅读不需要)。details 槽:替换 Harness 自带「工具详情」面板(工具结果仍在对话卡片可见)。[[wikilink]] 点击跳转);复杂 GFM(表格、脚注等)不在其覆盖范围内。