🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

锚点知识库 z2hYtwo/dsh-mindanchor

DeepSeek Harness
z2hYtwo77 天前有提交已提供中文文档扫描:含敏感能力

把本地 md 文件夹变成可搜索可反查的知识图谱

26/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add z2hYtwo/dsh-mindanchor
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 77 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/8) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 26 处,展示前 26 条)
  • 读取本地文件
    src/commands/append.ts:59
    const mtimeMs = statSync(filePath).mtimeMs
  • 读取本地文件
    src/commands/capture.ts:41
    const isFresh = !existsSync(filePath)
  • 读取本地文件
    src/commands/capture.ts:70
    const mtimeMs = statSync(filePath).mtimeMs
  • 读取本地文件
    src/commands/doctor.ts:30
    const missingDirs = SCAN_DIRS.filter(d => !existsSync(path.join(store.vault, d)))
  • 读取本地文件
    src/commands/doctor.ts:82
    entries = readdirSync(dir)
  • 读取本地文件
    src/commands/doctor.ts:108
    entries = readdirSync(dir)
  • 读取本地文件
    src/commands/doctor.ts:116
    const s = statSync(filePath)
  • 读取本地文件
    src/commands/note.ts:69
    const mtimeMs = statSync(filePath).mtimeMs
  • 读取本地文件
    src/store/edge-io.ts:136
    const mtimeMs = statSync(filePath).mtimeMs
  • 读取本地文件
    src/store/md-io.ts:54
    const raw = readFileSync(filePath, 'utf8')
  • 读取本地文件
    src/store/md-io.ts:67
    const s = statSync(filePath)
  • 读取本地文件
    src/store/md-io.ts:68
    const raw = readFileSync(filePath, 'utf8')
  • 读取本地文件
    src/store/md-io.ts:131
    if (options?.expectedMtimeMs !== undefined && existsSync(filePath)) {
  • 读取本地文件
    src/store/md-io.ts:132
    const s = statSync(filePath)
  • 写入本地文件
    src/store/md-io.ts:141
    mkdirSync(dir, { recursive: true })
  • 写入本地文件
    src/store/md-io.ts:144
    writeFileSync(tmp, raw, 'utf8')
  • 写入本地文件
    src/store/md-io.ts:145
    renameSync(tmp, filePath)
  • 读取本地文件
    src/store/md-io.ts:155
    const s = statSync(filePath, { bigint: true })
  • 读取本地文件
    src/store/sync.ts:167
    entries = readdirSync(dir)
  • 读取本地文件
    src/store/sync.ts:179
    s = statSync(filePath, { bigint: true })
  • 读取本地文件
    src/store/vault.ts:24
    if (existsSync(candidate)) {
  • 读取本地文件
    src/store/vault.ts:26
    if (statSync(candidate).isDirectory()) return candidate
  • 写入本地文件
    src/store/vault.ts:43
    mkdirSync(vaultPath, { recursive: true })
  • 写入本地文件
    src/store/vault.ts:45
    mkdirSync(path.join(vaultPath, d), { recursive: true })
  • 读取本地文件
    src/store/vault.ts:48
    if (!existsSync(configPath)) {
  • 写入本地文件
    src/store/vault.ts:49
    writeFileSync(configPath, DEFAULT_CONFIG_YML, 'utf8')
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • md文件夹转知识图谱
  • 斜杠命令操作
  • 知识可搜索可反查

MindAnchor 是一个 dsh Cordis 插件。它给 dsh 加一组 /mind … 斜杠命令,把用户手动经营的 md 文件夹变成可搜索、可关联、可反查的知识图谱。

README

由 DeepSeek 最新模型翻译生成
MindAnchor 装上 dsh 就能用的本地个人知识库插件。Markdown 是唯一事实源,SQLite 只做索引,Obsidian 兼容。 MindAnchor 是 dsh Cordis 插件。它给 dsh 加一组 /mind … 斜杠命令,把你手动经营的 md 文件夹变成可搜索、可关联、可反查的知识图谱。 - 本地优先:所有内容都在你项目下的 .mindanchor/;卸掉插件,md 文件依然是干净的 Obsidian vault - Human-first:MindAnchor 不推理、不自动召回、不做 embedding;agent 只是 slash 命令背后的确定性执行器 - SQLite 可重建:index.db 只是索引;删掉它跑一次 /mind reindex 就能从 md 完整重建 - 实时索引:文件系统 watcher 监听 vault,md 一变立即刷索引(跨命令、跨编辑器) 1. 是什么 / 不是什么 是: - dsh 插件,通过 agent/pre-step 拦截 /mind 命令 - Obsidian 风格的本地 markdown 知识库(.mindanchor/{people,projects,concepts,events,daily}/.md) - SQLite 索引层(全文 + 关系图 + 反向链) 不是:
展开完整文档(README 剩余 1 节)
MindAnchor

装上 dsh 就能用的本地个人知识库插件。Markdown 是唯一事实源,SQLite 只做索引,Obsidian 兼容。

MindAnchor 是 dsh Cordis 插件。它给 dsh 加一组 /mind … 斜杠命令,把你手动经营的 md 文件夹变成可搜索、可关联、可反查的知识图谱。

- 本地优先:所有内容都在你项目下的 .mindanchor/;卸掉插件,md 文件依然是干净的 Obsidian vault
- Human-first:MindAnchor 不推理、不自动召回、不做 embedding;agent 只是 slash 命令背后的确定性执行器
- SQLite 可重建:index.db 只是索引;删掉它跑一次 /mind reindex 就能从 md 完整重建
- 实时索引:文件系统 watcher 监听 vault,md 一变立即刷索引(跨命令、跨编辑器)

1. 是什么 / 不是什么

是:
- dsh 插件,通过 agent/pre-step 拦截 /mind 命令
- Obsidian 风格的本地 markdown 知识库(.mindanchor/{people,projects,concepts,events,daily}/.md)
- SQLite 索引层(全文 + 关系图 + 反向链)

不是:
- 云端知识库(无同步;用你自己的 git / iCloud / Dropbox)
- 语义搜索 / embedding 库(v0.2 有意不做;设计脉络见本地 docs/SPIKE-REPORT.md,未随仓库发布)
- Agent 自主「记住你」的系统(MindAnchor 不在 agent/request 里注入上下文,agent 只在你显式命令时介入)

2. 3 分钟上手

1. 装 dsh CLI(首次约 4 分钟)
npm install @deepseek-ai/dsh@latest

2. 装 MindAnchor(从 npm 或本地 file link)
npm install mindanchor
或本地开发时:npm install file:/path/to/MindAnchor

3. 把 MindAnchor 挂到 dsh profile 详细步骤(含 patch yml + 挂载 + credential 配置)见本地 docs/RUN-VERIFY.md(未随仓库发布)

启动 dsh,进入对话,发送:

/mind init

MindAnchor 在当前目录下建立骨架:

.mindanchor/
├── people/ 人 ├── projects/ 项目 ├── concepts/ 概念 ├── events/ 事件 ├── daily/ 日记 ├── config.yml └── index.db SQLite 索引(可删除,reindex 重建)

接下来试试:

/mind note --type=项目 --name=MindAnchor /mind note --type=人 --name=张三 /mind capture --text="今天开了 MindAnchor 的 kickoff 会" /mind search --q=kickoff /mind backlinks --name=张三

3. 命令表

| 命令 | 说明 |
| /mind init | 初始化 vault(若不存在则创建骨架) |
| /mind note --type=<类型> --name=<名字> [--aliases=<json 数组>] | 新建具名实体,落 <类型>/名字.md |
| /mind capture --text=<文本> [--date=today] | 追写到当日 daily note |
| /mind append --name=<实体名> --text=<文本> | 往已有实体正文追加一段 |
| /mind search --q=<关键词> [--type=<类型>] [--rel=<predicate>:[[<target>]]] [--limit=10] | 三层过滤:全文 + 类型 + 关系 |
| /mind backlinks --name=<名字> | 反查所有指向 <名字> 的入链,按关系分组 |
| /mind reindex | 抹掉索引并从 md 重建;用于外部编辑器改坏 frontmatter 或 watcher 漏事件之后 |
| /mind doctor | 5 项健康检查:骨架完整性、SQLite integrity、悬空边、孤儿 md、索引对齐 |
| /mind extract --text=<文本> [--from=<实体名>] [--apply] | 起 subagent 从文本抽取实体+关系;默认预览,--apply 落新实体 + 写入 source frontmatter 的命名关系边 |

参数风格:命名 flag,支持 --k=v / --k v / --flag(布尔)。值含空格用单双引号包裹(--text="hello world")。

4. 数据边界 —— md 是唯一事实源

- 人读:所有 md 都是标准 Obsidian 风格,可以直接用 Obsidian / VSCode / Typora 打开编辑
- 机读:SQLite index.db 承载 entities / edges / FTS 三张表 + 一个 meta 表
- 一致性:外部编辑器改 md → watcher 触发 → 索引增量更新;watcher 漏事件时下次命令前的惰性 mtime 扫描兜底
- 可携带:把 .mindanchor/.md 拷到另一台机器直接可用;index.db 首次打开时自动重建

4.1 frontmatter 规范

MindAnchor 保留四个键:type / created / updated / aliases。其余键由你自由使用;值形如 "[[X]]" 或 ["[[X]]", ...] 会被解析为命名关系边。

type: 项目 created: 2026-08-17T10:32:00+08:00 updated: 2026-08-17T10:32:00+08:00
aliases: ["MA"]
owner: "[[张三]]" # 命名关系边 owner → 张三
depends: ["[[项目A]]", "[[项目B]]"] # 数组也识别

MindAnchor

正文...

4.2 关系边的三种来源

| 来源 | 语法 | 示例 |
| frontmatter 命名边 | key: "[[X]]" | owner: "[[张三]]" |
| 行内命名边(Logseq 风格) | predicate:: [[X]] | owner:: [[张三]] |
| 正文匿名双链(Obsidian 风格) | [[X]] / [[X\|alias]] / [[X#heading]] | 参见 [[张三]] |

前两种是「结构化关系」,智能体在 backlinks/search 里能按 predicate 反查;正文里的裸 [[X]] 一律记为 refs 边,用于「谁提到了我」的宽松反查。

冲突去重:同一 md 里 owner:: [[X]] 已经记了命名边,正文匿名的 [[X]] 不会再记 refs 边(避免重复)。

5. Obsidian 兼容

MindAnchor 的 vault 就是一个合法 Obsidian vault:

- ✅ Obsidian 可以直接把 .mindanchor/ 或它任一子目录当作 vault 打开
- ✅ 所有 wikilinks(裸、别名、标题)都被 Obsidian 完全支持
- ✅ MindAnchor 生成的 frontmatter 是 Obsidian dataview 兼容的 YAML mapping
- ⚠️ 行内 predicate:: [[X]] 是 Logseq 语法;Obsidian 会当作纯文本显示,不影响读;MindAnchor 会索引它作为命名边

新建条目时,MindAnchor 一律把命名关系写到 frontmatter(不写行内)——避免 Obsidian 用户看到「奇怪的 :: 语法」。

6. 生命周期与安全

Cordis 生命周期:MindAnchor 用 ctx.effect(...) 注册 runtime,fiber unload 时按序:
1. 停 fs watcher
2. 排空所有 vault 的写队列
3. 关闭所有 SQLite handle

写入安全:
- 原子写:tmp 文件 + rename,进程崩溃不会留下半截 md
- 沙箱:拒绝任何解析到 vault 外的 filePath(防路径穿越)
- 乐观并发:capture / append 读 md 时抓 mtime 快照,写盘前比对;外部编辑器同时改了 md → 命令返回「请重试」而不是覆盖

Agent 边界:
- MindAnchor 不注册 agent/request、prompt assembly、session-start
- 不做 embedding、向量检索、自动上下文注入
- 只在 agent/pre-step 拦 /mind …;未命中直接 next()

7. 已知限制

- /mind extract 需要 dsh 运行时 + LLM credential 配好;不能在裸 store 层单独跑(装 + 跑的完整清单见本地 docs/RUN-VERIFY.md,未入库)
- 不支持 - 短 flag、位置参数(一开始就明确选了命名 flag 风格)
- CJK 全文搜索用 trigram + LIKE fallback:3+ 字命中走 FTS5 trigram,< 3 字回退 LIKE 全表扫;大 vault 下短查询会变慢
- Node 20 Linux 上 fs.watch recursive 不支持 —— watcher 静默停止,惰性 mtime 兜底
- extract --from=<name> 只读实体正文(不读 frontmatter);frontmatter 里的边不会被子代理重新抽取

8. 开发

npm install # 装依赖(含 dsh-agent、dsh-session 类型)
npm run typecheck # tsc --noEmit
npm test # vitest run
npm run build # tsc -p tsconfig.build.json → lib/

真跑清单(本地 docs/RUN-VERIFY.md,未随仓库发布)—— 一步步把 dsh + MindAnchor 装起来跑通 9 命令,含 Windows 中文用户名下的 junction 绕行 + credential 配置 + observation checklist。

模块结构见 src/:
- store/ — markdown + SQLite + watcher + write-queue(脱离 dsh 可独立使用)
- parse/ — argv 分词 + slash 命令识别
- commands/ — 8 个命令 handler + schemastery schema
- render/ — 命令结果 → assistant markdown
- runtime.ts — 生命周期绑定的 vault 资源池
- plugin.ts — Cordis apply(ctx)

设计决策的完整脉络:见本地 docs/SPIKE-REPORT.md(含分片 1-6 的摸底 + dsh 契约事实 + 每次决策的理由;此文件未随仓库发布)。

License

MIT
预览分享卡片长什么样 ↓z2hYtwo/dsh-mindanchor
分享 · DeepSeek Harness Hub
z2hYtwo/dsh-mindanchor

把本地 md 文件夹变成可搜索可反查的知识图谱

这是你的仓库?认领条目

回到顶部