Framework
openakita/openakita avatar
openakita/openakita

OpenAkita: An AGPL Multi-Agent Assistant That Ships as a Desktop App First

An open-source AI assistant framework with skills and agent architecture

1,984 stars277 forksPythonAGPL-3.0

At a glance

What is it?
OpenAkita is a Python AI assistant framework that bundles multi-agent collaboration, an organization layer, a plugin system and IM channel binding into one product. The README sells it as a GUI-first alternative to wiring agents yourself, and the AGPL-3.0 licence plus the desktop-first install path are the two facts that should decide most adoption questions.
Who is it for?
Adopt OpenAkita if you want a pre-assembled assistant surface (desktop app, IM channels, plugin host, org roles) rather than a library you compose yourself, and if AGPL-3.0 fits how you distribute the result. Do not adopt it if you need to embed an assistant inside a closed-source product, or if you require a documented stable API surface before writing code against it.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem OpenAkita targets: assembling an assistant is the hard part

The gap OpenAkita addresses is not model access. Anyone can call an LLM API. The gap is everything around the call: tool execution, permissions, memory, scheduled work, chat channel integration, and some way for more than one agent to cooperate on a task. Projects that start as a chat wrapper tend to accumulate exactly these pieces in an ad hoc way, and the result is a codebase where the orchestration logic is inseparable from the product logic. OpenAkita's README frames the project as the opposite: a packaged assistant with multi-agent collaboration, organization orchestration, a plugin system, and sandbox security already wired together. The intended audience is visible in the install instructions. There is a desktop installer path for people who never open a terminal, and a pip path for developers who want the framework. The topics list (agent, automation, claw, clawdbot, openclaw) suggests the project positions itself near the OpenClaw family of agent tooling rather than as a general LLM SDK. If your problem is 'I have a model and I need a working assistant with tools, channels and multiple agents,' that is the stated target. If your problem is 'I need a minimal function-calling loop,' this is a much larger dependency than you asked for.

Architecture as described: agents, an organization layer, ReAct, and two memory modes

The README describes several distinct mechanisms. At the execution level there is a ReAct reasoning engine with an explicit think, act, observe loop, checkpoint and rollback, loop detection, and strategy switching when an attempt fails. Above that sits Plan Mode, which decomposes a complex task into steps, tracks progress per step, and rolls back on failure. Above that is multi-agent collaboration: specialized agents run in parallel and hand off work, with a visual dashboard for watching the delegation. The top layer is organization orchestration, which the README calls an AI company, with named roles (CEO, CTO, CFO, marketing director), blackboard memory for shared state, message routing between roles, deadlock detection, heartbeat, and auto-scaling. Memory is described as dual-mode: fragment memory plus an MDRM relational graph covering causal chains, timelines, an entity graph, and 3D visualization, with automatic switching between the two. The plugin system is specified as 8 plugin types, a 3-tier permission model, and 10 lifecycle hooks, extending tools, channels, RAG, memory and LLM access. Security is a 6-layer sandbox: path zoning, confirmation gates, command interception, file snapshots, self-protection, and an OS-level sandbox, with high-risk commands run in isolation. These are the claims as written. What the README does not give is the data flow between layers, so how a plan step becomes an agent assignment, or how blackboard state interacts with the MDRM graph, is not answerable from this material.

Getting it running: two install paths and one wizard command

The README documents two entry points. The non-developer path is a desktop installer from the download page, followed by an onboarding wizard, then an API key from Anthropic or DeepSeek, then a first task typed into the interface. The developer path is three commands: pip install openakita[all], then openakita init as an interactive setup wizard, then openakita run "Build a weather scraper" to execute a task. Python 3.11 or newer is required, per the badge in the README. Two configuration surfaces are named: LLM providers, where the README suggests adding multiple providers for automatic failover, and IM channels, where WeChat, Feishu, WeCom, DingTalk and QQ are bound by scanning a QR code, described as taking about 30 seconds. The README also lists 30+ supported LLMs and 89+ tools. What is absent from the supplied material is any config file format, any environment variable name, and any example of the provider block. So the honest position is: the commands above are real and quoted from the README, but the shape of the configuration they produce is not documented here. Anyone evaluating this should read the docs site or the repository's config templates before assuming a particular YAML or JSON schema.

The AGPL-3.0 choice is the first real constraint, not an afterthought

