Skip to main content

Agent framework built on isotopes-core — tools, TUI, sessions, RPC, presets

Project description

isotopes

Agent framework built on isotopes-core — provides tools, a TUI, CLI, session persistence, RPC protocol, presets, skills, and MCP integration.

Installation

From PyPI

# uv
uv add isotopes
uv add 'isotopes[tui]'
uv add 'isotopes[mcp]'
uv add 'isotopes[all]'

# pip
pip install isotopes
pip install 'isotopes[tui]'
pip install 'isotopes[mcp]'
pip install 'isotopes[all]'

Quick Start

# Run directly without installing (uses uvx)
uvx 'isotopes[tui]'
uvx 'isotopes[tui]' run "Explain this project"

# List saved sessions
uvx isotopes sessions

From Source (monorepo)

# Sync with TUI support
uv sync --package isotopes --extra tui

# Launch interactive TUI
uv run isotopes --model claude-opus-4.6 --preset coding chat

# One-shot prompt
uv run isotopes run "Explain this project"

CLI Commands

Command Description
isotopes chat Launch interactive TUI (requires isotopes[tui])
isotopes run <prompt> Execute a one-shot prompt, stream response to stdout
isotopes rpc Start JSONL-over-stdio RPC server for embedding
isotopes sessions List saved sessions with message counts and previews

Global Options

--model MODEL        Model to use (default: claude-opus-4.6)
--preset PRESET      Preset: coding, assistant, minimal (default: coding)
--no-tools           Disable all tools
--version            Show version

Resuming Sessions

isotopes chat --session abc12345
isotopes rpc --session abc12345

Presets

Presets define which tools and system prompt the agent uses.

Preset Tools Description
coding read, write, edit, bash, grep, glob, web_search, web_fetch Full coding agent
assistant read, bash, grep, glob, web_search, web_fetch General assistant (read-only files)
minimal bash Minimal agent with shell access only

Tools

Tool Description
read_file Read file contents by path
write_file Create new files or fully rewrite existing ones
edit_file Make surgical edits to existing files
bash Run shell commands
grep Search file contents with regex patterns
glob_tool Discover files by glob patterns
web_search Search the web
web_fetch Fetch and read content from a URL

Configuration

Isotope reads configuration from ~/.isotopes/config.yaml. Environment variables can be referenced with ${VAR} syntax.

# ~/.isotopes/config.yaml
model: claude-opus-4.6
preset: coding
debug: false
sessions_dir: ~/.isotopes/sessions

provider:
  base_url: http://localhost:4141
  api_key: ${ANTHROPIC_API_KEY}

skills:
  - ~/.isotopes/skills/

tools:
  - my_package.custom_tools

mcp:
  servers:
    - name: filesystem
      command: npx
      args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
    - name: remote-api
      url: http://localhost:3001/sse

Priority order: CLI flags > environment variables > config file > defaults.

Skills

Skills are reusable instruction sets defined as SKILL.md files with YAML frontmatter. Place them in ~/.isotopes/skills/ (or any directory listed in skills: config).

---
name: deploy
description: Deploy the application to production
---

## Instructions

1. Run the test suite with `pytest`
2. Build the Docker image
3. Push to the container registry
4. Update the deployment manifest

Skills are discovered lazily — frontmatter is scanned on startup, and the full content is loaded on demand when matched.

MCP Integration

Isotope supports Model Context Protocol servers. MCP tools are automatically converted to isotope tools and made available to the agent.

Configure MCP servers in ~/.isotopes/config.yaml:

mcp:
  servers:
    # Stdio transport (subprocess)
    - name: filesystem
      command: npx
      args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"]

    # SSE transport (HTTP)
    - name: my-api
      url: http://localhost:3001/sse

Requires the mcp extra: uv add 'isotopes[mcp]' or pip install 'isotopes[mcp]'

RPC Protocol

The isotopes rpc command starts a JSONL-over-stdio server for embedding isotope in external applications (editors, IDEs, custom UIs).

Commands (stdin → agent)

Type Fields Description
prompt content, images[] Send a user prompt
steer content Inject steering instruction mid-turn
follow_up content Queue a follow-up message
abort Abort the current turn
get_state Request current agent state
set_model model Change the active model
compact Trigger context compaction
new_session Start a fresh session

All commands accept an optional id field for correlation.

Events (agent → stdout)

Type Fields Description
agent_start stream_id Agent begins processing
text_delta content Streamed text chunk
tool_call_start name, arguments Tool execution begins
tool_call_end name, output, is_error Tool execution completes
agent_end usage Agent finishes processing
state model, preset, session_id Response to get_state
error message, command_id Error occurred

Example

# Start the RPC server
isotopes rpc &

# Send a prompt
echo '{"type":"prompt","content":"What files are in this directory?"}' | isotopes rpc

# Abort
echo '{"type":"abort"}' | isotopes rpc

Session Management

Sessions are persisted as JSONL files in ~/.isotopes/sessions/ (configurable via sessions_dir). Each session gets an 8-character UUID.

# List recent sessions
isotopes sessions
isotopes sessions --limit 20

# Resume a session
isotopes chat --session abc12345

Session entries include: session_start, user_message, assistant_message, tool_result, and compaction events. Compaction summaries are pinned so they survive context pruning on resume.

Extras

Extra Dependency Enables
tui prompt-toolkit, rich Interactive TUI (isotopes chat)
mcp mcp MCP server integration
all all of the above Everything

License

MIT

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

isotopes-0.0.1.tar.gz (87.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isotopes-0.0.1-py3-none-any.whl (63.3 kB view details)

Uploaded Python 3

File details

Details for the file isotopes-0.0.1.tar.gz.

File metadata

  • Download URL: isotopes-0.0.1.tar.gz
  • Upload date:
  • Size: 87.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for isotopes-0.0.1.tar.gz
Algorithm Hash digest
SHA256 4b79c0cc1ae632a0c04e48211808f8f0658457686b3739e35d65708971a6ea8c
MD5 f350483f8414be0f7ae11d4735a5a8cc
BLAKE2b-256 9cdb9494554e99d804e2aabd2ca86605506b1c5b6a0a1f783eff87bff09406e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for isotopes-0.0.1.tar.gz:

Publisher: publish-isotopes.yml on GhostComplex/isotopes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isotopes-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: isotopes-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 63.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for isotopes-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a49c1a095875b380a4532bd71f75686c9ea108c5f07533ed16fe2a4fae64275c
MD5 ceaaa01482473298b99ef5f998ada058
BLAKE2b-256 7fd12b6065604e68bccada36c13cfe0954dcda38b8255eb41347d798c9ce694e

See more details on using hashes here.

Provenance

The following attestation bundles were made for isotopes-0.0.1-py3-none-any.whl:

Publisher: publish-isotopes.yml on GhostComplex/isotopes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page