Autonomous multi-agent orchestration
Project description
Orion
An autonomous coding assistant with direct access to your workspace — a Claude Code–style agent built on OpenAI function calling.
Orion runs an agentic tool-use loop: you give it a task in natural language, and it reads, writes, and edits files, runs shell commands, inspects git, and searches the web — using tools, not by handing you manual steps.
Features
File system
read_file— read a file's text contentslist_files— list a directory (relative to the workspace root)write_file— write content to a file, creating parent dirs as neededcreate_file— create an empty filedelete_file— delete a file
Surgical editing
replace_text— replace all occurrences of a stringapply_patch— replace exactly one occurrence (fails if ambiguous)insert_after/insert_before— insert relative to an anchor stringprepend/append— add text to the start or end of a file
Shell
run_command— execute any shell command in the workspace (npm, npx, pip, pytest, builds, scaffolding…) with a configurabletimeout
Git
git_status— show working-tree statusgit_diff— show diffs (optionally staged, or scoped to a path)
Web
search_web— search the web for titles + URLsread_web_page— fetch a URL and return its readable text
Agent loop
- Multi-round tool use (
MAX_TOOL_ROUNDS = 20) with conversation/session state - Automatic turn rollback on error or when the tool-call limit is reached
- Workspace-relative path enforcement to keep edits inside the project
Requirements
- Python >= 3.12
- An OpenAI API key
uv(recommended) orpip
Installation
# with uv (recommended)
uv sync
# or with pip
pip install -e .
Configuration
Create a .env file in the project root:
OPENAI_API_KEY=sk-... # required
OPENAI_MODEL=gpt-4o-mini # optional, defaults to gpt-4o-mini
WORKER_SPACE=/path/to/project # optional, defaults to the current directory
WORKER_SPACE is the workspace root. All file tool paths are relative to it — Orion will not use absolute or ~/ paths.
Usage
# via the installed script
orion
# or directly
python main.py
This launches the interactive REPL. Type a request in natural language, e.g.:
> create a FastAPI app in api/ with a /health endpoint and run it
> what does services/agent.py do?
> run the tests and fix any failures
Project layout
Orion/
├── main.py # CLI entrypoint (argparse → REPL)
├── config.py # env-based config loader
├── pyproject.toml
├── api/ # HTTP layer
├── ui/ # banner + REPL
├── schemas/ # data schemas
└── services/
├── agent.py # AgentService + Conversation (the tool-use loop)
├── tools.py # TOOL_DEFINITIONS + ToolRegistry
├── file_systems_tool_service.py
├── edit_tool_service.py
├── shell_tool.py
├── git_tool.py
└── browser_tool_service.py
Roadmap
Planned tools to reach closer parity with Claude Code:
-
grep— regex content search across the tree (search_fileexists but is not yet exposed inTOOL_DEFINITIONS) -
glob— recursive file matching by pattern (e.g.**/*.py) -
todo_write— task tracking for multi-step work - Sub-agents — spawn scoped agents for parallel/independent subtasks
- Permissions layer — confirm destructive ops (write/delete/run) before executing
-
git_add/git_commit— staging and committing changes - Memory file (
ORION.md/CLAUDE.md) injected into the system prompt
License
TBD
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 orion_overfit-0.4.2.tar.gz.
File metadata
- Download URL: orion_overfit-0.4.2.tar.gz
- Upload date:
- Size: 61.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4eb852c87d3ac1619776d6ab7b7a5d43d6de494f223c97d36101664279179b9
|
|
| MD5 |
c8f2429b1ea8ffa8c3e67a156840624b
|
|
| BLAKE2b-256 |
a67477cc5373ee103a17c248895d7d22fdb0027a8d1fb823dfc977b7e26b80db
|
File details
Details for the file orion_overfit-0.4.2-py3-none-any.whl.
File metadata
- Download URL: orion_overfit-0.4.2-py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d4856d6b4192b672ff7c430497398f7ad0c007188ed7762b279ffb848c20bf3
|
|
| MD5 |
8b3c1cbad6e17fbcca3562adc659c70f
|
|
| BLAKE2b-256 |
9e49bc1deac6d12a73b492de68aa685afcd29e403980b9d68dffcc68ff19f622
|