Back to home@FlyAIBox

dsh-llm-wiki

一个面向 DeepSeek Harness(DSH)的 Markdown-first 知识库插件。它把本地文件、目录和网页整理为可由 Git/Obsidian 直接检查的 LLM Wiki,同时保留不可变原始证据、来源版本和可追溯引用

Stars
1
Language
TypeScript
Created
Aug 21, 2026
Updated
Aug 21, 2026
GitHub repo

Introduction

dsh-llm-wiki

dsh-llm-wiki 是一个面向 DeepSeek Harness(DSH)的 Markdown-first 知识库插件。它把本地文件、目录和网页整理为可由 Git/Obsidian 直接检查的 LLM Wiki,同时保留不可变原始证据、来源版本和可追溯引用。

项目不是 OpenKB 的包装器。它借鉴 Karpathy LLM Wiki 的“原始证据 + 编译知识”工作流,以及 OpenKB 的多格式导入经验,并按照 DSH 的插件、工具、任务和模型能力实现。

v1 能力

  • 导入目录、PDF、DOCX、PPTX、XLSX/XLS/CSV/TSV、图片、Markdown/文本/HTML/JSON/XML。
  • 导入普通 HTTP(S) URL、微信公众号文章和 Twitter/X 内容。
  • 通过已安装的 web-content-fetcher skill 获取公开网页;需要登录或真实浏览器时返回 browser_required,由主 Agent 显式调用 web-access
  • 将知识编译为摘要、概念、实体和探索页面,来源锚点随结论保存。
  • 使用 SQLite FTS5 做可重建全文检索;Markdown 和原始文件才是权威数据。
  • 支持来源撤回、恢复、去重、版本继承、lint 和基于证据的问答。

v1 不支持音视频、老式 .doc/.ppt、压缩包、EPUB、网页工作台或向量数据库。

仓库文档

本地开发

当前仓库的开发依赖通过 link: 指向同级的 /Users/fly/code/deepseek-harness;发布时它们是普通 peer dependencies。

cd /Users/fly/code/dsh-llm-wiki
pnpm install
pnpm run check

文档转换伴随程序需要 CPython 3.11+ 并预装锁定依赖,运行工具时绝不自动下载。macOS 自带的 Python 3.9 不满足 MarkItDown 要求:

python3.11 -m venv .venv
.venv/bin/pip install -r python/requirements.lock

网页导入还要求 DSH skill registry 能解析名为 web-content-fetcher 的本地 skill(来源:shirenchuang/web-content-fetcher)。需要登录或真实浏览器时,主 Agent 使用 eze-is/web-access;该 skill 不会被插件隐式执行,也不会被 vendored 到本仓库。

DSH 配置

构建后在 profile 或 bundle 的 cordis.yml 中挂载:

- name: dsh-llm-wiki
  config:
    root: .dsh/llm-wiki
    pythonExecutable: /absolute/path/to/dsh-llm-wiki/.venv/bin/python
    # Optional overrides; each provider/model pair must be configured together.
    # compilerProvider: deepseek
    # compilerModel: deepseek-chat
    # visionProvider: openai
    # visionModel: gpt-4.1
    maxFiles: 2000
    maxBytes: 1073741824
    maxModelCalls: 200
    maxInputTokens: 1000000
    webMaxChars: 100000
    webMinChars: 200

root 相对于当前 DSH workspace。首次成功写入会把语言锁为 zh-CN

Agent 工具

插件注册六个 model-visible 工具:wiki_ingestwiki_querywiki_statuswiki_lintwiki_source_retractwiki_source_restore。导入和 lint 通过 DSH Jobs 后台执行;状态和问答同步返回。

可重建索引和物理清除只提供人工命令,不注册为 model tool:

node lib/cli.js reindex --root /absolute/workspace/.dsh/llm-wiki
node lib/cli.js purge-source --root /absolute/workspace/.dsh/llm-wiki \
  --source-id src-0123456789abcdef0123 --confirm-source-id src-0123456789abcdef0123

purge-source 仅接受已经 retracted 的来源,并要求重复完整 source id;删除 raw 后不可恢复。

数据目录

.dsh/llm-wiki/
├── raw/                 # 不可变来源副本和标准化证据
├── wiki/
│   ├── index.md
│   ├── log.md
│   ├── sources/
│   ├── summaries/
│   ├── concepts/
│   ├── entities/
│   └── explorations/
└── .state/              # manifest、staging、可重建 FTS 索引

安全原则

  • 路径导入会先扫描再写入;目录导入要求 Agent 展示扫描摘要并获得用户批准。
  • .env、私钥、常见凭据文件、浏览器配置、.git 和 wiki 自身目录始终拒绝。
  • 网页 skill 只负责获取内容;插件不读取或保存浏览器 Cookie。
  • 本地解析完成后,仅标准化文本和明确选择的图片可进入模型请求。
  • 物理清除原始证据不是 model tool;只能由人工维护命令完成。