Skip to main content
Glama
sdoygb

dsh-geometry-knowledge

by sdoygb

dsh-geometry-knowledge

npm GitHub GitHub Stars DSH data BM25

几何论(共扼谱几何 CSG)知识库插件 for DeepSeek Harness(DSH) —— 标准 DSH bundle,dsh plugin add 一条命令装好。

包内自带导出好的离线索引(data/),无需任何配置即可检索;同一套内核也可通过 mcp/server.mjs 作为 MCP 服务供 Codex++ 等客户端复用。

纯离线 BM25 检索:251 篇文章全文 + 4204 个分块 + 869 条有效真理(887 条历史快照),不依赖任何外部 API、嵌入模型或网络,安装即用。articles/ 根目录的 Markdown 是唯一内容真源,增删改后由本地程序自动原子重建派生索引、主张依赖图并运行一致性审计。检索、阅读、写入、本地状态、服务内主库与文件工具零运行时依赖;公式验证可选使用本机 Python + SymPy 做严格符号证明,geo_git_* 仅要求本机已装 gitgeo_chat_* 走 Node 内置 node:sqlite(Node ≥ 22.5)或系统 sqlite3 命令,只有 geo_web_search 需要外网,geo_shell_execute 需本机可执行命令。

几何论是什么

几何论(共扼谱几何,Conjugate Spectral Geometry)是一套尝试通过少量而合理的实验数据锚定,正确描述这个物理世界的几何理论体系。它不宣称能从少量公理和假设必然地推导出整个物理世界。

  • 公理起点:零之动(非平凡自映射 δ 持续产生区分)+ 总作用量为零(S_total = 0)

  • 推导主干:δ → Clifford 代数 → Bott 周期(δ⁸ = 2π Berry 相位)→ E₈ 偶幺模格 → 结构常数 {2,3,5} → 乘子序列 → Born 法则代数导出 → M₅ Birkhoff 矩阵不动点 → α⁻¹ ≈ 137.036 → 三扇区物理(ℳ物质 / 𝒞因果 / ℐ信息)→ 标准模型重建 → 引力与宇宙学 → 预言检验

  • 11 卷 251 篇根目录文章,覆盖从量子力学数学结构、夸克质量谱、中微子 Majorana 本质,到暗物质替代、黑洞信息悖论、CMB、量子纠错码等主题

本插件把整套知识库做成 31 个 DSH 原生工具ctx.tools.register,非 MCP 转接),让 Agent 在会话中直接检索原文与已验证定理,并强制标注文章编号与章节引用。

Related MCP server: AI Knowledge Base MCP Server

提供的工具(31 个)

检索与阅读(5)

工具

说明

geo_list

文章清单(编号、标题、文件名、分块数),可按系列过滤(如 series="10." 只看应用篇)

geo_search

BM25 语义检索:scope=articles 检索 4204 个文章分块;scope=truth 检索 869 条有效真理

geo_read

读取文章:默认结构摘要视图(元信息+章节目录+核心结论速览),section 关键词精确定位章节,whole=true 整篇;带翻页防护(顺序翻页警告 + 单篇 25000 字符上限)

geo_calc

精确数学计算(纯 JS 安全求值,零依赖):四则/幂/三角/对数/开方,多行赋值,会话内中间变量跨调用保留

geo_truth

