Player profile
kwant
An AGPL-3.0 self-hosted team of AI bots in one Rust binary: bots share chats, hand work on with an @mention, and a task turns Verified only when kwant runs the check itself.
Profile
Where it fits
kwant is one Rust binary (Tokio, Axum, SQLite, and a React app embedded in it). The command is kwnt, and a local run opens at http://127.0.0.1:8799. Each bot has a role, a voice the project calls a soul, and a model. Bots share a channel and hand work on with an @mention. A team lead can run a short discussion and post one summary. Separate spaces keep work, a side project, and home apart. Each space has its own bots, teams, channels, routines, accounts, approval rule, and hiring rule.
In a channel, kwant's routing rules pick the bot that fits and the reply says why. Laya, the model at huggingface.co/convaiinnovations/laya, picks the model and the effort only when that bot is set to auto. It can add a guess from the bots' titles, and it does not pick a bot on its own. The first start installs Laya and downloads its model unless you pass --no-laya. While Laya is down, the same rules still pick the bot and a keyword estimate picks the model. That download, from PyPI and Hugging Face, is the one fetch kwant starts on its own. The README says there is no telemetry, and messages go only to the providers and services you add.
The Mission board turns each hand-off into a card. A card turns Verified only when kwant runs the check itself, such as a test or a file check, and the card keeps the receipt. A file a bot attaches is evidence, not proof. On the Dev desk, each bot task can get its own git worktree, notes sit on diff lines, and a failed CI check goes back to that bot. The README says nothing is posted to GitHub and nothing is merged from that review card. A push to main, a deploy, or another production step always asks first.
A new space starts on Ask only when risky: git push, network calls, unknown commands, and changes outside the bot's folder show an approval card. You can set a space or a bot to ask every time, or not to ask. Payments always ask, in every mode, whether the step is a shell payment command or a checkout in the bot's browser. Flight School lets a bot earn more freedom for a kind of work, and only you grant it. The README's 0.9 notes add an Inbox review group and a second check by a teammate on another model, in a clean copy of the files, that does not write the task's folder.
The Mac app is a universal dmg, signed ad hoc and not notarized. Linux is an x86_64 beta: a deb for Ubuntu 22.04 or newer and Debian 12 or newer, or an AppImage. The README says that beta was tested in containers, not yet on real desktops. Windows is an x64 beta installer that is not code-signed, does not update itself, and does not include Grok, the VM, or video yet. On a server, kwnt can run under systemd, or in Docker Compose with kwnt, Laya, and a private Chromium. Inside that Compose stack, kwant's own execute_shell tool is not available, because it would need the host Docker socket. The CLIs' shell tools still run in the kwnt container. Accounts are a Claude, Codex, or Grok CLI login, an Anthropic, OpenAI, or xAI key, or your own OpenAI- or Anthropic-compatible server. When one account runs out, the turn moves to the next. MCP servers are registered once, over stdio or HTTP, and then assigned to individual bots. A bot does not see the MCP config on your own machine. The current code is AGPL-3.0-only: you can use, change, and run it, and if you change it and serve it over a network you publish those changes under the AGPL. A commercial license covers selling or hosting it without publishing changes. Code from before that switch, including the mac-v0.1.0 release, stays MIT OR Apache-2.0. Data stays in ~/.kwnt, or in KWNT_DATA_DIR.
From the source
What the public materials show
Builder web analytics
Measure outcomes from kwant-run agent work
kwant runs a self-hosted team of bots that hand work to each other. Separately configured product analytics can show the observed user-facing results of a change those bots helped prepare.
This is an optional measurement workflow, not a native kwant integration with Agent Analytics. Configure product tracking and authorized analytics access separately; the listing does not install tracking or report kwant bot activity.
First loop to measure
- bots share chats and hand work to each other with an @mention, and a task turns Verified only when kwant runs the check itself
- the reviewed change is deployed to a separately instrumented project
- a human or an authorized agent reads observed product outcomes
- the team uses that evidence to choose the next task
How to install Agent Analytics on kwant
If product tracking and analytics access are already configured, inspect the deployed change over an appropriate observation window. Report measured outcomes, missing evidence and limitations. Do not infer causation from before-and-after movement or treat bot activity as product usage.