OpenAkita is licensed AGPL-3.0-only, which the README states in its badge. For a framework that runs as a networked service, this matters more than it would for a library. The AGPL's network clause means that if you modify OpenAkita and let users interact with it over a network, you are generally obliged to offer those users the corresponding source. The README does not discuss commercial licensing, dual licensing, or any exception. That is not a legal opinion and I am not giving one; it is a statement of what the repository says and does not say. The practical consequence is a fork in the road. If you are building an internal tool, a personal assistant, or another open-source project, the licence is unlikely to be the deciding factor. If you are building a proprietary product where the assistant is a component users talk to, AGPL-3.0-only is a serious architectural constraint, and the absence of any stated commercial option in the material means you cannot plan around one. The desktop app distribution does not change this analysis for the server-side or hosted case; it is the network interaction that triggers the question.

Where the README oversells and the documentation goes quiet

The marketing copy is dense with claims that the rest of the README does not substantiate. 'Never gives up on a task' is a description of retry behaviour, not a guarantee, and the ReAct section's mention of loop detection and strategy switching is the actual mechanism behind it. 'Smarter over time' is attached to the dual-mode memory, but the README gives no evaluation, no example of what improves, and no way to measure it. The organization orchestration layer is the most ambitious claim and the thinnest in detail: deadlock detection, heartbeat and auto-scaling are named as features with no description of how any of them work or when they trigger. The 6-layer sandbox is the opposite case, where the layer names are concrete (path zoning, confirmation gates, command interception, file snapshots, self-protection, OS-level sandbox) but the enforcement mechanism is not shown. The 89+ tools and 30+ LLMs are counts without a list in the supplied material. This is not unusual for a project at v1.27 with a marketing homepage, but it means the README is a feature inventory rather than an implementation guide. The release history is consistent and recent, with v1.27.38 marked stable and dated 2026-08-12, which tells you the project is actively maintained without telling you anything about code quality.

How it differs from LangGraph, CrewAI and the composition-first approach

The closest alternatives in the same problem space are composition frameworks such as LangGraph and CrewAI, and the difference is one of packaging rather than capability. Those libraries give you primitives: a graph of nodes, a crew of role-playing agents, a state object you define. You bring the chat channels, the permission model, the scheduler, the desktop UI, and the memory store, or you assemble them from other packages. OpenAkita inverts this. The README presents the assistant as the product and the framework as the thing underneath it, with IM channel binding, a desktop app, a plugin host and an org layer already present. That is a real trade. You get a working surface in minutes and a plugin interface to extend it. You give up control over the orchestration internals, and you accept a much larger dependency with its own opinions about memory, permissions and agent roles. There is also a second comparison worth making against the OpenClaw family implied by the repository topics: OpenAkita appears to be positioning itself as a batteries-included sibling rather than a minimal core. If your team already has opinions about agent topology, the composition libraries will fit better. If your team has no such opinions and needs something running, the packaged approach is the argument for OpenAkita.

What to check before you commit, and what upgrading costs

The release cadence is the maintenance signal available here. Three stable releases appear in the recent list, v1.27.35, v1.27.37 and v1.27.38, spanning roughly a week in early August 2026, with the last push to main on 2026-09-09. That is frequent patch-level movement, which is good for fixes and awkward for anyone pinning versions in a regulated environment. The version numbers are all in the 1.27.x line, so there is no evidence in this material of a documented deprecation policy, a long-term support branch, or a migration guide. If you deploy OpenAkita, plan to track the 1.27.x series closely and read release notes before each bump, because the interval between releases is short enough that a quarterly upgrade cycle would skip many versions. On licensing, the AGPL-3.0-only designation is the fact to carry into any internal review, and the material offers no stated alternative. The concrete verification list before adoption is short: read pyproject.toml to see what openakita[all] actually pulls in, inspect the plugin permission model to confirm what the 3-tier claim means in code, and test the OS-level sandbox layer on the platform you intend to run, since that is the layer most likely to behave differently across operating systems.

Editorial conclusion

Adopt OpenAkita if you want a pre-assembled assistant surface (desktop app, IM channels, plugin host, org roles) rather than a library you compose yourself, and if AGPL-3.0 fits how you distribute the result. Do not adopt it if you need to embed an assistant inside a closed-source product, or if you require a documented stable API surface before writing code against it. Before committing, verify three things against the repository itself: the actual contents of pyproject.toml and the openakita[all] extra, the plugin permission model files behind the 3-tier claim, and how the sandbox layer behaves on your target OS.

Official sources

  1. License: AGPL-3.0
  2. openakita/openakita on GitHub
  3. Project website
  4. README
  5. Releases
Community notes

Community notes