aikyo is a framework for building interconnected AI companions.
Join our Discord server!
- Turn-taking functionality included as standard
- Natural conversations with multiple companions
- Flexible tool-usage rules defined with CEL
- Frontend extensibility by parameterizing character behaviors
pnpm i @aikyo/utils @aikyo/server @aikyo/firehoseContributions are welcome!
pnpm , Node.js (>= 24.2)
Using Nix Flake
First, enter the devShell.
nix developUsing mise
mise installInstall the packages.
pnpm iCreate .env file.
Enter an API key for each provider supported by the ai-sdk.
cp .env.example .envUsing Nix Flake
Bundle the package.
nix run .#bundleStart the firehose and companion.
# Usage: nix run .#dev -- <COMPANION> [<COMPANION> ...]
# Example: nix run .#dev -- kyoko aya
$ nix run .#dev <companion_name>Bundle the package.
pnpm run bundle# 1) Start the firehose server (default: http://localhost:8080)
$ pnpm run firehose
# 2) Launch a companion by name (see configs/ directory for available names)
$ pnpm run companion <companion_name>This project is inspired by the research paper:
"Who Speaks Next? Multi-party AI Discussion Leveraging the Systematics of Turn-taking in Murder Mystery Games"
by Ryota Nonomura and Hiroki Mori (2025)
📄 Journal
We appreciate their groundbreaking work on multi-agent dialogue systems and turn-taking mechanisms.