当前有效真理层检索(含永久编号 #N、公式名、证明摘要;superseded 条目自动排除)

深度推理与审计(4)

工具

说明

geo_claim

查询程序生成的类型化主张依赖图。主张身份为“属地文章 + 声明类型 + 编号”,支持定义、公理、定理、命题、引理、推论、性质、注记、猜想、验证、观察、机制、结论、对应命题与开放问题;跨文章复述标为 restatement,边区分 depends_on / mentions / equivalent_to

geo_verify

验证 lhs = rhs。优先用本机 SymPy 严格符号化简;无法判定时可按确定性数值抽样检查,但会明确标注“数值一致(非证明)”。支持常见 LaTeX(\frac\sqrt、希腊字母等)。SymPy 是可选增强;缺少 Python/SymPy 时明确报错,不会把未验证公式报成通过

geo_sector_assign

求解 3.23 的简单谱三扇区有限指派:输入 n×3 权重矩阵与 [n_M,n_C,n_I],返回最优/次优本征模指派、扇区偏移成本、选择间隙和唯一性判据

geo_audit

一致性审计:定义身份冲突、悬空/歧义引用、强依赖环、真理层重复编号/名称、真理编号缺少文章定义、数据库是否落后于文章真源。普通 mentions 环不算逻辑错误。scope=graph / truth / index / all

写入与整理(3)

工具

说明

geo_edit_article

精确锚点局部替换。replacements[{old_text,new_text}] 或 JSON 字符串;锚点必须唯一命中,重复/区间重叠/仅空白差异一律失败即报错、整篇不落盘(replace_all=true 才全量替换,dry_run=true 只校验)。覆盖前自动备份到 articles/archive/;写后同步本会话索引,并检查主张关系网:同类型声明改号默认自动更新全库精确引用,正文语义变更列出关联文章等待复核

geo_write_article

写入/追加知识库文章。覆盖前自动备份到 articles/archive/<原名>_<时间戳>.md;新内容不足原文件 30% 触发截断保护并中止。写后同样执行主张关系网检查与同类型改号引用同步

geo_manage_articles

action ∈ archive / list_archive / create_dir / move / rename / deletefilename 接受文章编号前缀(如 "0.10")或文件名

工作区文件(3)

工具

说明

geo_file_list

glob 列目录(* ? ** [...]),自动跳过 .gitnode_modules__pycache__.venvchroma_db 等噪声目录

geo_file_read

读工作区任意项目文件,offset/limit 分页,单文件上限 2.5MB

geo_file_write

写入/追加工作区文件(自动建父目录),覆盖且新内容不足原文件 30% 时触发截断保护

服务内主库与联网(5,P3)

工具

说明

geo_master_status

服务内主库状态:真理有效/总条数、superseded 数、提交队列、事件日志与实际落盘路径

geo_master_truth

直接读取 truth.jsonl 并归并 truth_events.jsonl:支持 #N 精确取与 BM25;include_superseded=true 可审计旧结论

geo_submit_formula

提交候选公式到服务内待审队列(先本地校验必填项与 topology_class ∈ {A0,A1};不伪造自动证明)

geo_submissions

本地队列 action ∈ list / check / withdraw / supersede(撤回仅限本人且未入库;supersede 只追加审计事件,不改原文)

geo_web_search

互联网搜索(Serper/Google):查实验数据与外部文献;结果只作外部实验锚定输入,不得写入真理层

本地状态(8)

工具

说明

geo_time

当前日期时间(中文契约:YYYY年MM月DD日 HH:MM:SS 星期XAsia/Shanghai,附 YYMMDD)——写文章版本号日期前先确认

geo_personal_read

读取个人库(性格、想法、记忆、情绪等)

geo_personal_write

写入个人库指定分类/子字段(子字段不存在时自动创建;已存在且非数组时中止写入,防误覆盖)

geo_teach_correction

记录"被纠正的错误表述 → 正确表述"(含原因、上下文、信任度)

geo_teach_antipattern

记录禁止出现的表述模式(severity: high/medium/low)

geo_teach_patch

记录补丁(主题 + 内容 + 来源)

geo_git_commit

提交当前改动(留空 message 则自动生成)

geo_git_history

查看提交/文件历史

会话数据与命令执行(3,P4)

工具

说明

geo_chat_history

Open WebUI 历史对话列表(只读 webui.dbkeyword 按标题模糊过滤),拿 id 后交给 geo_chat_read

geo_chat_read

读取指定历史对话全文(按对话树正向遍历;chat_id 可只给前几位,多命中时列候选)

geo_shell_execute

在项目根内执行命令(编译 / 测试 / git / 部署):区分推导与编程任务各自配额,命中高危黑名单或试图读 .md 文章一律拒执行;allowShell=false 整体禁用

独立仓库

本服务从 conjugate-spectral-geometry (主项目仓库)拆分为独立仓库发布,便于通过 npm / tarball / git 三种方式分发。

安装

DeepSeek Harness(DSH)

# 从 npm 安装
dsh plugin add dsh-geometry-knowledge

# 或直接从 GitHub 安装
dsh plugin add github:sdoygb/dsh-geometry-knowledge

dsh plugin add 会自动把本包追加进该 profile 的 dsh.profile.bundles;本包自带的配置层 cordis.patch.yml 随即把 geometry-knowledge 插件行插入 loader,31 个 geo_* 工具立即可用。

指定 profile:dsh plugin --profile web add dsh-geometry-knowledge

默认零配置 —— 插件直接读取包内 data/ 索引。要改用自己的文章库,在该 profile 的 cordis.patch.yml 里按 id 覆盖配置(profile 层在本包层之后应用):

- id: geometry-knowledge
  config:
    dataDir: /absolute/path/to/codex++-data
    sourceArticlesDir: /absolute/path/to/app/articles
    stateDir: /absolute/path/to/.geometry-knowledge
    allowShell: false

Codex++ / 其他 MCP 客户端

同一内核也可作为 stdio MCP 服务运行:

python3 mcp/install_codex.py
python3 mcp/install_codex.py --check
node mcp/smoke.mjs

从源码构建

npm install
npm run build     # tsc → dist/
npm run check     # build + 单元测试 + 冒烟测试

使用示例

geo_list series="7."          → 标准模型重建卷的全部文章清单
geo_search "弱混合角"         → 检索弱混合角相关分块
geo_search "谱刚性" scope=truth → 检索当前有效真理
geo_read "10.8" section="Strouhal" → 读取 10.8 的 Strouhal 数推导章节
geo_read "7.5"                → 7.5 的结构摘要视图(默认,省 token)
geo_calc "57.93+26.16+5.91"   → 90(精确计算)
geo_calc "D=10/7821; D*2"     → 0.00256(会话内变量保留)
geo_read "7.5" whole=true     → 读取整篇 7.5 弱混合角
geo_claim number="10.17.7.02" depth=2 direction="dependencies" → 展开该主张显式引用的前置依据
geo_verify lhs="sin(x)^2+cos(x)^2" rhs="1" variables='["x"]' → 严格符号验证通过
geo_audit scope="graph" limit=20 → 列定义冲突、悬空/歧义引用与强依赖环
geo_time                      → 2026年09月10日 14:03:21 星期四(Asia/Shanghai)
geo_file_list pattern="**/*.py" → 列出工作区 Python 脚本
geo_write_article filename="10.41_xxx_CN_260910.md" content="..." → 写入并立即参与本会话检索
geo_edit_article filename="10.8" replacements='[{"old_text":"旧句。","new_text":"新句。"}]' → 精确替换(锚点不唯一会拒绝)
geo_manage_articles action="archive" filename="0.10" → 归档 0.10 并从本会话检索中移除
geo_git_commit message="10.41 补充 X 节" → 提交改动
geo_master_truth "#88"        → 服务内真理层按永久编号精确取
geo_master_truth query="半群强收敛" include_superseded=true → 连旧结论一起审计
geo_master_status             → 服务内主库状态 + 实际数据路径
geo_submissions action="supersede" permanent_number=427 reason="原论证不成立" → 追加取代事件
geo_chat_history limit=5      → 最近 5 条历史对话(取 id)
geo_chat_read chat_id="0ae3"  → 读取该对话全文
geo_shell_execute command="npm test" → 在项目根跑测试(编译/测试类任务配额更宽)

检索提示:先提取文章中的精确术语(如 θ_M、N_dec、η_K、Strouhal、谱刚性、弱混合角、Kolmogorov)效果最佳。

文章真源与索引同步

app/articles/*.md 是唯一内容真源;articles.jsonlarticles_toc.jsonclaims.jsonlclaim_graph.jsonclaim_repair.jsonmanifest.json 都是随时可重建的派生数据。整个同步过程只做本地扫描、分块、类型化依赖图解析、修复工作单生成和原子替换,不调用大模型,也不需要网络。

truth.jsonl 是真理条目快照,truth_events.jsonl 是不可变状态日志,master_submissions.jsonl 是本地提交与撤回的追加式队列。文章同步不会覆盖这三个文件;supersede 也不会改写 truth.jsonl 原行,而是由查询层归并事件得到最新状态。

  • geo_write_articlegeo_edit_articlegeo_manage_articles 修改文章后,程序立即重建磁盘索引;当前会话和后续重启都能检索到新内容

  • MCP 服务运行期间默认监听文章目录,其他 AI 或编辑器写入 .md 后会去抖重建;fs.watch 漏事件时由周期校对兜底

  • 下一次 geo_* 工具调用发现 manifest.json 的 generation 变化后,会自动重载 BM25 索引,无需重启 MCP 服务

  • 同名文章被多个写入方同时修改时,不做文本合并;以磁盘稳定后的最终内容为准。文章仍在写入时同步会重试,不会把半截内容写进索引

  • 只读取 articles/ 根目录下的 .mdarchive/ 等所有子目录、隐藏文件和常见临时文件都不参与索引

仓库内可直接使用独立同步器:

# 单次重建
node mcp/indexer.mjs sync

# 对比文章与 manifest 的 generation;不同则退出码为 1
node mcp/indexer.mjs status

# 常驻监听(Codex 关闭时也可运行,适合其他 AI 持续写文章的场景)
node mcp/indexer.mjs watch

GEO_ARTICLES_DIR 指定文章真源,GEO_DATA_DIR 指定插件数据库目录。当前开发工作区使用:

  • 数据库:<仓库根>/codex++-data/

  • 文章真源:<仓库根>/app/articles/

数据目录与来源优先级

派生索引的数据来源按以下顺序解析:

  1. 插件配置 dataDir

  2. 环境变量 GEO_DATA_DIR

  3. 包内自带索引 <包根>/data/(发布包默认,零配置开箱即用)

  4. 开发工作区 <仓库根>/codex++-data/

文章真源由 sourceArticlesDir / GEO_ARTICLES_DIR 单独指定(缺省为 <dataDir>/articles),可与派生索引目录分离。主库真理、事件与提交队列都位于同一个 dataDir,不需要 masterUrlmasterToken。插件不会读取其他 AI 使用的 geo-data/

本地状态目录

个人库与教学日志默认落在知识库数据目录(可用插件配置 stateDir 单独指定;启动日志会打印确切路径):

  • personal.json —— geo_personal_* 读写

  • teaching.jsonl —— geo_teach_* 追加

可选能力与降级

P3 / P4 的可选能力都可单独关闭,关闭后其余工具不受影响:

  • 联网闸门:配置 offline=true(或环境变量 GEO_OFFLINE=1)时只禁用 geo_web_searchgeo_master_*geo_submissions 是本地文件能力,离线时仍全部可用

  • 命令执行:配置 allowShell=false(或 GEO_ALLOW_SHELL=0)可关掉 geo_shell_execute;开启时仍受三层约束——推导类与编程类任务各自配额(用尽即拒绝)、高危命令黑名单、以及 .md 文章读取拦截(读文章请走 geo_read

  • 历史对话:对话库路径按 chatDbPath 配置 → 环境变量 → 常见候选路径依次解析;后端 chatDbBackend ∈ auto / node / cli(默认 auto:先 Node 内置 node:sqlite,失败回退 sqlite3 命令)。读不到 chat 表时明确报「请确认这是 Open WebUI 的 webui.db」,不静默失败

  • 公式验证geo_verify 默认调用 python3 与本机 SymPy;可通过 GEO_PYTHON 指定解释器。缺少 Python/SymPy 或表达式不受支持时返回明确错误或“无法判定”,不会降级成虚假的验证成功

  • 密钥geo_web_search 密钥按插件配置 serperApiKeySERPER_API_KEY / GEO_SERPER_API_KEY 解析;未配置时返回三种配置方式而非报错堆栈

数据与构建

  • app/articles/*.md 是唯一内容真源;codex++-data/articles.jsonlcodex++-data/articles_toc.jsoncodex++-data/claims.jsonlcodex++-data/claim_graph.jsoncodex++-data/claim_repair.jsoncodex++-data/manifest.jsonnode mcp/indexer.mjs sync 程序化重建

  • codex++-data/truth.jsonlcodex++-data/truth_events.jsonlcodex++-data/master_submissions.jsonl 由服务内主库直接读写,不需要 Flask、ChromaDB、端口 5001 或常驻验证服务

  • codex++-data/claim_repair.json 是修复工作单:每条问题包含当前站点、候选定义、建议动作与理由;它本身只提出修正方案,不自动改文章

  • geo_edit_article / geo_write_article 会额外执行确定性关系网同步:同一文章内“同一声明类型 + 同一标题”的编号变化,默认更新全库同类精确引用;关联文章改写前先备份,任一写入失败则回滚本次已替换文件。sync_references=false 可关闭自动引用同步

  • 正文含义变化不做无约束自动改写:插件会列出所有强依赖与提及来源,返回需要语义复核的文章;这类跨文章修正仍需调用方逐篇读取、改写并重新审计

  • 服务运行时不读取 ChromaDB,也不启动 Flask 或常驻主库服务;派生索引统一由 node mcp/indexer.mjs sync 从文章真源重建

  • dist/ 由 TypeScript 编译:npm run build

  • 单元测试:npm test(先 tsc 再跑 tests/unit/*.test.mjs

  • 冒烟测试:npm run smoke

引用规范

所有检索结果必须标注文章编号(article_id/fname)与章节;真理层条目优先引用永久编号 #N。

许可证

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables AI agents to query a local knowledge graph built from document collections using hybrid search (BM25 + vector fusion) and entity-relationship extraction. Supports privacy-first, offline operation with tools for semantic search, entity graph exploration, and corpus statistics.
    3
    -
  • A
    license
    B
    quality
    B
    maintenance
    Provides read-only hybrid RAG search and discovery over a local-first AI knowledge corpus, enabling semantic and keyword search, browse, digest, and status tools.
    4
    PolyForm Noncommercial 1.0.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables local-first hybrid knowledge retrieval from authorized Markdown and plain-text files, combining full-text and vector search with reranking and traceable source references via a single search tool.
    1
    MIT