remora-cc
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in bootstrap.sh
- rm -rf — Recursive force deletion command in install.sh
- rm -rf — Recursive force deletion command in scripts/package-release.sh
- rm -rf — Recursive force deletion command in tests/test_bootstrap.sh
- rm -rf — Recursive force deletion command in tests/test_install.sh
- rm -rf — Recursive force deletion command in uninstall.sh
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Session-scoped GPT-5.6 agent routing for Claude Code
Remora
Run Claude Code with a cost-aware GPT-5.6 agent fleet.
Remora attaches OpenAI GPT-5.6 models to Claude Code for one session. Sol plans, orchestrates, and verifies critical work; Luna handles exploration and implementation at lower cost; Terra provides a balanced everyday switch. Claude Code remains the interface, tool runtime, and agent orchestrator. Like the fish it is named after, Remora leaves its host unchanged when the session ends.
Contents
- What it changes
- Architecture
- Model map
- Who it is for
- Trust and security
- Requirements
- Install
- Configure
- Use
- Verify isolation
- Operational notes
- Operational security
- Uninstall
- Prior art
What it changes
Remora launches a child claude process with a session-only --agents JSON document and a child-only gateway environment. Claude Code officially documents --agents as a current-session source that outranks project and user agent files without persisting them.
| Surface | Native claude |
remora session |
|---|---|---|
| Command | Unchanged | Separate executable |
| Anthropic login | Unchanged | Replaced only in the child environment |
~/.claude/settings.json |
Never written | Still readable by Claude Code |
~/.claude/agents/ |
Never written | Session agents take precedence by name |
Project .claude/ |
Never written | Continues to load normally |
| Shell aliases/functions | Never written | None required |
| Runtime marker | Absent | REMORA_ACTIVE=1 in the child only |
Core guarantee: quitting Remora ends every override. Running
claudeafterward uses the same command, credentials, settings, and agents it used before installation.
Architecture
flowchart LR
U[Developer] -->|claude| N[Native Claude Code]
U -->|remora| R[Remora launcher]
R -->|child-only env| G[Anthropic-compatible gateway]
R -->|session-only --agents| C[Claude Code runtime]
C -->|orchestration and judgment| SOL[OpenAI Sol]
C -->|recon and implementation| LUNA[OpenAI Luna]
C -->|default Sonnet alias| TERRA[OpenAI Terra]
C -->|fresh-context verification| VERIFY[OpenAI Sol verifier]
G --> OAI[OpenAI / Codex OAuth]
The launcher is intentionally not a proxy and stores no OAuth credentials. Bring an Anthropic-compatible gateway such as CLIProxyAPI, then point Remora at it. See the architecture rationale and gateway runbook.
Model map
The defaults mirror the working GPT-5.6 split that motivated this repository. Every name is configurable because gateways expose different model catalogs.
Claude Code's built-in aliases remain useful escape hatches: Opus defaults to Sol, Sonnet to Terra, and Haiku to Luna.
| Role | Default model | Effort | Responsibility |
|---|---|---|---|
| Main session | gpt-5.6-sol |
User-selected | Plan, decide, integrate |
Explore |
gpt-5.6-luna |
low | Broad read-only search |
scout |
gpt-5.6-luna |
low | Focused reconnaissance |
mech-executor |
gpt-5.6-luna |
medium | Fully specified mechanical work |
executor |
gpt-5.6-luna |
max | Cost-efficient implementation with deeper reasoning |
verifier |
gpt-5.6-sol |
high | Independent adversarial verification |
security-executor |
gpt-5.6-sol |
max | Security-sensitive work |
Context safety
OpenAI's public GPT-5.6 API advertises a 1.05M context window, but CLIProxyAPI's Codex OAuth catalog currently reports 372K for Sol, Terra, and Luna. Remora treats the gateway catalog as the operational limit instead of assuming that the public API limit applies to a subscription/OAuth route.
At launch, Remora reads the gateway's Codex-compatible model catalog and takes the smallest window among every configured main and agent model. It then mirrors Codex CLI's policy: 95% is effective context and automatic compaction starts at 90% of the raw provider window. With the current 372K catalog this means 353.4K effective context and a 334.8K compact trigger. Remora passes the raw window and compact percentage to its Claude Code child; a failed or incomplete lookup falls back conservatively and never changes CLIProxyAPI or native Claude.
[context]
discovery = true
fallback_window = 372000
effective_window_percent = 95
auto_compact_percent = 90
Who it is for
Remora is for developers who prefer Claude Code's interaction model but want their coding work executed by a tiered GPT-5.6 fleet. It is especially useful when a single frontier model for every subtask is unnecessarily expensive.
| Good fit | Need Remora addresses |
|---|---|
| Claude Code power users | Keep Claude Code tools, permissions, hooks, project instructions, and session continuation while using OpenAI models |
| Codex/OpenAI subscribers | Use an existing OpenAI OAuth-backed gateway from the Claude Code interface |
| Multi-agent developers | Assign planning, reconnaissance, implementation, verification, and security work to distinct model/effort tiers |
| Cost-conscious teams and solo builders | Reserve Sol for judgment and verification while Luna max performs routine implementation |
| Home-lab operators | Connect to an existing self-hosted CLIProxyAPI deployment without embedding gateway management into the launcher |
| Anthropic and OpenAI users | Switch with claude and remora instead of replacing native Claude configuration |
Remora is not a hosted gateway, an OAuth account manager, an official OpenAI or Anthropic integration, or a zero-trust sandbox. It is a poor fit where organizational policy prohibits model gateways or where only vendor-supported routing is acceptable.
Trust and security
Installation is approval-gated, release artifacts are verifiable, and runtime overrides are confined to the Remora child process.
| Guarantee | Enforcement |
|---|---|
| Read before write | The one-prompt runbook requires a read-only preflight and complete change plan before approval |
| Immutable source | Recommended prompts reference a release tag; every fetched installer file must use the same tag |
| Verifiable release | Bootstrap requires SHA-256 and GitHub artifact attestation; checksum-only mode needs an explicit downgrade |
| No blind overwrite | Installer refuses unrelated executables and preserves existing user configuration |
| Native Claude isolation | Installer and launcher never write ~/.claude, replace claude, or read the Anthropic login |
| Secret minimization | Gateway tokens come from an environment variable or direct credential command and are never printed |
| Reversible scope | Only three Remora-owned locations are installed; uninstall does not touch native Claude |
The gateway and upstream model still receive prompts and any source Claude Code sends them. Review the full security policy and gateway trust boundary before using Remora on sensitive repositories.
Requirements
| Dependency | Requirement |
|---|---|
| Claude Code | A version supporting dynamic --agents definitions |
| Python | 3.11 or newer; standard library only |
| Gateway | Anthropic Messages-compatible base URL with the configured model names |
| Platform | macOS or Linux; WSL should work but is not yet tested |
| Authentication | Gateway token in an environment variable or OS credential-store command |
Install
Approval-gated one-prompt install
Give Claude Code this prompt. The immutable tag is intentional:
Read and follow this installation runbook:
https://raw.githubusercontent.com/Nanako0129/remora-cc/v0.1.2/install/AGENT-INSTALL.md
Perform only the read-only preflight first. Show every proposed filesystem
change, trust boundary, download source, and verification step. Do not write
anything until I explicitly approve.
The runbook will not ask for a bearer token or OAuth file. It stops at an approval gate, downloads the matching release, verifies its SHA-256 and GitHub attestation, installs atomically, and checks that ~/.claude did not change.
Manual source install
git clone --branch v0.1.2 --depth 1 https://github.com/Nanako0129/remora-cc.git
cd remora-cc
./install.sh
The installer copies Remora under the XDG data directory, creates a configuration only when none exists, and links one new executable:
~/.local/bin/remora
~/.local/share/remora-cc/
~/.config/remora-cc/config.toml
It does not add the bin directory to PATH. If needed, add this to your shell profile yourself:
export PATH="$HOME/.local/bin:$PATH"
Configure
Need a gateway first? Follow the minimal CLIProxyAPI Docker Compose deployment, complete Codex OAuth in its GUI, then return here with the proxy API key.
Edit the generated configuration:
${EDITOR:-vi} ~/.config/remora-cc/config.toml
For a quick local test, export the gateway token in the current terminal:
export REMORA_AUTH_TOKEN='replace-me'
remora doctor --online
For daily macOS use, retrieve the token from Keychain instead of storing it in TOML:
[proxy]
base_url = "http://127.0.0.1:8317"
auth_token_env = "REMORA_AUTH_TOKEN"
auth_token_command = ["security", "find-generic-password", "-a", "YOUR_MACOS_USER", "-s", "cliproxyapi", "-w"]
The environment variable wins when present; otherwise Remora executes the array directly without a shell and reads the token from stdout.
Use
Run Remora anywhere you would run Claude Code:
cd ~/src/my-project
remora
remora --continue
remora -p 'summarize this repository'
All unrecognized arguments pass through to claude. Explicit Claude flags win: supplying your own --model or --agents prevents Remora from injecting that specific default.
Useful diagnostics:
| Command | Result |
|---|---|
remora doctor |
Validate binary, configuration, agent rendering, and secret retrieval |
remora doctor --online |
Also verify gateway models and report detected context ceilings |
remora agents |
Show effective role/model/effort assignments |
remora render-agents |
Print the exact JSON supplied through --agents |
remora dry-run --continue |
Print a token-free launch preview |
Verify isolation
Before and after installation, these checks should produce identical hashes because Remora never writes them:
find ~/.claude -type f -maxdepth 3 -print0 \
| sort -z \
| xargs -0 shasum -a 256 > /tmp/claude-files.sha256
remora dry-run
claude --version
The strongest behavioral check is simply to run both commands. remora agents should show the OpenAI map; plain claude should retain its original model and authentication.
Operational notes
| Symptom | Meaning | Action |
|---|---|---|
| Agent inherits the main model | A global CLAUDE_CODE_SUBAGENT_MODEL overrode the agent map |
Remora clears it in the child by default; confirm with remora doctor |
All credentials ... are cooling down |
The gateway locally suspended the only credential/model after an upstream 429 | Wait for reset, add failover credentials, lower concurrency, or restart only as a last-resort state reset |
| Models work but names differ | The gateway exposes aliases different from this example | Update [models] and [agent_models] |
Your input exceeds the context window |
Claude Code accumulated beyond the gateway provider's operational ceiling | Run remora doctor --online; keep context discovery enabled or lower [context].fallback_window |
| Native Claude also uses the gateway | Gateway variables were exported globally in the shell | Remove global ANTHROPIC_* exports; let Remora set them for its child |
| A role is missing | An explicit --agents flag replaced Remora's dynamic map |
Remove that flag or merge the role into your supplied JSON |
claude.ai connectors are disabled warning |
Claude Code detected Remora's child-only gateway auth instead of the native Claude login | Expected inside Remora; run plain claude when claude.ai connectors are required |
⚠️ Do not disable gateway cooldown globally as the first fix. A real upstream rate limit can become a retry storm. The safer order is lower concurrency, bounded retry, multiple credentials, and correct classification of transient versus quota 429 responses.
Operational security
Remora never prints the gateway token, includes no telemetry, and invokes credential-store commands as an argument array without shell expansion. The proxy still receives source code and prompts, and the selected OpenAI account still processes them. Read SECURITY.md before using a remote gateway.
Uninstall
./uninstall.sh
The default keeps the configuration for reinstalling. Remove it too with:
./uninstall.sh --purge
Neither path touches ~/.claude.
Prior art
Remora packages a narrow technique rather than inventing multi-agent routing. pilotfish established the role-based orchestration pattern; use it when you want to study or customize the global-policy version of this design. Anthropic documents dynamic session agents and custom LLM gateways; CLIProxyAPI supplies the protocol bridge. Remora's contribution is one auditable, installable launcher for an existing gateway, with no mutation of native Claude state.
License
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi