使用 JavaScript 为 Koishi 编写简单的指令 Define simple Koishi…
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/DGCK81LNN/koishi-plugin-microcommands.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/1(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
用 JavaScript 为 Koishi 编写简单指令
README
由 DeepSeek 最新模型翻译生成koishi-plugin-microcommands
Microcommands 让你用 JavaScript 代码,方便地为 Koishi 机器人创建指令。
用法介绍
管理员可以用 microcommand 指令来定义指令。
* microcommand define <name>
定义微指令。name 是指令名,code 是指令的 JavaScript 代码。指令定义的 API 见下文。默认需要 4 级权限。
* microcommand remove <name>
删除指定的微指令。默认需要 4 级权限。
* microcommand show <name>
显示指定微指令的源代码。默认不要求权限。
* microcommand list
显示当前注册的微指令列表。默认不要求权限。
每个注册的微指令默认都是 microcommand 的[层级式子指令][subcmd](除非它已经是某个指令的[派生式子指令][subcmd])。建议用官方插件 commands 提供的 command <name> -p <parentName> 来更改微指令所属的父级指令(或 command <name> -P 将其改为顶级指令),也可以在控制台的「指令管理」中操作。
展开完整文档(README 剩余 1 节)
koishi-plugin-microcommands
Microcommands 让你用 JavaScript 代码,方便地为 Koishi 机器人创建指令。
用法介绍
管理员可以用 microcommand 指令来定义指令。
* microcommand define <name>
定义微指令。name 是指令名,code 是指令的 JavaScript 代码。指令定义的 API 见下文。默认需要 4 级权限。
* microcommand remove <name>
删除指定的微指令。默认需要 4 级权限。
* microcommand show <name>
显示指定微指令的源代码。默认不要求权限。
* microcommand list
显示当前注册的微指令列表。默认不要求权限。
每个注册的微指令默认都是 microcommand 的[层级式子指令][subcmd](除非它已经是某个指令的[派生式子指令][subcmd])。建议用官方插件 commands 提供的 command <name> -p <parentName> 来更改微指令所属的父级指令(或 command <name> -P 将其改为顶级指令),也可以在控制台的「指令管理」中操作。
[subcmd]: https://koishi.chat/zh-CN/manual/usage/command.html#子指令
微指令 API
微指令定义的代码里有以下局部变量(虽然是变量,但除了可以把 ctx 赋值为加了过滤器的 ctx〔如 ctx = ctx.platform("onebot")〕之外,不要给这些变量赋值):
* name:当前微指令的名称。
* ctx:当前插件上下文。整段定义代码运行完之后,它会被替换成内层插件上下文,用来注入服务依赖。
* require(moduleSpec):导入 Node.js 模块。
* inject(services):注入服务依赖,相当于一般插件的 export const inject = services。
* signature(def, desc?, config?):设置指令的基本信息。参数与 ctx.command() 相同,只是第一个参数开头不写指令名称(指令没有参数就传空字符串)。
* option(name, desc?, config?):定义指令选项。同 cmd.option()。
* alias(name, config?):定义指令别名。同 cmd.alias()。
* usage(text):定义指令使用说明。同 cmd.usage()。
* example(example):定义指令使用示例。同 cmd.example()。
* userFields(fields):定义指令需要用到的用户数据字段。同 cmd.userFields()。
* channelFields(fields):定义指令需要用到的频道数据字段。同 cmd.channelFields()。
* before(checker, append?):定义指令的检测函数。同 cmd.before()。
* action(action, prepend?):定义指令的执行函数。同 cmd.action()。
* locale(locale, dict):定义指令的本地化字符串。同 ctx.i18n.define(locale, { commands: { [name]: dict } })。
另外,koishi 包导出的所有函数和对象,在微指令定义环境里都是局部变量,可以直接使用。
示例
下面是一个简单的微指令示例:
~~~javascript
//microcommand define greet
signature("[name:text]", "打招呼", { checkUnknown: true })
option("formal", "-f", "使用正式称呼")
action(({ options: { formal } }, name) =>
h.text(${formal ? "您好" : "你好"},${name || "世界"}!)
)
下面是包含国际化支持的微指令示例: ~~~javascript //microcommand define greet
signature("[name:text]", { checkUnknown: true })
option("formal", "-f")
action(({ session, options: { formal } }, name) =>
session.i18n(formal ? ".formal-greeting" : ".greeting", [name || session.i18n(".default-name")])
)
locale("zh-CN", {
description: "打招呼",
options: {
formal: "使用正式称呼", },
messages: {
greeting: "你好,{0}!", "formal-greeting": "您好,{0}!", "default-name": "世界", }, })
locale("en-US", {
description: "Send greeting",
options: {
formal: "Use a formal greeting",
},
messages: {
greeting: "Hello, {0}!",
"formal-greeting": "Good day, {0}!",
"default-name": "world",
},
})
编辑器支持
koishi-plugin-microcommands/types 提供微指令定义环境下全局对象的类型声明。如果你用外部编辑器编写微指令代码,可以在文件里加三斜线指令,启用编辑器 Intellisense 支持:
~~~js
/// <reference types="koishi-plugin-microcommands/types" />
或者,在微指令代码所在目录中创建 jsconfig.json:
~~~json
{
"compilerOptions": {
"types": [
"koishi-plugin-microcommands/types"
]
}
}
控制台编辑器
安装并启用 Koishi 控制台和 koishi-plugin-codemirror 后,插件会在控制台活动栏注册「微指令」页面,路径为 /microcommands,需要 4 级权限。你可以在页面中搜索和编辑已保存的微指令,也可以新建、保存及删除微指令定义。新建的定义只有保存后才会写入数据库;刷新会重新读取列表和源代码。切换、刷新或删除时,如果存在未保存的更改,页面会先请求确认。
控制台和 CodeMirror 插件是可选依赖;未安装时,仍可通过上面的 microcommand 指令和服务 API 管理微指令。
服务 API
其他 Koishi 插件可以通过 ctx.microcommands 读取和管理微指令。使用该服务的插件应声明 microcommands 依赖。该服务提供以下异步方法:
* define(name, code):注册或替换微指令,并将源代码保存到数据库。
* get(name):读取已保存的源代码;微指令不存在时返回 undefined。
* list():返回当前已加载的微指令名称列表。
* remove(name):卸载微指令并删除保存的源代码;返回是否删除了数据库记录。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
DGCK81LNN/koishi-plugin-microcommands
使用 JavaScript 为 Koishi 编写简单的指令 Define simple Koishi…
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9