Skip to main content

API Reference

This section provides API documentation for MIU packages.

Core Framework (miu-core)

Agents

ReActAgent
class
Main agent class implementing the ReAct (Reasoning + Acting) pattern.
from miu_core.agents import ReActAgent
from miu_core.providers import AnthropicProvider

provider = AnthropicProvider()
agent = ReActAgent(provider=provider)
response = await agent.run("Explain this code")
BaseAgent
class
Abstract base class for custom agent implementations.
from miu_core.agents import BaseAgent

class CustomAgent(BaseAgent):
    async def run(self, query: str) -> str:
        # Custom implementation
        pass

Providers

AnthropicProvider
class
Provider for Anthropic Claude models.
from miu_core.providers import AnthropicProvider

provider = AnthropicProvider(
    api_key="sk-ant-...",  # or use ANTHROPIC_API_KEY env var
    model="claude-sonnet-4-20250514"
)
OpenAIProvider
class
Provider for OpenAI GPT models.
from miu_core.providers import OpenAIProvider

provider = OpenAIProvider(
    api_key="sk-...",  # or use OPENAI_API_KEY env var
    model="gpt-4"
)
GoogleProvider
class
Provider for Google Gemini models.
from miu_core.providers import GoogleProvider

provider = GoogleProvider(
    api_key="...",  # or use GOOGLE_API_KEY env var
    model="gemini-pro"
)

Tools

ToolRegistry
class
Central registry for tool management.
from miu_core.tools import ToolRegistry

registry = ToolRegistry()
registry.register(my_tool)
result = await registry.execute("tool_name", {"arg": "value"})
BaseTool
class
Abstract base class for custom tool implementations.
from miu_core.tools import BaseTool

class CustomTool(BaseTool):
    name = "custom"
    description = "A custom tool"

    async def execute(self, **kwargs) -> ToolResult:
        # Implementation
        pass

Patterns

Orchestrator
class
Coordinate multiple agents with task dependencies.
from miu_core.patterns import Orchestrator

orchestrator = Orchestrator()
orchestrator.add_agent("research", research_agent)
orchestrator.add_task("task1", "research", "query")
results = await orchestrator.run()
Pipeline
class
Sequential processing chain.
from miu_core.patterns import Pipeline

pipeline = Pipeline()
pipeline.add_stage("extract", agent1)
pipeline.add_stage("transform", agent2)
result = await pipeline.run("input")
Router
class
Route requests to specialist agents.
from miu_core.patterns import Router

router = Router()
router.add_route("code", code_agent, keywords=["python"])
result = await router.route("Help with Python")

Usage Tracking

UsageTracker
class
Track token usage across sessions.
from miu_core import UsageTracker

tracker = UsageTracker(context_limit=200_000)
tracker.add_usage(input_tokens=150, output_tokens=50)
print(tracker.total_tokens)

Mode Management

ModeManager
class
Manage agent operation modes.
from miu_core import AgentMode, ModeManager

manager = ModeManager()
manager.on_change(lambda mode: print(f"Mode: {mode}"))
manager.cycle()  # NORMAL → PLAN → ASK

CLI Agent (miu-code)

Command Line

# One-shot query
miu -q "explain this codebase"

# Interactive REPL
miu

# TUI mode
miu code

# Specify model
miu --model anthropic:claude-opus-4-20250805 -q "query"

Built-in Tools

ToolDescription
readRead file contents
writeCreate or overwrite files
editModify existing files
bashExecute shell commands
globFind files by pattern
grepSearch file contents