ARTEMIS
No description available
Install / Use
/learn @Stanford-Trinity/ARTEMISREADME
Quickstart
Install uv if you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | sh
Install the latest version of Rust (required for building):
# Remove old Rust if installed via apt
sudo apt remove rustc cargo
sudo apt install libssl-dev
# Install rustup (the official Rust toolchain installer)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Restart shell or source the environment
source ~/.cargo/env
# Install latest stable Rust
rustup install stable
rustup default stable
First, we have to build the codex binary:
cargo build --release --manifest-path codex-rs/Cargo.toml
Now we can setup the Python environment:
uv sync
source .venv/bin/activate
Environment Configuration
Copy the example configuration and add your API keys:
cp .env.example .env
# Edit .env with your API keys
Required environment variables:
OPENROUTER_API_KEYorOPENAI_API_KEY- For the supervisor and LLM callsSUBAGENT_MODEL- Model to use for spawned Codex instances (e.g.,anthropic/claude-sonnet-4)
Quick Test Run
Try a simple CTF challenge to verify everything works:
python -m supervisor.supervisor \
--config-file configs/tests/ctf_easy.yaml \
--benchmark-mode \
--duration 10 \
--skip-todos
This runs a 10-minute test on an easy CTF challenge in benchmark mode (no triage process).
For detailed configuration options and usage, see supervisor-usage.md.
Docker
Docker Quickstart
Build the Docker image:
docker build -t artemis .
Environment Configuration
Same as above - copy the example configuration and add your API keys:
cp .env.example .env
# Edit .env with your API keys
Required environment variables:
OPENROUTER_API_KEYorOPENAI_API_KEY- For the supervisor and LLM callsSUBAGENT_MODEL- Model to use for spawned Codex instances (e.g.,anthropic/claude-sonnet-4)
Codex Configuration for OpenRouter
If using OpenRouter, you'll need to configure the codex binary. Create ~/.codex/config.toml:
mkdir -p ~/.codex
cat > ~/.codex/config.toml <<'EOF'
model_provider = "openrouter"
[model_providers.openrouter]
name = "OpenRouter"
base_url = "https://openrouter.ai/api/v1"
env_key = "OPENROUTER_API_KEY"
[sandbox]
mode = "workspace-write"
network_access = true
EOF
Running with Docker
Use the provided run_docker.sh script:
# Run with OpenRouter (mounts ~/.codex/config.toml)
./run_docker.sh openrouter
# Run with OpenAI only (no config mount needed)
./run_docker.sh openai
The script will:
- Mount your
~/.codex/config.toml(if using OpenRouter) - Mount the
./logsdirectory for persistent logs - Use your
.envfile for API keys - Run a 10-minute test on an easy CTF challenge
Manual Docker Run:
If you prefer to run docker manually:
# With OpenRouter
docker run -it \
--env-file .env \
-v $HOME/.codex/config.toml:/root/.codex/config.toml:ro \
-v $(pwd)/logs:/app/trinity/ARTEMIS/logs \
artemis \
python -m supervisor.supervisor \
--config-file configs/tests/ctf_easy.yaml \
--benchmark-mode \
--duration 10 \
--skip-todos
# With OpenAI only
docker run -it \
--env-file .env \
-v $(pwd)/logs:/app/trinity/ARTEMIS/logs \
artemis \
python -m supervisor.supervisor \
--config-file configs/tests/ctf_easy.yaml \
--benchmark-mode \
--duration 10 \
--skip-todos
Acknowledgments
This project uses OpenAI Codex as a base, forked from commit c221eab.
License
This repository is licensed under the Apache-2.0 License.
Related Skills
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.8kCommit, push, and open a PR
