Architecture¶

Four layers on top of a shared infrastructure layer:
- Public API:
maki/__init__.pylazy-loads all exports on first access. - LLM backends:
MakiLLama,MakiOpenAI,MakiAnthropic,MakiOpenRouter,MakiLlamaCppandHFBackendall implement the abstractLLMBackendcontract. - Agent system:
AgentcomposesPluginHandlerandReasoningEnginemixins;AgentManagerorchestrates agents viaWorkflowTaskandWorkflowState. - Distributed layer:
AgentServer(FastAPI) exposes agents over HTTP;AgentProxyis the remote-agent client with circuit breaking;DistributedAgentManagermixes local and remote agents. - Infrastructure:
Connector(hardened HTTP: URL validation, connect-time IP pinning), shared data classes, typed exceptions, runtime config and logging.
Plugins sit alongside the agent layer. They are loaded on demand and invoked when the model emits a TOOL: directive or through native tool-calling APIs.
Public API¶
Top-level imports from maki:
MakiLLama,MakiOpenAI,MakiAnthropic,MakiOpenRouter,MakiLlamaCpp,HFBackendLLMBackend,BackendTypeAgent,AgentManagerGenerationConfig,LLMResponse,Message,ToolCallConversationMemory,RateLimiterConnector,Utilsconfig
Desktop app¶
The repository includes a PySide6/QML desktop shell. Install maki-framework[gui] and run maki-gui.
Contributing¶
Bug fixes, documentation, new plugins and suggestions are welcome. Open an issue or pull request on GitHub.
pip install -e ".[dev]"
pytest # tests marked @pytest.mark.network are excluded by default
Maki is part of Bowl of Data, an open-source AI research community. Licensed under MIT.