
User-Friendly QQ Bot Framework Koishi
Koishi is developed based on TypeScript, supports mainstream chat platforms, is cross-platform, has a rich community ecosystem, and is very user-friendly out of the box.
Experience
Installation
Since Docker is supported, let’s run it directly.
docker run -p 5140:5140 -e TZ=Asia/Shanghai --restart=always --name koishi koishijs/koishi
Once completed, access it at http://宿主机地址:5140
Login
Install the gocqhttp plugin and run it

Configure the adapter-onebot plugin.
Enter the selfid, but you might see an error about the login being unsuccessful.

It’s recommended to install Koishi locally and change the protocol in device.json to 2 (QQ Watch mode).

Start adapter-onebot and use QR code login.

Then upload your local device.json and session.token to the corresponding directory on the server. Restart adapter-onebot and you should see a successful login.

Add a user in the sandbox and send help to test if the bot is working correctly.

Dependencies
Many future plugins will depend on ffmpeg, so let’s install it in advance.
Install on Host Machine
sudo apt-get install ffmpeg
Install in Container
docker exec -it -u root koishi /bin/sh
apk update
apk add yasm
apk add ffmpeg
Plugins
Plugin Market

package.json
Here’s my package.json for reference
package.json
{
"name": "@koishijs/boilerplate",
"version": "1.9.0",
"private": true,
"files": [
".env",
"koishi.yml"
],
"license": "AGPL-3.0",
"scripts": {
"start": "koishi start"
},
"dependencies": {
"@ifrank/koishi-plugin-xibao": "1.2.1",
"@koishijs/plugin-adapter-discord": "3.8.6",
"@koishijs/plugin-adapter-kook": "3.10.2",
"@koishijs/plugin-adapter-lark": "2.1.3",
"@koishijs/plugin-adapter-line": "1.1.1",
"@koishijs/plugin-adapter-matrix": "3.4.0",
"@koishijs/plugin-adapter-onebot": "5.7.4",
"@koishijs/plugin-adapter-telegram": "3.8.1",
"@koishijs/plugin-adapter-wecom": "1.0.0",
"@koishijs/plugin-admin": "1.4.0",
"@koishijs/plugin-analytics": "1.0.4",
"@koishijs/plugin-auth": "4.1.1",
"@koishijs/plugin-bind": "1.4.2",
"@koishijs/plugin-commands": "3.2.2",
"@koishijs/plugin-config": "2.3.1",
"@koishijs/plugin-console": "5.13.2",
"@koishijs/plugin-database-sqlite": "3.5.6",
"@koishijs/plugin-dataview": "2.3.1",
"@koishijs/plugin-explorer": "1.4.5",
"@koishijs/plugin-help": "2.3.0",
"@koishijs/plugin-hmr": "1.2.1",
"@koishijs/plugin-insight": "3.4.1",
"@koishijs/plugin-inspect": "1.1.2",
"@koishijs/plugin-locales": "2.4.0",
"@koishijs/plugin-logger": "2.3.2",
"@koishijs/plugin-market": "2.2.10",
"@koishijs/plugin-rate-limit": "1.3.3",
"@koishijs/plugin-sandbox": "3.1.10",
"@koishijs/plugin-status": "7.1.3",
"@misaka-bot/koishi-plugin-github-trending": "0.0.3",
"@rinkuto/koishi-plugin-pixiv": "1.1.7",
"koishi": "4.14.2",
"koishi-plugin-abbreviation": "1.0.0",
"koishi-plugin-assets-local": "3.1.0",
"koishi-plugin-bangumi": "1.0.0",
"koishi-plugin-color": "1.0.2",
"koishi-plugin-couplet": "1.1.0",
"koishi-plugin-crazy-thursday": "1.0.4",
"koishi-plugin-cron": "2.0.5",
"koishi-plugin-custom-welcome-message": "1.1.5",
"koishi-plugin-dailygames": "1.4.0",
"koishi-plugin-davinci-003": "6.1.1",
"koishi-plugin-desktop": "0.0.4",
"koishi-plugin-epic-get-free-game": "1.0.12",
"koishi-plugin-furbot": "1.0.1",
"koishi-plugin-gameinfo": "1.1.1",
"koishi-plugin-gameinfo-plus": "1.0.1",
"koishi-plugin-gamenews": "1.3.2",
"koishi-plugin-gamewallpaper-byripple": "1.0.1",
"koishi-plugin-gk-api": "0.0.1",
"koishi-plugin-gocqhttp": "3.8.0",
"koishi-plugin-gocqhttp-dev": "1.1.1-dev-0.1.0",
"koishi-plugin-hitokoto": "2.1.5",
"koishi-plugin-i-ching-joker": "1.0.1",
"koishi-plugin-imagify": "0.0.2",
"koishi-plugin-javbus": "1.0.9",
"koishi-plugin-jrrp": "1.1.1",
"koishi-plugin-markdown": "1.1.1",
"koishi-plugin-moebgm": "2.0.1",
"koishi-plugin-music": "2.2.2",
"koishi-plugin-news": "0.1.0",
"koishi-plugin-og": "1.1.1",
"koishi-plugin-puppeteer": "3.5.0",
"koishi-plugin-qrcode": "2.1.2",
"koishi-plugin-recall": "1.3.0",
"koishi-plugin-releasegame": "1.0.1",
"koishi-plugin-remake": "1.0.3",
"koishi-plugin-repeater": "1.0.1",
"koishi-plugin-screenshot": "1.0.4",
"koishi-plugin-seniverse-weather": "1.0.1",
"koishi-plugin-shindan-maker": "1.4.0",
"koishi-plugin-status-pro": "1.1.7",
"koishi-plugin-steam-trading": "1.2.6",
"koishi-plugin-tarot-divination": "1.0.0",
"koishi-plugin-tc-sst": "0.0.4",
"koishi-plugin-tencent-tts": "0.0.1",
"koishi-plugin-theme-vanilla": "1.0.6",
"koishi-plugin-today-in-history": "1.0.6",
"koishi-plugin-translator-baidu": "1.1.2",
"koishi-plugin-verifier": "1.1.1",
"koishi-plugin-whateat-pic": "1.1.4"
}
}Recommended Plugins
davinci-003
Integrates with OpenAI (ChatGPT-3.5 / ChatGPT-4) and comes with over 400 pre-set personalities.
Settings


epic-get-free-game
Fetches information about free games from Epic Games.


gameinfo-plus
Queries historical lowest prices of games in China.


news
Daily news broadcast.


whateat-pic
A pictorial recipe generator.



tarot-divination
Tarot card divination.

crazy-thursday
Randomly retrieves humorous Crazy Thursday slogans.

There are many more practical and fun plugins, but I won’t list them all here.









