| 📦 Turbo Python 6fc62ea k33g 11h ago | 1 | # turbo-python agents. |
| 2 | # |
| 3 | # Each [[agent]] becomes one line of the Agent menu (Alt-A). Choosing it starts |
| 4 | # that program and opens a window on the conversation; closing the window stops |
| 5 | # it again. Open the same agent twice and you get two independent conversations. |
| 6 | # |
| 7 | # The editor is a client for the Agent Client Protocol — https://agentclientprotocol.com — |
| 8 | # so it holds no API key and knows no model. All of that is your agent's own |
| 9 | # configuration, in a file this editor does not read. |
| 10 | # |
| 11 | # name what the menu shows, and what the window is called. Required, and |
| 12 | # unique: a project's agent of the same name replaces one of yours. |
| 13 | # command the program to run. Required. Looked up on PATH. |
| 14 | # args its arguments, passed as given. There is no shell here, so no |
| 15 | # quoting, no globs and no && — use command = "sh", args = ["-c", …] |
| 16 | # when you really want one. |
| 17 | # env extra environment variables. The agent also inherits the ones the |
| 18 | # editor was started with, so a credential already exported reaches |
| 19 | # it without being written down here. |
| 20 | # cwd where to run it, relative to the project. Left out, it is the |
| 21 | # project itself. |
| 22 | # |
| 23 | # A key this file does not define is refused rather than ignored: a misspelt |
| 24 | # `comand` would otherwise look exactly like one that had no effect. |
| 25 | # |
| 26 | # The same file may also live in %[2]s, where it applies to every project you open. |
| 27 | # This one is read afterwards and wins where a name appears in both. |
| 28 | |
| 29 | # Docker's agent runtime, talking to a model server of your choosing. |
| 30 | # `docker agent serve acp <file>` speaks the protocol on its standard input and |
| 31 | # output, which is exactly what the editor wants. |
| 32 | # |
| 33 | # The YAML beside this file is the agent's own: which provider, which model, |
| 34 | # which tools. Write it yourself, or run `docker agent new` to start one. |
| 35 | |
| 36 | [[agent]] |
| 37 | name = "Local agent" |
| 38 | command = "docker" |
| 39 | args = ["agent", "serve", "acp", "%[1]s/agent.yaml"] |
| 40 | env = { TELEMETRY_ENABLED = "false" } |
| 41 | |
| 42 | # A second agent is one more block. Two windows side by side — Window ▸ Tile — |
| 43 | # is how a fast local model and a slow careful one get compared. |
| 44 | # |
| 45 | # [[agent]] |
| 46 | # name = "Reviewer" |
| 47 | # command = "my-agent" |
| 48 | # args = ["--acp", "--profile", "review"] |
| 49 | # cwd = "." |
| 50 | |
| 51 | # Once a window is open: |
| 52 | # |
| 53 | # Enter send what you have typed |
| 54 | # Alt-Enter a new line instead of sending |
| 55 | # Tab move between the conversation and the box |
| 56 | # / at the start of the box, list the agent's own commands |
| 57 | # @ list the project's files; the one you pick goes to the agent |
| 58 | # PgUp PgDn read back through the conversation |
| 59 | # Esc stop the turn in progress |
| 60 | # Ctrl-W close the window, and stop the agent with it |
| 61 | # |
| 62 | # And in the conversation, with Tab pressed: |
| 63 | # |
| 64 | # ↑ ↓ move the cursor through what was said |
| 65 | # Shift-↑ ↓ select whole lines |
| 66 | # Ctrl-C copy — the selection, or the block the cursor is on |
| 67 | # |
| 68 | # What is copied goes to this editor's clipboard *and*, through the terminal, to |
| 69 | # the system's — so Shift-Ins pastes it into a file here, and Ctrl-V pastes it |
| 70 | # anywhere else. |
| 71 | # |
| 72 | # Code the agent sends inside a ```python fence is coloured by the same scanner |
| 73 | # this editor colours .py files with. A fence naming a language it does not |
| 74 | # know is left plain rather than guessed at. |
| 75 | # |
| 76 | # An agent with a shell or a filesystem tool asks before it uses one, and the |
| 77 | # box that appears carries the agent's own choices. Nothing runs until you |
| 78 | # answer. When it reads a file you have open and have not saved, it is given |
| 79 | # what you can see rather than what is on disk; when it writes one, the change |
| 80 | # lands in the buffer for you to undo with Ctrl-Z or keep with F2. |