koishi is a free, open source ai interaction & interfaces project written in TypeScript and released under MIT. It has 6,208 GitHub stars, 348 forks and 107 open issues, and was last pushed 20 days ago. On this registry it ranks #48 of 113 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available.

What is koishi?

Koishi is a cross-platform, extensible, high-performance chatbot framework written in TypeScript, aimed at anyone who wants to build and run bots across QQ, Telegram, Discord, Feishu, Matrix, LINE, mail and OneBot from one codebase.

What it is

Koishi is an open-source chatbot framework published as the koishi package on npm and developed under the koishijs organisation. It is written entirely in TypeScript and distributed under the MIT licence, with documentation and a web console hosted at koishi.chat. The project takes its name and icon from Komeiji Koishi, a character from the Touhou Project, a choice the authors describe as reflecting both the chatbot subject matter and the affection the developers put into the work. It sits in the JavaScript and Node.js ecosystem and builds on more than four years of iteration.

The concrete problem it solves is fragmentation. Each messaging platform normally requires its own bot implementation, its own connection handling and its own account model, so a team that wants a presence on QQ, Telegram, Discord and Feishu ends up maintaining several unrelated codebases. Koishi replaces that with one framework and a shared plugin surface, so platform support becomes a plugin rather than a separate project. It also replaces the assumption that bot building requires programming: the console and online plugin market are explicitly designed so that a user with no coding background can assemble and run a bot.

Key capabilities

  • A web console that serves as the primary control surface, used to set up a bot, install plugins and monitor running state without writing code.
  • An online plugin market reachable from the console, which allows plugins to be downloaded and installed without any programming background.
  • Adapters for mainstream chat platforms including QQ, Telegram, Discord and Feishu, with additional topics covering Matrix, LINE, mail, Lark and OneBot.
  • Multi-account support with cross-platform data interoperability, so several bot accounts can run within one deployment and share state.
  • An ecosystem of more than 3000 official and community plugins spanning platform support, database, resource storage, web console, state management and business features.
  • Full TypeScript development with type support rich enough that the README claims code completion can replace reading documentation during plugin authoring.
  • Unit tests across all core functionality, presented both as a reliability guarantee and as an example for testing plugins and locating problems.
  • Module hot reload while developing plugins, so saving a file reloads the module instead of requiring a bot restart.

Who uses it and how

  • Non-programmers who need a working bot quickly, using the console and plugin market to assemble functionality in minutes rather than writing adapters.
  • Plugin developers building reusable components, who rely on TypeScript type support, the core unit tests as a testing model, and hot reload for a frontend-like edit cycle.
  • Teams running large interactive applications across several platforms at once, where cross-platform data interoperability and multi-account deployment matter.
  • Operators running lightweight helper bots, which the README names explicitly as a supported scale alongside large interactive applications.
  • Administrators who want remote oversight, using the control panel to watch runtime state, change bot behaviour and even chat through the panel.

Getting started

The README points to the starter documentation at https://koishi.chat/manual/starter/, and the framework is published on npm as the koishi package.

How it compares

No paid products or similar tools are named in the supplied facts, so this entry stands alone in this registry rather than being contrasted against alternatives. Readers comparing options will need to evaluate Koishi on its own terms: MIT licence, four years of iteration and a 3000-plus plugin ecosystem.

When to use it — and when not to

A self-hoster takes on the runtime and the surrounding pieces the plugin ecosystem provides, which the README lists as platform support, database, resource storage, web console and state management, so choosing and operating those is part of the work. Teams that will not run a Node.js service, or that need a stable release cadence with minimal churn, should look carefully before adopting, given 107 open issues and a README excerpt that is written in Chinese and carries a copyright range ending in 2023. The framework rewards investment in its plugin model, but a small team wanting a single fixed platform integration may find the breadth unnecessary.

project readme (upstream, from github) — read inline
logo

Koishi

Codecov downloads npm GitHub

Koishi 是一个跨平台、可扩展、高性能的聊天机器人框架。

它的名字和图标设计来源于来源于东方 Project 中的角色古明地恋 (Komeiji Koishi)。古明地恋是一个会做出无意识举动的角色,取这个名字既象征着聊天机器人的主题,也蕴含了开发者为之倾注的热爱。

特性

开箱即用

Koishi 提供了高度便利的控制台,让你无需基础让你在几分钟之内搭建自己的聊天机器人。

  • 提供在线插件市场,即使没有任何编程基础,也能轻松在控制台中下载安装插件
  • 支持 QQ,Telegram,Discord,飞书等主流聊天平台,支持多账户和跨平台数据互通
  • 随时随地通过控制面板监控运行状态,控制机器人的行为,甚至上号聊天

生态丰富

经过了长达四年的迭代,Koishi 已经发展出了丰富的插件生态和与之匹配的健壮系统。超过 3000 个官方和社区插件覆盖了机器人开发的方方面面,从平台支持、数据库、资源存储、网页控制台、状态管理到具体的业务功能一应俱全。无论你的目标是构建大型交互应用还是轻量级的辅助机器人,Koishi 都为你提供了最佳实践。如果担心在复杂的功能中迷失方向,我们也准备了细致的文档来提供帮助。

专为开发者打造

Koishi 更为开发者准备了众多专业功能,使插件开发者得以在各种复杂需求中构建规模化的解决方案。

  • 类型支持:Koishi 完全基于 TypeScript 开发,拥有顶级的类型支持,丰富的代码提示让你在编写代码的时候甚至无需查看文档
  • 单元测试:所有核心功能均已经通过单元测试,既确保了可靠性,也为开发者提供了一套测试插件和定位问题的最佳实践
  • 模块热重载:开发 Koishi 插件时,只需轻点保存即可热重载,无需频繁重启机器人,如同前端开发一样丝滑顺畅

快速起步

前往文档

许可证

Koishi 完全使用 MIT 协议开源,维护良好的开源生态从我做起 (*>ω<)φ

Copyright © 2019-2023, Shigma

FOSSA Status

更多

Frequently asked questions

Is koishi free to use?

koishi is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does koishi do?

Cross-platform chatbot framework made with love

What is koishi written in?

koishi is primarily written in TypeScript. Its source is publicly available at https://github.com/koishijs/koishi, and it has 6,208 GitHub stars.