Koishi
An open-source chatbot framework built on a "everything is a plugin" design philosophy. It has a kernel-free architecture and ships approximately 195 official plugins, supporting LLM integration, adapters, session management, and a WebUI, with a high degree of extensibility.
Timeline (last 90 days)
Cordis is a general-purpose dependency injection and plugin container framework that matured in the Koishi ecosystem and was later adopted by DeepSeek Harness as its underlying runtime
The Cordis framework is derived from a same-named service-container library in the JavaScript ecosystem, originally used for the chatbot framework Koishi.
Koishi officially ships with approximately 195 built-in plugins, covering functional modules such as utilities, LLM integration, adapters, session management, WebUI, and sandboxing.
A Koishi plugin is composed of four core structures: name, inject (dependencies), Config (configuration), and apply (entry point).
apply is the sole execution entry point of a Koishi plugin, where all core logic is written, typically including registration methods such as tools.register.
Koishi defines six main runtime states: pending (not ready, dependencies unmet), loading (apply executing), active (loaded and active), failed (error occurred), unloading (being unloaded), and disposed (removed).
Koishi provides three service injection methods: hard dependency (inject), context.get (on-demand retrieval at runtime), and context.inject (injection in a specific context).
Koishi's realm service isolation rule is: rows that publish a service must enter the realm, while rows that only consume a service must remain outside the realm.
When binding event listeners with context.on, next must be used in conjunction to ensure the middleware chain is correctly passed along.
Koishi's configuration is organized in four layers: the bundle layer, the profile layer, the home layer, and codespatch.
9 more timeline events
All Facts (20)
Koishi是基于Node.js的QQ机器人开发框架,支持多平台
90%UnverifiedThe Cordis framework is derived from a same-named service-container library in the JavaScript ecosystem, originally used for the chatbot framework Koishi.
70%UnverifiedCordis is a general-purpose dependency injection and plugin container framework that matured in the Koishi ecosystem and was later adopted by DeepSeek Harness as its underlying runtime
50%UnverifiedThe core design philosophy of Koishi is "no kernel, everything is a plugin."
50%UnverifiedKoishi officially ships with approximately 195 built-in plugins, covering functional modules such as utilities, LLM integration, adapters, session management, WebUI, and sandboxing.
50%UnverifiedA Koishi plugin is composed of four core structures: name, inject (dependencies), Config (configuration), and apply (entry point).
50%Unverifiedapply is the sole execution entry point of a Koishi plugin, where all core logic is written, typically including registration methods such as tools.register.
50%UnverifiedKoishi defines six main runtime states: pending (not ready, dependencies unmet), loading (apply executing), active (loaded and active), failed (error occurred), unloading (being unloaded), and disposed (removed).
50%UnverifiedKoishi provides three service injection methods: hard dependency (inject), context.get (on-demand retrieval at runtime), and context.inject (injection in a specific context).
50%UnverifiedKoishi's realm service isolation rule is: rows that publish a service must enter the realm, while rows that only consume a service must remain outside the realm.
50%UnverifiedKoishi provides four resource cleanup methods: context.on, context.effect, context.setTimeout, and context.setInterval.
50%UnverifiedWhen binding event listeners with context.on, next must be used in conjunction to ensure the middleware chain is correctly passed along.
50%UnverifiedKoishi's configuration is organized in four layers: the bundle layer, the profile layer, the home layer, and codespatch.
50%UnverifiedKoishi distinguishes between two runtime planes: host (process-based, with process-level configuration written in the profile's codespatch) and agent/preset (session-based, with configuration written in the agent preset directory of the home folder).
50%UnverifiedKoishi preset releases published as online packages must use a bare package name, while local references must use an absolute path (relative paths are also supported).
50%UnverifiedIn Koishi plugins, the description field is the basis on which the model makes judgments, determining whether the plugin can be correctly identified and invoked by the model.
50%UnverifiedBehind Koishi UI interface operations, there are four loading layers: the module loading layer, the unit layer (unit, Context construction), the mount layer (patching the plugin into the system), and the end-to-end layer (actually consuming the model API).
50%UnverifiedThe Koishi plugin publishing process is: fill in meta information such as repository URL, keywords, and export in package.json, run npm publish --access public to push to npm, and users install it via a command.
50%UnverifiedCordis is an Inversion of Control (IoC) container and plugin management framework for the JavaScript/TypeScript ecosystem, originally validated at scale within the Koishi chatbot framework.
50%UnverifiedCordis是源自Koishi跨平台聊天机器人框架的通用插件运行时系统,设计哲学受微内核操作系统思想影响
50%