mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-10-03 16:01:59 +00:00
The + menu lists up to three agents that have actually been run, beside Local and SSH. Other Agents… opens Search Everywhere already filtered to agent. New Agent Tab still starts the one used last. Refs #955 Co-authored-by: stevelliu <stevelliu@tencent.com>
153 lines
5.3 KiB
Plaintext
153 lines
5.3 KiB
Plaintext
---
|
|
title: "Coding agents"
|
|
description: "What tty7 does around Claude Code, Codex, TraeCode, and 21 others — without ever wrapping them."
|
|
---
|
|
|
|
tty7 recognises coding agents running in a pane and builds around them. It does
|
|
not wrap them, proxy them, or replace their interface: the agent you start is
|
|
the agent you get, running in a normal PTY, with its own UI. tty7 adds the
|
|
things a terminal is in a position to add — who is running where, what they
|
|
need, and what changed.
|
|
|
|
<Frame caption="Agent sessions across several repos, each with its avatar, status dot, branch, and diff">
|
|
<img src="/images/agents-overview.webp" alt="Agent sessions in the tty7 sidebar" />
|
|
</Frame>
|
|
|
|
## Which agents
|
|
|
|
Twenty-six CLIs are recognised on sight, by the command running in the pane:
|
|
|
|
| Agent | Command |
|
|
|---|---|
|
|
| Claude Code | `claude`, `claude-code` |
|
|
| Codex | `codex`, `codex-cli` |
|
|
| TraeCode | `traecli`, `traex` |
|
|
| Gemini | `gemini`, `gemini-cli` |
|
|
| Copilot | `copilot` |
|
|
| Cursor | `cursor-agent` |
|
|
| Amp | `amp` |
|
|
| OpenCode | `opencode` |
|
|
| Aider | `aider`, `aider-chat` |
|
|
| Goose | `goose` |
|
|
| Droid | `droid` |
|
|
| Grok | `grok` |
|
|
| Qwen Code | `qwen`, `qwen-code` |
|
|
| Kimi Code | `kimi`, `kimi-code` |
|
|
| Qoder CLI | `qoder`, `qodercli` |
|
|
| Qoder CN CLI | `qodercn`, `qoderclicn`, `qoder-cn` |
|
|
| Crush | `crush` |
|
|
| CodeBuddy | `codebuddy`, `codebuddy-code`, `cbc` |
|
|
| Auggie | `auggie` |
|
|
| Hermes | `hermes` |
|
|
| Vibe | `vibe`, `vibe-acp` |
|
|
| Antigravity | `agy`, `antigravity` |
|
|
| Pi | `pi` |
|
|
| Oh My Pi | `omp` |
|
|
| Prime Agent | `prime-agent` |
|
|
| Empryo | `empryo` |
|
|
|
|
Detection sees through the usual disguises: a full path, a `.cmd` or `.exe` on
|
|
Windows, leading environment assignments, and an interpreter in front
|
|
(`node .../claude/cli.js`).
|
|
|
|
### Your own wrapper
|
|
|
|
If you launch agents through a wrapper script, map its name to an agent in
|
|
`config.json`:
|
|
|
|
```json
|
|
{
|
|
"agent_commands": {
|
|
"cc": "claude",
|
|
"work": "codex"
|
|
}
|
|
}
|
|
```
|
|
|
|
The key is your command's name; the value is one of the slugs above (`claude`,
|
|
`codex`, `traecli`, `gemini`, `aider`, `amp`, `opencode`, `copilot`, `cursor`, `goose`,
|
|
`droid`, `pi`, `auggie`, `hermes`, `vibe`, `antigravity`, `grok`, `qwen`,
|
|
`omp`, `kimi`, `qodercli`, `qoderclicn`, `crush`, `codebuddy`, `empryo`, `prime-agent`).
|
|
|
|
## Quick launch
|
|
|
|
Every agent tty7 finds on your `PATH` is one row away in Search Everywhere: **Agent:
|
|
Claude Code**, **Agent: Codex**, and so on, most-used first — type `agent` in
|
|
its Terminals tab to list them. The New Tab menu names the ones you have
|
|
actually run, three at most, and **Other Agents…** opens that same list for the
|
|
rest. **New Agent Tab**
|
|
(<kbd>⌘ ⇧ A</kbd> on macOS, unbound elsewhere) starts whichever agent you used
|
|
last.
|
|
|
|
A launch always opens a new tab in the current tab's directory and types the
|
|
agent's command into its shell, so the agent is detected, tracked and resumed
|
|
exactly as if you had typed it — and quitting it leaves you at the prompt. Each
|
|
`Agent: …` command is bindable too, as `LaunchAgent:<slug>`.
|
|
|
|
By default an agent launches as its bare binary (`claude`, `codex`,
|
|
`cursor-agent`, …). Give it a command line of its own with `agent_launch`:
|
|
|
|
```json
|
|
{
|
|
"agent_launch": {
|
|
"claude": "claude --dangerously-skip-permissions",
|
|
"codex": "cx --profile work"
|
|
}
|
|
}
|
|
```
|
|
|
|
A wrapper named there (`cx` above) is recognised as that agent without an
|
|
`agent_commands` entry. To keep the flags a running agent was started with,
|
|
right-click its pane and choose **Set Current Launch Args as Default**; tty7
|
|
writes them into `agent_launch`, minus the session they resumed and any prompt.
|
|
|
|
In a remote workspace tty7 cannot read the far machine's `PATH`, so it offers
|
|
the agents it has already seen running there: start one by hand once and it
|
|
joins the list. A wrapper named in your local `agent_launch` is only recognised
|
|
over there if the remote `config.json` names it too.
|
|
|
|
## What you get for free
|
|
|
|
Just by running an agent in a pane:
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Brand avatars" icon="id-badge">
|
|
The tab chip and sidebar row show which agent runs where, so ten tabs stay
|
|
legible.
|
|
</Card>
|
|
<Card title="Git context" icon="code-branch">
|
|
The branch and working-tree diff on the row, refreshed as the agent works.
|
|
</Card>
|
|
<Card title="Session resume" icon="rotate-left">
|
|
A pane lost to a reboot relaunches the conversation, carrying its original
|
|
flags. [More →](/agents/sessions)
|
|
</Card>
|
|
<Card title="Context feed" icon="paper-plane">
|
|
Actions that hand the current selection or the repo's `git diff` to
|
|
the running agent as a prompt.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
## What needs a hook
|
|
|
|
Live status — **working**, **needs your input**, **done** — comes from the agent
|
|
itself, over a channel tty7 installs into that agent's configuration. It powers
|
|
the status dots, the notifications, the tray icon, and `tty7 wait`.
|
|
|
|
Installing takes one click per agent under **Settings → Integrations**.
|
|
[Status and notifications →](/agents/status)
|
|
|
|
## Where to go next
|
|
|
|
<CardGroup cols={3}>
|
|
<Card title="Status and notifications" icon="circle-dot" href="/agents/status">
|
|
Hooks, status dots, the tray icon.
|
|
</Card>
|
|
<Card title="Sessions" icon="code-branch" href="/agents/sessions">
|
|
Resume, fork, and copying a session id.
|
|
</Card>
|
|
<Card title="Orchestration" icon="diagram-project" href="/agents/orchestration">
|
|
One agent driving another with `tty7 wait`.
|
|
</Card>
|
|
</CardGroup>
|