An AI agent orchestrator that coordinates tasks by delegating to specialized models, with support for skills and MCP (Model Context Protocol) integration.
- Orchestrator Agent — Coordinates complex tasks by delegating to specialized models (coding, fast search, vision, review)
- Skills System — Load expert workflows from
~/.agents/skills/for specialized tasks - MCP Client — Connect to external MCP servers for additional tools and resources
- Interactive TUI — Real-time terminal interface with streaming output
- Memory System — Persistent knowledge base across sessions
- Approval Workflow — Guard-based approval for sensitive operations
# Build
cargo build --bin tomis
# Run with default config
cargo run --bin tomis -- --config config.toml
# Or with inline request
cargo run --bin tomis -- --config config.toml -r "What files are in this directory?"Create a config.toml:
endpoint = "http://127.0.0.1:11434"
model = "llama3.1:8b"
log_level = "info"
think_visible = true
# Model registry for delegation
[[models]]
capability = "coding"
endpoint = "http://127.0.0.1:11434"
model = "qwen3.5:cloud"
local = false
[[models]]
capability = "fast"
endpoint = "http://127.0.0.1:11434"
model = "qwen3.5:cloud"
local = false
# MCP servers (optional)
[[mcp]]
name = "filesystem"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "."]
auto_connect = trueSee docs/configuration.md for full reference.
tomis/
├── src/
│ ├── bin/tomis.rs # CLI entry point
│ ├── dev_session.rs # Interactive development session
│ ├── orchestrator.rs # Model client wrapper
│ ├── sandbox.rs # Sandboxed tool execution
│ ├── skills.rs # Skills loading and management
│ ├── mcp_client.rs # MCP client implementation
│ ├── tools.rs # Built-in tool definitions
│ └── tui.rs # Terminal UI
├── docs/ # Documentation
└── config.toml # Configuration file
- Getting Started — Installation and first steps
- Configuration — Config file reference
- Skills — Skills system and how to create them
- MCP Integration — Connecting to MCP servers
- Architecture — System design overview
# Format and lint
cargo fmt && cargo clippy
# Run with logging
RUST_LOG=info cargo run --bin tomis -- --config config.toml
# Run tests
cargo testMIT