Koishi 是一个现代化跨平台机器人框架,目前可支持 QQ,Telegram,Discord 等多个平台。
这个项目的名字和图标来源于东方 Project 中的角色古明地恋 (Komeiji Koishi)。
打开命令行,输入下面的指令,即可在当前目录下新建并启用一个带控制台的 Koishi 项目:
npm init koishi
# 或者
yarn create koishi
项目启动成功后,会自动为你打开一个浏览器界面,你可以使用界面中的控制台进行一系列操作,包括修改配置、安装插件和添加机器人。
高度便利的控制台让你无需基础让你在几分钟之内搭建自己的聊天机器人。
- 提供在线插件市场,即使没有 js 编程基础,也能轻松在控制台中下载安装插件
- 支持 QQ,Telegram,Discord 等主流聊天平台,支持多账户和跨平台数据互通
- 随时随机通过控制面板监控运行状态,控制机器人的行为,甚至上号聊天
参见:创建控制台项目
经过了几个版本的迭代,Koishi 已经发展出了丰富的 API,功能覆盖机器人领域的方方面面。从上层负责交互的指令、会话、中间件,再到中层负责控制的应用、上下文、插件,最后到底层的机器人和适配器,每一个部分都经过了精心的编写,可以让你轻松实现任何需求。如果担心在复杂的功能中迷失方向,我们也准备了细致的文档来提供帮助。
参见:API 文档
官方提供了大量插件和解决方案,覆盖了绝大多数常见需求的同时,也为开发提供了绝佳的范例。
- @koishijs/plugin-console:网页控制台
- @koishijs/plugin-schedule:计划任务
- @koishijs/plugin-teach:问答教学
除了这些官方插件以外,社区贡献者也编写了各种各样的第三方插件:
- koishi-plugin-genshin:原神资料查询
- koishi-plugin-ink:展示视觉小说
- koishi-plugin-shell:执行终端命令
这些插件共同组成了 Koishi 如今的生态。
参见:官方插件
Koishi 更为开发者提供了众多专业功能,使开发者得以在各种复杂需求中构建规模化的解决方案。
Koishi 完全基于 TypeScript 开发,拥有顶级的类型支持,丰富的代码提示让你在编写代码的时候甚至无需查看文档。
所有核心功能均已经通过单元测试,既确保了可靠性,也为开发者提供了一套测试插件和定位问题的最佳实践。
开发 Koishi 插件时,只需轻点保存即可热重载,无需频繁重启机器人,如同前端开发一样丝滑顺畅。
- adapter-discord: Discord 平台支持
- adapter-kaiheila: 开黑啦 平台支持
- adapter-onebot: OneBot 协议支持 (可用于 QQ)
- adapter-qqguild: QQ 频道平台支持
- adapter-telegram: Telegram 平台支持
- assets-git: 使用 git 仓库存储静态资源
- assets-local: 使用本地文件系统存储静态资源
- assets-remote: 使用远程 Koishi 服务器存储静态资源
- assets-s3: 使用 S3 存储静态资源
- database-level: LevelDB 数据库支持
- database-memory: 测试用的内存数据库支持
- database-mongo: MongoDB 数据库支持
- database-mysql: MySQL 数据库支持
- database-sqlite: SQLite 数据库支持
欢迎向下面的列表中添加自己的插件或机器人。
名称请链接到源码仓库,忽略前缀,按首字母排序。
名称 | 简介 |
---|---|
adapter-minecraft | Minecraft 适配器 |
assets-smms | 使用 sm.ms 存储静态资源文件 |
chess | 棋类游戏 |
crazy-thursday | 输出 KFC 疯狂星期四段子 |
dice | 掷骰 |
eval-react-jsx | 在 Eval 环境支持 React JSX |
gocqhttp | gocqhttp 启动器 |
image-search | 图源搜索 |
pics | 随机图片 |
rss | RSS 订阅 |
srvpro-roomlist | YGOPro 服务器房间列表查询 |
tabulate | YGOCore 战队联盟友谊赛排表姬 |
tex | TeX 渲染 |
thesaurus | 基于 AnimeThesaurus 的机器人聊天插件 |
tools | 小功能合集 |
ygocard | YGOPro 卡查 |
ygotournament | YGOPro 比赛主持辅助 |
名称请链接到源码仓库,新项目请添加到列表结尾。
名称 | 简介 |
---|---|
2bot | 一个很 2 的 FFXIV bot |
koishi-bootstrap | Koishi 的 Docker 启动器 |
koishi-nestjs | 在 Nest.js 中使用 Koishi 开发规模化机器人应用 |
koishi-thirdeye | 装饰器以及 DI 风格的 Koishi 插件开发框架 |
onebot-lb | OneBot 负载均衡器 |
Afanyiyu/qa-bot | 基于 plugin-teach 魔改的问答机器人,适用于客服 / 知识库等场景 |
Koishi 完全使用 MIT 协议开源,维护良好的开源生态从我做起 (*>ω<)φ
Copyright © 2019-2022, Shigma
本群只交流程序开发,不欢迎伸手党,禁止谈论商业行为。