Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dian Help 插件

导航式 Command Registry Viewer — 通过 help <路径> 逐层浏览框架中所有已注册的指令。

功能

  • 只读查看器:从框架 Command Registry 读取指令树,不执行任何命令、不拦截路由
  • 逐级导航help → 根节点列表;help gh.仓库 → 查看 gh.仓库 的子命令
  • 多触发词help / 帮助 / 菜单 / 自定义触发词
  • 路径解析:支持 . 分隔(help gh.仓库.订阅)和空格分隔(help gh 仓库 订阅
  • 图片模式:可选调用 Puppeteer 插件将指令列表渲染为图片发送
  • Web UI 管理面板:修改触发词、黑白名单、插件白名单、图片模式开关
  • 模糊匹配建议:输入不存在的路径时,返回最接近的指令作为建议

安装

npm install
npm run build
npm run pack

生成 dian-help.zip 后,在 Dian Web UI → 插件 → 上传插件 即可安装。

使用

help                  # 查看所有根指令
help gh               # 查看 gh 插件的子命令
help gh.仓库          # 查看 gh.仓库 的子命令
help gh.仓库.订阅     # 查看叶子指令的用法和示例

输出示例:

📖 gh 仓库 - GitHub 仓库管理

├─ 订阅
├─ 取消订阅
└─ 列表

路径:gh.仓库
请输入 help gh.仓库.<子命令> 查看详情
返回上级:help gh

配置

通过 Web UI 或直接编辑 config.json

字段 类型 默认值 说明
command string "help" 主触发词
imageMode boolean false 是否以图片模式发送
puppeteerUrl string "http://127.0.0.1:3000" Puppeteer 插件地址
helpTemplate string (内置 HTML) 图片模式的 HTML 模板
blacklist string[] [] 群/用户黑名单
whitelist string[] [] 群/用户白名单(优先级高于黑名单)
pluginWhitelist string[] [] 只显示指定插件的指令(空 = 全部)

Web UI

npm run dev:ui      # 开发模式,端口 5173,自动代理 API 到 3000
npm run dev:plugin  # 后端 watch 模式

UI 功能:

  • 修改触发词(改后立即生效)
  • 切换图片/文字模式
  • 编辑黑白名单和插件白名单
  • 编辑图片模板 HTML(带实时预览)
  • 检查 Puppeteer 连接状态
  • 按分类浏览所有已注册指令
  • 搜索框按名称/描述筛选

API

方法 路径 说明
GET /plugins/dian-help/api/config 获取当前配置
POST /plugins/dian-help/api/config 更新配置
GET /plugins/dian-help/api/commands 获取所有已注册指令(扁平列表)
POST /plugins/dian-help/api/render 调用 Puppeteer 渲染图片(返回 base64)
POST /plugins/dian-help/api/preview-html 返回渲染后的 HTML
GET /plugins/dian-help/api/puppeteer-status 检查 Puppeteer 连接状态

源码结构

src/
  index.ts       # 插件主体:@Plugin 装饰器、ctx.command 注册、路由、模板渲染
  config.ts      # Config 接口定义、load/save、默认 HTML 模板
  version.ts     # 从 package.json 读取版本号
ui/
  App.tsx         # React 管理面板主组件
  index.css       # 样式
  vite.config.ts  # Vite 构建配置
  pages/
    Dashboard.tsx # 指令浏览面板
    Config.tsx    # 配置编辑面板
    Logs.tsx      # 日志面板
scripts/
  pack.mjs       # 打包为 ZIP 的脚本
tsup.config.ts   # 后端构建配置

架构说明

dian-help 是一个只读的 Command Registry Viewer

  • 通过 ctx.dian.commands.resolveHelpPath(query) 读取指令树
  • 不参与命令路由、不拦截 bare input、不执行任何指令
  • 仅在用户发送 help <路径> 前缀时响应
  • 指令元数据(fullPathsegmentaliasesusageexamples)由各插件在 ctx.command() 中声明,Command Registry 统一管理

About

发送可配置的 help 指令,自动列出当前 Dian 实例所有已注册的指令。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages