天机阁(dsh-tianjige):把算法天书装进 DSH 的检索与问答插件

前言

在 DSH 里做图形、动画、物理或 AI 相关实现时,常见做法是临时搜论文、翻博客、在仓库里翻旧笔记。对话上下文有限,模型也容易把复杂度、取舍和「有没有现成实现」混在一起说。天机阁(dsh-tianjige)把一套结构化算法库(README 中称 codex,当前合并库为 219 条)做成 agent 工具与侧栏页面:先查库、再看档案,需要时再问天书或做联网扫新,适合需要可核对条目而不是泛泛科普的场景。

这是什么

天机阁 · 算法天书是维护者 MengXingXiaoMing 发布的 DSH 插件(社区目录分类为联网工具)。插件本身是接口层;完整天书数据在上游 algo-hub 仓库的 data/algorithms.json 与 data/taxonomy.json。独立安装包内带 seed/ 快照,首次运行会种子化到 ~/.dsh/tianjige,不依赖你本地是否有整仓源码。

内置起始库覆盖图形、动画、物理、AI 等 13 个领域(taxonomy.json),每条可含原理说明、复杂度、论文与实现链接等。装好后在不改 dataDir 的情况下即可查询;编排、复核与扫新会往数据目录写入 staging、pending、runs 等子目录。

核心功能

Agent 工具(10 个)

工具 作用
tianji_search 自然语言或关键词检索;可选 domain、functionKey、maturity、hasImpl、limit
tianji_get 按 id 返回完整档案(原理、取舍、复杂度、论文、实现、同族变体、注意点)
tianji_ask 基于天书回答设计问题(task);可选 findNew: true 对库外算法联网补充
tianji_sweep 联网扫新候选,写入 data/pending/;action=status / start / config 可配每日调度
tianji_stage 暂存新候选到 data/staging/,待人审合并
tianji_update 原地编辑已有条目(自动备份)
tianji_review / tianji_review_mark 复核队列:列出待审项 / 记录结论
tianji_stats 天书体检:条目数、领域分布、实现覆盖、复核进度
tianji_usage AI 调用 token 账本(读 / 删 / 清空 / 保留策略)

检索策略为先严格匹配、再部分匹配;结果里可带可点击的仓库或包链接。tianji_ask、tianji_sweep 及 AI 辅助复核依赖 DeepSeek API;未配置密钥时其余工具仍可用,AI 类工具返回 AI_NO_KEY。

侧栏与全页 UI

插件在 Cordis 中注册三处席位:左侧栏一行「天机阁」(sidebar.panellist,order: 120)、从该行打开的全页主视图、以及右侧栏同名标签。全页含四个标签:Codex(检索与档案)、Arena、Sweep、Ask,与工具能力对应。页面经主机路由 /api/tianjige/{library,meta,sweep,ask,review,usage,write,log} 取数,仅接受 loopback 请求。若当前 profile 没有 webServer 服务,插件会退化为「仅工具、无页面」。

安装与启用

安装对象实际是包内的 tianjige-plugin/ 目录;以下命令摘自官方 README(desktop 可换成你的 profile 名):

# 从 GitHub Release 安装(无需 npm 账号)
dsh plugin --profile desktop add https://github.com/MengXingXiaoMing/dsh-tianjige/releases/download/v1.3.0/dsh-tianjige-1.3.0.tgz

# npm 发布后可用
dsh plugin --profile desktop add dsh-tianjige

# 本地开发:指向插件目录
dsh plugin --profile desktop add C:\path\to\algo-hub\tianjige-plugin

安装后需要重启 DSH:主机侧在启动时一次性加载,仅刷新页面不会重载插件。重启前可用 node --check host.js 与 node --check lib/*.mjs 做语法冒烟。

环境要求(见 README Compatibility):DSH >=0.2.1-rc.2,Node ^22.19.0 || >=24.0.0;不依赖 @deepseek-ai/* 包。AI 工具需配置 DEEPSEEK_API_KEY 环境变量,或在 ~/.dsh/.credentials.yaml 中写 DEEPSEEK_API_KEY: 行。

可选配置

通过 cordis.patch.yml 插入的插件行(id: tianjige)支持两项可选配置:

键 默认 含义
dataDir 包父目录(仓库根) 含 data/ 与 server/ai.mjs 的天书根目录
defaultLimit 8 tianji_search 默认返回条数

也可用环境变量 DSH_TIANJIGE_DATA_DIR 覆盖数据目录。从 npm 安装且无旁路仓库时,读写集中在 ~/.dsh/tianjige。

- insert:
    - id: tianjige
      name: dsh-tianjige
      config:
        dataDir: D:\wherever\algo-hub
        defaultLimit: 8

典型用法

在对话中让 agent 调用工具即可,参数名与 README Tools 表一致。下面是可以直接复述给模型的几种模式(非独立可执行脚本,而是工具契约说明)。

1. 按场景找算法

让 agent 调用 tianji_search,例如 query 为「实时阴影」,hasImpl: true 过滤已有实现链接,domain 限定某一领域。默认条数受 defaultLimit(配置或 8)约束。

2. 读一条完整档案

检索得到 id 后调用 tianji_get,用于对比同 functionKey 下的变体、复杂度与论文出处,再决定实现路线。

3. 设计题先问天书

tianji_ask 传入 task 描述约束(性能、平台、是否可接受预计算等)。库内不够且允许联网时设 findNew: true。

4. 维护与治理

编辑用 tianji_update,新增候选用 tianji_stage;tianji_review / tianji_review_mark 走复核队列;tianji_stats 看覆盖与复核进度;tianji_sweep 的 action=status 查看扫新调度。有完整 algo-hub 仓库时,可用 python tools/algohub.py validate 校验数据(期望 0 error、0 warning)。

侧栏打开「天机阁」可在同一界面完成检索、竞技场对比、扫新与问答,与工具并行使用。

适用场景与注意

适合谁:在 DSH 里做渲染、仿真、程序化动画或游戏 AI 选型,需要结构化条目、实现链接和可审计编辑流水线的开发者;也愿意在扫新与问天书场景下配置 DeepSeek API。

权限与安全:插件以当前 DSH 进程权限运行,可读写你配置的 dataDir(或 ~/.dsh/tianjige),扫新与 findNew 会触发联网与 AI 调用。安装前建议浏览 GitHub 仓库 源码与 MIT 许可证,确认与你的工作区策略一致。

排错要点:装完看不到入口先重启 DSH,并用 plugin_manager 看 application 字段。页面提示 sweep 不可用时,查 /api/tianjige/meta 的 500 响应或执行 node --check lib/sweep.mjs。AI_NO_KEY 仅表示未配 API 密钥,非检索类工具不受影响。

DSH 生态奉行「一切皆插件」;SkillHub 目录页 是社区收录,与 DeepSeek / 幻方无官方从属关系。

结尾

天机阁把 219 门算法的检索、档案、问天书、复核与体检收敛进同一 DSH 插件:十条 agent 工具加侧栏四标签页面,自带 seed 库,装完即可查询。发布包版本以 Release 为准(资料中示例为 v1.3.0)。进一步说明见 GitHub:MengXingXiaoMing/dsh-tianjige,安装与索引见 SkillHub 插件页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