Spaces:
Sleeping
Sleeping
File size: 7,636 Bytes
0865492 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AGENT_HARNESSES = exports.STANDARD_AGENT_ENV_VARS = void 0;
/**
* Standard environment variables that any tool can set to identify itself.
* When one of these is set, its value is used directly as the agent `id`
* (matched against the keys of `AGENT_HARNESSES`); unrecognized values are
* reported as `"unknown"`.
*/
exports.STANDARD_AGENT_ENV_VARS = ["AI_AGENT", "AGENT"];
/**
* Add your new agent harness here.
*
* /!\ IMPORTANT
*
* Insertion order matters for detection priority: harnesses are checked from
* top to bottom and the first match wins. In particular, `cowork` must stay
* before `claude-code` so the more specific signal takes priority when both
* `CLAUDE_CODE` and `CLAUDE_CODE_IS_COWORK` are set.
*/
exports.AGENT_HARNESSES = {
antigravity: {
prettyLabel: "Antigravity",
docsUrl: "https://antigravity.google",
description: "Agentic development platform from Google built around Gemini.",
envVars: { ANTIGRAVITY_AGENT: "*" },
},
"augment-cli": {
prettyLabel: "Augment CLI",
repoUrl: "https://github.com/augmentcode/auggie",
docsUrl: "https://www.augmentcode.com",
description: "Auggie, the command-line coding agent from Augment Code.",
envVars: { AUGMENT_AGENT: "*" },
},
cline: {
prettyLabel: "Cline",
repoUrl: "https://github.com/cline/cline",
docsUrl: "https://cline.bot",
description: "Open-source autonomous coding agent for VS Code.",
envVars: { CLINE_ACTIVE: "*" },
},
cowork: {
// must stay before `claude-code` so the more specific signal takes priority when both `CLAUDE_CODE` and `CLAUDE_CODE_IS_COWORK` are set.
prettyLabel: "Cowork",
docsUrl: "https://claude.com/product/cowork",
description: "Anthropic's agent for autonomous knowledge work, built on top of Claude Code.",
envVars: { CLAUDE_CODE_IS_COWORK: "*" },
},
"claude-code": {
prettyLabel: "Claude Code",
repoUrl: "https://github.com/anthropics/claude-code",
docsUrl: "https://code.claude.com/docs",
description: "Anthropic's agentic coding tool that lives in your terminal.",
envVars: { CLAUDECODE: "*", CLAUDE_CODE: "*" },
},
codex: {
prettyLabel: "Codex",
repoUrl: "https://github.com/openai/codex",
docsUrl: "https://developers.openai.com/codex",
description: "OpenAI's lightweight coding agent that runs in your terminal.",
envVars: { CODEX_SANDBOX: "*", CODEX_CI: "*", CODEX_THREAD_ID: "*" },
},
crush: {
prettyLabel: "Crush",
repoUrl: "https://github.com/charmbracelet/crush",
docsUrl: "https://github.com/charmbracelet/crush",
description: "Charm's open-source AI coding agent for the terminal.",
envVars: { CRUSH: "*" },
},
"gemini-cli": {
prettyLabel: "Gemini CLI",
repoUrl: "https://github.com/google-gemini/gemini-cli",
docsUrl: "https://geminicli.com",
description: "Google's open-source terminal AI coding agent powered by Gemini models.",
envVars: { GEMINI_CLI: "*" },
},
"github-copilot": {
prettyLabel: "GitHub Copilot",
docsUrl: "https://docs.github.com/copilot",
description: "GitHub's AI coding assistant.",
envVars: { COPILOT_MODEL: "*", COPILOT_ALLOW_ALL: "*", COPILOT_GITHUB_TOKEN: "*" },
},
goose: {
prettyLabel: "Goose",
repoUrl: "https://github.com/aaif-goose/goose",
docsUrl: "https://goose-docs.ai/",
description: "Open-source, extensible AI agent, originally from Block and now part of the Agentic AI Foundation.",
envVars: { GOOSE_TERMINAL: "*" },
},
"hermes-agent": {
prettyLabel: "Hermes Agent",
repoUrl: "https://github.com/NousResearch/hermes-agent",
docsUrl: "https://hermes-agent.nousresearch.com/docs",
description: "Nous Research's self-improving, multi-provider terminal AI agent.",
envVars: { HERMES_SESSION_ID: "*" },
},
hi: {
prettyLabel: "hi",
repoUrl: "https://github.com/PipeNetwork/hi",
docsUrl: "https://github.com/PipeNetwork/hi#readme",
description: "Rust terminal coding agent with verification-in-the-loop.",
},
"kilo-code": {
prettyLabel: "Kilo Code",
repoUrl: "https://github.com/Kilo-Org/kilocode",
docsUrl: "https://kilocode.ai/docs",
description: "Open-source agentic coding agent for VS Code, JetBrains, and the terminal.",
envVars: { KILOCODE_FEATURE: "*" },
},
kiro: {
prettyLabel: "Kiro",
docsUrl: "https://kiro.dev",
description: "AWS's agentic IDE for spec-driven AI software development.",
envVars: { AGENT_CONTEXT_OUT: "*" },
},
openclaw: {
prettyLabel: "OpenClaw",
repoUrl: "https://github.com/openclaw/openclaw",
docsUrl: "https://openclaw.ai",
description: "Open-source, self-hosted personal AI assistant that runs on your own devices.",
envVars: { OPENCLAW_SHELL: "*" },
},
opencode: {
prettyLabel: "opencode",
repoUrl: "https://github.com/anomalyco/opencode",
docsUrl: "https://opencode.ai",
description: "Open-source AI coding agent built for the terminal.",
envVars: { OPENCODE_CLIENT: "*" },
},
pi: {
prettyLabel: "Pi",
repoUrl: "https://github.com/earendil-works/pi",
docsUrl: "https://pi.dev",
description: "Minimal, self-extensible terminal coding agent with a unified multi-provider LLM API.",
envVars: { PI_CODING_AGENT: "*" },
},
replit: {
prettyLabel: "Replit",
docsUrl: "https://replit.com",
description: "Cloud development environment with an AI coding agent.",
envVars: { REPL_ID: "*" },
},
trae: {
prettyLabel: "Trae",
docsUrl: "https://trae.ai",
description: "AI-powered IDE from ByteDance.",
envVars: { TRAE_AI_SHELL_ID: "*" },
},
warp: {
prettyLabel: "Warp",
repoUrl: "https://github.com/warpdotdev/Warp",
docsUrl: "https://docs.warp.dev",
description: "AI-powered terminal with an agentic Agent Mode.",
envVars: { TERM_PROGRAM: "WarpTerminal" },
},
zed: {
prettyLabel: "Zed",
repoUrl: "https://github.com/zed-industries/zed",
docsUrl: "https://zed.dev",
description: "High-performance code editor with an integrated AI agent panel and terminal.",
envVars: { ZED_TERM: "*" },
},
"cursor-cli": {
// Kept near the bottom (and before `cursor`): when another agent runs inside the Cursor editor's terminal,
// its child processes inherit `CURSOR_TRACE_ID`, so `cursor` must stay a low-priority fallback and lose to
// the agent's own marker. `cursor-cli` is the more specific Cursor signal (`CURSOR_AGENT`), so it comes first.
prettyLabel: "Cursor CLI",
docsUrl: "https://cursor.com/docs/cli/overview",
description: "Cursor's coding agent for the command line.",
envVars: { CURSOR_AGENT: "*" },
},
cursor: {
prettyLabel: "Cursor",
docsUrl: "https://cursor.com",
description: "AI-powered code editor.",
envVars: { CURSOR_TRACE_ID: "*" },
},
devin: {
prettyLabel: "Devin",
docsUrl: "https://devin.ai",
description: "Autonomous AI software engineer from Cognition.",
},
};
|