Repolode
ChatLunaLab

ChatLunaLab/chatluna

A Koishi bot plugin that adds LLM chat to QQ and other chat bots, with many model providers, presets, and multiple output formats.

Stars
445
Forks
51
Open issues
6
Last commit
10 days ago

What is it?

ChatLuna is a plugin for the Koishi chatbot framework that lets bots hold conversations powered by large language models. It connects to a range of providers, including OpenAI, Azure OpenAI, Google Gemini, Claude, DeepSeek, Qwen, Doubao, Zhipu, Spark, Wenxin, Hunyuan, Ollama and RWKV, and can be installed directly from Koishi without editing configuration files.

Beyond plain chat, it offers three modes (chat, browsing and agent), custom personas defined as YAML preset files, and rate limiting with a blocklist. Replies can be text, speech, rendered images or mixed output, and the plugin supports streaming responses, image input for multimodal models, long-term memory, and an MCP client. Web search for models is available through Google, Bing, DuckDuckGo and Tavily.

The project is aimed at operators of QQ and other Koishi-based bots who want an LLM assistant in group or private chats, and at developers who want to extend it with new adapters built on LangChain and the Koishi API.

Key features

  • 01Connects to many LLM providers, including OpenAI, Gemini, Claude, DeepSeek, Qwen and Ollama.
  • 02Offers chat, browsing and agent modes.
  • 03Customizes personas with YAML preset files.
  • 04Outputs text, speech, rendered images or mixed replies.
  • 05Supports streaming responses and image input for multimodal models.
  • 06Includes rate limiting, a blocklist and an MCP client.

Use cases

  • Adding an LLM assistant to a QQ group chat run through Koishi.
  • Letting a bot answer questions with live web search results.
  • Giving different chat groups different personas through preset files.
  • Prototyping a new model adapter on top of LangChain and Koishi.

Quick start

  1. 1

    Install the plugin inside a Koishi project (see the deployment guide)

  2. 2

    Clone ChatLuna into a Koishi template project with yarn

    yarn clone ChatLunaLab/chatluna
  3. 3

    Build the project once before first use

    yarn workspace @root/chatluna-koishi build
  4. 4

    Start the template project in development mode

    yarn dev

Things to know

  • The project is in slow development and is preparing a v2 release.
  • Model providers such as Claude require your own API key, and some are paid.
  • It is licensed under AGPL-3.0, a copyleft license that applies to derivative works.

In collections

Topics

FAQ

What is chatluna?
A Koishi bot plugin that adds LLM chat to QQ and other chat bots, with many model providers, presets, and multiple output formats. ChatLuna is a plugin for the Koishi chatbot framework that lets bots hold conversations powered by large language models. It connects to a range of providers, including OpenAI, Azure OpenAI, Google Gemini, Claude, DeepSeek, Qwen, Doubao, Zhipu, Spark, Wenxin, Hunyuan, Ollama and RWKV, and can be installed directly from Koishi without editing configuration files.
Is chatluna free to use? What license does it have?
chatluna is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is chatluna still maintained?
Actively maintained. The last commit to chatluna was on Oct 28, 2026.
What can I use chatluna for?
Adding an LLM assistant to a QQ group chat run through Koishi. Letting a bot answer questions with live web search results. Giving different chat groups different personas through preset files. Prototyping a new model adapter on top of LangChain and Koishi.
How do I install chatluna?
Install the plugin inside a Koishi project (see the deployment guide) Clone ChatLuna into a Koishi template project with yarn: yarn clone ChatLunaLab/chatluna Build the project once before first use: yarn workspace @root/chatluna-koishi build Start the template project in development mode: yarn dev
Where can I get chatluna?
The source code and installation instructions are on GitHub: https://github.com/ChatLunaLab/chatluna

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects