Towards a cognitive agentic framework
Project description
Noesium is a computation-driven cognitive agentic framework. Use it as a ready-to-run multi-agent system (NoeAgent plus subagents) or as a foundation to build custom agents with core abstractions and 17+ toolkits.
Design Philosophy
Noesium follows an event-sourced multi-agent kernel architecture for durability, replayability, and distributed coordination:
- Single execution authority — One Agent Kernel per agent; all reasoning, planning, tool use, and delegation happen inside it. No external layer mutates agent state.
- Event-sourced state — State is derived from an append-only event log. Enables replay, deterministic reconstruction, audit, and crash recovery.
- Delegation via events — Agents publish task events to capability topics; subscribers process them. Loose coupling, capability-based coordination.
- Separation of concerns — Cognition (Kernel), transport (Event Bus), persistence (Event Store), memory (Projection), routing (Topic subscriptions).
Goals: long-running autonomous agents, durable/resumable execution, multi-agent collaboration, horizontal scalability.
Architecture
flowchart TB
subgraph framework [Framework]
core[core: agent base, llm, toolify, memory, event, vector_store]
toolkits[toolkits: 17+ built-in]
end
subgraph builtin [Built-in multi-agent system]
noeAgent[NoeAgent]
subagents[BrowserUseAgent, TacitusAgent, AskuraAgent]
end
framework --> builtin
framework -.-> yourAgents[Your custom agents]
- Framework — Core modules (
agentbase classes,llm,toolify,memory,event,vector_store) and 17+ toolkits provide the agentic building blocks. - Built-in multi-agent system — NoeAgent (orchestrator) and subagents (BrowserUseAgent, TacitusAgent, AskuraAgent) are a reference implementation and directly usable. See AGENTS.md for details.
Install
pip install -U noesium
Recommended for full features:
pip install noesium[all]
Optional extras:
pip install noesium[llm] # OpenAI, LiteLLM, Instructor
pip install noesium[local-llm] # Ollama, LlamaCPP
pip install noesium[agents] # LangChain, LangGraph
pip install noesium[tools] # 17+ toolkits
pip install noesium[browser-use] # Browser automation
Use uv run for scripts when developing with the repo.
Quick Start
1. Common user — NoeAgent
Library:
import asyncio
from noesium import NoeAgent
async def main():
agent = NoeAgent()
result = await agent.arun("What are the latest developments in quantum computing?")
print(result)
asyncio.run(main())
TUI:
python -m noesium.noeagent.tui
Full NoeAgent options, streaming, subagents, and config: docs/noeagent_guide.md.
2. Developer — Framework
Build a custom agent on the framework:
from noesium.core.agent import BaseGraphicAgent
from noesium.core.llm import get_llm_client
from noesium.core.toolify import get_toolkit
class MyAgent(BaseGraphicAgent):
def __init__(self, llm_client=None):
super().__init__(llm_client or get_llm_client())
def build_graph(self):
# Define your LangGraph workflow
pass
agent = MyAgent()
result = await agent.run("Your task")
For full framework usage, custom agents, and toolkits: docs/dev_guide.md.
Environment variables
export NOE_LLM_PROVIDER="openai" # or openrouter, ollama, llamacpp
export OPENAI_API_KEY="sk-..."
export SERPER_API_KEY="..." # for search toolkit
License and support
- License — MIT.
- Documentation — AGENTS.md, docs/dev_guide.md, docs/specs/, examples/.
- Issues and repo — GitHub.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file noesium-0.3.4.tar.gz.
File metadata
- Download URL: noesium-0.3.4.tar.gz
- Upload date:
- Size: 750.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fb44b7f4e574aa4081a1afdb46a7df1efba25667f3677fd801fe1f25a0a24d0
|
|
| MD5 |
c6907194653e6d29cb6e4ba2d1f5e5ef
|
|
| BLAKE2b-256 |
8c33dcb1d7586c98d9e334af7466ebf8aa593807802c9e5cd1024be6a7ec991f
|
Provenance
The following attestation bundles were made for noesium-0.3.4.tar.gz:
Publisher:
release.yml on mirasoth/noesium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
noesium-0.3.4.tar.gz -
Subject digest:
5fb44b7f4e574aa4081a1afdb46a7df1efba25667f3677fd801fe1f25a0a24d0 - Sigstore transparency entry: 1036273909
- Sigstore integration time:
-
Permalink:
mirasoth/noesium@69bd3d966e4fba64387b7f1771dd410f5c0d0905 -
Branch / Tag:
refs/tags/0.3.3 - Owner: https://github.com/mirasoth
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@69bd3d966e4fba64387b7f1771dd410f5c0d0905 -
Trigger Event:
release
-
Statement type:
File details
Details for the file noesium-0.3.4-py3-none-any.whl.
File metadata
- Download URL: noesium-0.3.4-py3-none-any.whl
- Upload date:
- Size: 910.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf15f90d76e82146473a9f5d12cdad1e81769336375072daf00f3d1585f89f68
|
|
| MD5 |
70c52609b0e826fb87b7eae6df4d56dc
|
|
| BLAKE2b-256 |
875bec688e56d239a9f665dd9f040f12e71d1c3fa05da93a605441b133910d66
|
Provenance
The following attestation bundles were made for noesium-0.3.4-py3-none-any.whl:
Publisher:
release.yml on mirasoth/noesium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
noesium-0.3.4-py3-none-any.whl -
Subject digest:
cf15f90d76e82146473a9f5d12cdad1e81769336375072daf00f3d1585f89f68 - Sigstore transparency entry: 1036273982
- Sigstore integration time:
-
Permalink:
mirasoth/noesium@69bd3d966e4fba64387b7f1771dd410f5c0d0905 -
Branch / Tag:
refs/tags/0.3.3 - Owner: https://github.com/mirasoth
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@69bd3d966e4fba64387b7f1771dd410f5c0d0905 -
Trigger Event:
release
-
Statement type: