244 lines
7.0 KiB
TOML
244 lines
7.0 KiB
TOML
version = 1
|
|
|
|
[[harness]]
|
|
id = "claude-code"
|
|
label = "Claude Code"
|
|
agent_import_path = "snapshot_agent:SnapshotClaudeCode"
|
|
# `[metadata] browser = true` swaps in these: same reduced toolset plus `Read`, so an agent
|
|
# given a browser can look at the screenshot it just took. Distinct classes with distinct
|
|
# names, because a different toolset is a different agent.
|
|
agent_import_path_browser = "snapshot_agent:BrowserSnapshotClaudeCode"
|
|
agent_import_path_single_turn_browser = "snapshot_agent:BrowserPreinstalledClaudeCode"
|
|
agent_import_path_single_turn = "snapshot_agent:PreinstalledClaudeCode"
|
|
import_path_aliases = [
|
|
"snapshot_agent:FullToolsetSnapshotClaudeCode",
|
|
"snapshot_agent:FullToolsetPreinstalledClaudeCode",
|
|
"harbor.agents.installed.claude_code:ClaudeCode",
|
|
]
|
|
legacy_bare_model_rows = true
|
|
default_model = "claude-opus-5[1m]"
|
|
model_id_shape = "bare"
|
|
effort_kwarg = "reasoning_effort"
|
|
effort_default = "max"
|
|
key_env = "ANTHROPIC_API_KEY"
|
|
base_url_env = "ANTHROPIC_BASE_URL"
|
|
proxy_path = "raccoon"
|
|
writes_atif = true
|
|
capture = true
|
|
seed_native = true
|
|
seed_atif = true
|
|
authoring = true
|
|
cli = "claude"
|
|
install = "for i in 1 2 3; do curl -fsSL https://claude.ai/install.sh | bash && break; echo \"claude install attempt $i failed; retrying in 10s\" >&2; sleep 10; done"
|
|
# No agent_config: claude reduces its toolset with `--tools`, not `-c key=value`, so the
|
|
# reduction is a launch flag here and `--tools Bash` in snapshot_agent.py for the trial.
|
|
# Two expressions of one intent, which the $RACCOON_AGENT_FLAGS guard cannot police —
|
|
# unlike model and effort, which are interpolated from this row.
|
|
explore_launch = """exec claude --model '$RACCOON_MODEL' --effort $RACCOON_EFFORT --tools "$RACCOON_TOOLS" --append-system-prompt "$RACCOON_TOOLSET_NOTE" --plugin-dir /workspace/plugins/create-snapshot --dangerously-skip-permissions "$@""""
|
|
|
|
[[harness]]
|
|
id = "codex"
|
|
label = "OpenAI Codex CLI"
|
|
agent_import_path = "codex_agent:NativeSnapshotCodex"
|
|
agent_import_path_single_turn = "codex_agent:SystemNodeCodex"
|
|
import_path_aliases = [
|
|
"codex_agent:InlineSnapshotCodex",
|
|
"harbor.agents.installed.codex:Codex",
|
|
]
|
|
legacy_bare_model_rows = true
|
|
default_model = "gpt-5.6-sol"
|
|
model_id_shape = "bare"
|
|
effort_kwarg = "reasoning_effort"
|
|
effort_default = "max"
|
|
key_env = "OPENAI_API_KEY"
|
|
base_url_env = "OPENAI_BASE_URL"
|
|
proxy_path = "openai/v1"
|
|
writes_atif = true
|
|
capture = true
|
|
seed_native = true
|
|
seed_atif = true
|
|
authoring = true
|
|
cli = "codex"
|
|
install = "for i in 1 2 3; do curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh && break; echo \"codex install attempt $i failed; retrying in 10s\" >&2; sleep 10; done"
|
|
skills_dir = "$HOME/.agents/skills"
|
|
config_path = "${CODEX_HOME:-$HOME/.codex}/config.toml"
|
|
auth_path = "${CODEX_HOME:-$HOME/.codex}/auth.json"
|
|
auth_key_env = "OPENAI_API_KEY"
|
|
agent_config = """
|
|
web_search = "disabled"
|
|
|
|
[agents]
|
|
enabled = false
|
|
|
|
[tools]
|
|
update_plan = { enabled = false }
|
|
experimental_request_user_input = { enabled = false }
|
|
|
|
[features]
|
|
goals = false
|
|
multi_agent = false
|
|
multi_agent_v2 = false
|
|
memories = false
|
|
external_agent_memory_import = false
|
|
"""
|
|
container_config = """
|
|
openai_base_url = "${OPENAI_BASE_URL}"
|
|
"""
|
|
explore_config = """
|
|
[hooks]
|
|
SessionStart = [ { hooks = [ { type = "command", command = "/workspace/plugins/create-snapshot/bin/save-session-info.mjs" } ] } ]
|
|
UserPromptSubmit = [ { hooks = [ { type = "command", command = "/workspace/plugins/create-snapshot/bin/checkpoint-workspace.mjs" } ] } ]
|
|
"""
|
|
explore_launch = """exec codex $RACCOON_AGENT_FLAGS --model $RACCOON_MODEL -c model_reasoning_effort=$RACCOON_EFFORT ${RACCOON_BROWSER_FLAGS[@]+"${RACCOON_BROWSER_FLAGS[@]}"} --dangerously-bypass-approvals-and-sandbox --dangerously-bypass-hook-trust "$@""""
|
|
|
|
[[harness]]
|
|
id = "gemini-cli"
|
|
label = "Gemini CLI"
|
|
agent_import_path = "gemini_agent:NativeSnapshotGeminiCli"
|
|
agent_import_path_single_turn = "gemini_agent:SystemNodeGeminiCli"
|
|
import_path_aliases = ["harbor.agents.installed.gemini_cli:GeminiCli"]
|
|
legacy_bare_model_rows = true
|
|
default_model = "gemini-3.5-flash"
|
|
model_id_shape = "provider/model"
|
|
effort_kwarg = "reasoning_effort"
|
|
effort_default = "high"
|
|
key_env = "GEMINI_API_KEY"
|
|
base_url_env = "GEMINI_API_BASE"
|
|
proxy_path = "gemini"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = true
|
|
seed_atif = false
|
|
|
|
[[harness]]
|
|
id = "opencode"
|
|
label = "OpenCode"
|
|
agent_import_path = "harness_agents:BenchOpenCode"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "provider/model"
|
|
effort_kwarg = ""
|
|
key_env = "ANTHROPIC_API_KEY"
|
|
base_url_env = "ANTHROPIC_BASE_URL"
|
|
proxy_path = "raccoon"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
flaky_hangs = true
|
|
|
|
[[harness]]
|
|
id = "goose"
|
|
label = "Goose"
|
|
agent_import_path = "harness_agents:BenchGoose"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "provider/model"
|
|
effort_kwarg = ""
|
|
key_env = "ANTHROPIC_API_KEY"
|
|
base_url_env = "ANTHROPIC_BASE_URL"
|
|
proxy_path = "raccoon"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
|
|
[[harness]]
|
|
id = "mini-swe-agent"
|
|
label = "mini-swe-agent"
|
|
agent_import_path = "harness_agents:BenchMiniSweAgent"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "provider/model"
|
|
effort_kwarg = ""
|
|
key_env = "ANTHROPIC_API_KEY"
|
|
base_url_env = "ANTHROPIC_BASE_URL"
|
|
proxy_path = "raccoon"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
|
|
[[harness]]
|
|
id = "cline-cli"
|
|
label = "Cline CLI"
|
|
agent_import_path = "harness_agents:BenchCline"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "provider:model"
|
|
effort_kwarg = ""
|
|
key_env = "ANTHROPIC_API_KEY"
|
|
base_url_env = "ANTHROPIC_BASE_URL"
|
|
proxy_path = "raccoon"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
|
|
[[harness]]
|
|
id = "crush"
|
|
label = "Crush"
|
|
agent_import_path = "harness_agents:Crush"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "provider/model"
|
|
effort_kwarg = ""
|
|
key_env = "ANTHROPIC_API_KEY"
|
|
base_url_env = "ANTHROPIC_BASE_URL"
|
|
proxy_path = "raccoon"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
flaky_hangs = true
|
|
|
|
[[harness]]
|
|
id = "amp"
|
|
label = "Amp"
|
|
agent_import_path = "harness_agents:Amp"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "bare"
|
|
effort_kwarg = ""
|
|
key_env = "AMP_API_KEY"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
enabled = false
|
|
|
|
[[harness]]
|
|
id = "cursor-cli"
|
|
label = "Cursor CLI"
|
|
agent_import_path = "harness_agents:BenchCursorCli"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "bare"
|
|
effort_kwarg = ""
|
|
key_env = "CURSOR_API_KEY"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
enabled = false
|
|
|
|
[[harness]]
|
|
id = "copilot-cli"
|
|
label = "GitHub Copilot CLI"
|
|
agent_import_path = "harness_agents:BenchCopilotCli"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "bare"
|
|
effort_kwarg = ""
|
|
key_env = "GITHUB_TOKEN"
|
|
writes_atif = true
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
enabled = false
|
|
|
|
[[harness]]
|
|
id = "aider"
|
|
label = "Aider"
|
|
agent_import_path = "harness_agents:BenchAider"
|
|
legacy_bare_model_rows = false
|
|
model_id_shape = "provider/model"
|
|
effort_kwarg = ""
|
|
writes_atif = false
|
|
capture = false
|
|
seed_native = false
|
|
seed_atif = false
|
|
enabled = false
|