Albus AgentOS - Event-driven AI agent runtime
Project description
AlbusOS
AI agent runtime. Build agents. Ship products.
The Model
Agent → uses Pack → contains Pathways → made of Nodes
| Layer | What | Stateful? |
|---|---|---|
| Agent | Entity with persona, goals, memory | Yes |
| Pack | Bundle of pathways | No |
| Pathway | DAG of nodes | No |
| Node | LLM, Tool, Code, etc. | No |
Quick Start
uv sync
cp env.example .env
# Edit .env: set OPENAI_API_KEY or configure Ollama
uv run albus server --debug
Example
1. Pack (the skills)
# src/packs/research/pack.py
from packs.registry import deployable
from pathway_engine import pack_builder, Pathway, Connection, LLMNode, ToolNode
def build_research() -> Pathway:
return Pathway(
id="research.analyze.v1",
nodes={
"search": ToolNode(id="search", tool="web.search", args={"query": "{{topic}}"}),
"analyze": LLMNode(id="analyze", prompt="Analyze: {{search.output.results}}"),
},
connections=[
Connection(from_node="input", to_node="search"),
Connection(from_node="search", to_node="analyze"),
Connection(from_node="analyze", to_node="output"),
],
)
@deployable
def RESEARCH_PACK():
return pack_builder().id("research").pathway("research.analyze.v1", build_research).build()
2. Agent (uses the pack)
# src/agents/researcher/agent.py
from agents.registry import agent
from pathway_engine import agent_builder
@agent
def RESEARCHER():
return (
agent_builder()
.id("researcher")
.persona("You are a thorough research analyst.")
.use_pack("research")
.as_reasoning_agent()
.build()
)
3. Use it
curl -X POST http://localhost:8080/api/v1/agents/researcher/turn \
-H "Content-Type: application/json" \
-d '{"message": "Research quantum computing", "thread_id": "s1"}'
Node Types
| Node | What |
|---|---|
LLMNode |
LLM completion |
ToolNode |
Call stdlib tool |
CodeNode |
Python in sandbox |
AgentLoopNode |
Autonomous reasoning |
VisionNode |
Image analysis |
ASRNode / TTSNode |
Speech |
stdlib Tools
| Tool | What |
|---|---|
web.search / web.fetch |
Web access |
llm.generate |
LLM completion |
code.execute |
Python sandbox |
memory.* |
Persistent storage |
vision.analyze |
Image analysis |
speech.* |
ASR / TTS |
API
| Endpoint | What |
|---|---|
POST /api/v1/agents/{id}/turn |
Talk to agent |
POST /api/v1/pathways/{id}/run |
Run pathway |
GET /api/v1/agents |
List agents |
GET /api/v1/packs |
List packs |
Included Examples
| Pack | What it shows |
|---|---|
competitor_intel |
Web research, AgentLoopNode, CodeNode |
image_narrator |
Vision → TTS pipeline |
voice_assistant |
ASR → LLM → TTS voice loop |
Docs
Project details
Release history Release notifications | RSS feed
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 albusos-0.5.1.tar.gz.
File metadata
- Download URL: albusos-0.5.1.tar.gz
- Upload date:
- Size: 327.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
982197e879bc518c7c44bcd247699318dbaa6a321da5756b49f319d7d3c7bc9d
|
|
| MD5 |
fc83654a13b291a1233bc4842d11cf52
|
|
| BLAKE2b-256 |
b8c94f15a43cc7204ac019bbca3d726821a7c50c1ff4930ab780d1c61ec03933
|
Provenance
The following attestation bundles were made for albusos-0.5.1.tar.gz:
Publisher:
deploy.yml on albusOS/AlbusOS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
albusos-0.5.1.tar.gz -
Subject digest:
982197e879bc518c7c44bcd247699318dbaa6a321da5756b49f319d7d3c7bc9d - Sigstore transparency entry: 870645202
- Sigstore integration time:
-
Permalink:
albusOS/AlbusOS@44cdf0e7bcb4e4a490f973ee3b1f93d4b3d40789 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/albusOS
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@44cdf0e7bcb4e4a490f973ee3b1f93d4b3d40789 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file albusos-0.5.1-py3-none-any.whl.
File metadata
- Download URL: albusos-0.5.1-py3-none-any.whl
- Upload date:
- Size: 447.6 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 |
ba496070dfa451d551a4d55fa2996d407e95725f2ba69a1a46e186a888da5f41
|
|
| MD5 |
ad3077b9e3c5f6e0adc21cb306468546
|
|
| BLAKE2b-256 |
116264c0b6cc38853b5321cabc3a0ef05d1eae749695b650d8292c11d99c2cef
|
Provenance
The following attestation bundles were made for albusos-0.5.1-py3-none-any.whl:
Publisher:
deploy.yml on albusOS/AlbusOS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
albusos-0.5.1-py3-none-any.whl -
Subject digest:
ba496070dfa451d551a4d55fa2996d407e95725f2ba69a1a46e186a888da5f41 - Sigstore transparency entry: 870645222
- Sigstore integration time:
-
Permalink:
albusOS/AlbusOS@44cdf0e7bcb4e4a490f973ee3b1f93d4b3d40789 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/albusOS
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@44cdf0e7bcb4e4a490f973ee3b1f93d4b3d40789 -
Trigger Event:
workflow_dispatch
-
Statement type: