-
Notifications
You must be signed in to change notification settings - Fork 0
agent panel
An external AI agent that you run yourself can read the project open in qrate. qrate
allows this by default. To stop it, open Settings ▸ Agent and switch off Allow
agents to read this app. The port closes immediately, with no relaunch needed. See
AGENTS.md for the protocol.
qrate listens on your own machine only, behind a token that changes at every launch. A
program that could reach this connection could already read your .qrate file directly,
so the bridge does not widen what a local program can see. It does show unsaved edits,
which the file does not.
The Agent panel, in the right dock, has two tabs. Terminal runs qrate's bundled Pi agent. Log lists everything that happened on the bridge. An agent cannot change a cell through the bridge. It can only read data and stage findings that you accept or ignore.
Open a project, then open Agent ▸ Terminal. qrate resumes the Pi session for that project. Click the + button (New Pi session) for a clean session. Right-click it for Stop, which ends the process, or Restart, which resumes the session.
The first time, type /login openrouter and follow Pi's sign-in flow. Your credential is stored by
Pi in qrate's private Pi profile; qrate does not read or store it. Pi starts with OpenRouter and the
openrouter/free router. The terminal runs only Pi, not a general shell.
Pi can use its ordinary coding tools when you explicitly ask for coding work. It asks before every shell command, write, or edit, and before reading outside the open project's directory. qrate's metadata tools remain read-only and can only stage proposed findings.
An entry has up to six parts:
| Part | What it tells you |
|---|---|
+2:07 |
Time since the first entry of this session, in minutes and seconds. Not a clock time. |
claude-code |
The name the agent gave itself. See Names are not proof. |
query |
The method the agent called, or connected / disconnected. |
AllRows, max 20 |
What the agent asked for. Absent for a method that takes no parameters. |
20 returned, 180 remaining |
What qrate answered, or why it refused. |
4ms |
How long qrate took to answer. |
An answered call shows its result in grey. The result is a size, never your data:
1893 rows × 32 columns, 20 returned, 180 remaining, 2 staged, 0 stale. qrate never
puts cell contents in this list.
A refused call shows its reason in red. Read these first. Common reasons:
| Reason | What happened |
|---|---|
forbidden |
The caller sent a wrong token or no token. qrate makes a new token at each launch. |
malformed_request |
The caller sent a method or a parameter the protocol does not have. |
project_unavailable |
No project is open. |
invalid_query_limit, too_many_query_fields, too_many_thumbnails, too_many_findings
|
The caller asked for more than one call permits. |
stale_cursor |
The project changed since the revision the caller named, so it has to read again. |
A connect or disconnect shows in blue. The protocol has no session: each call is one
request, one answer, and a closed socket. qrate infers both events. connected is the
first call from a name that passes the token check. disconnected is one minute of
silence from that name.
stage_findings is the only method that changes what you see. Its result reads
2 staged, 1 stale.
- Staged findings go to the Problems panel, beside your own validators' findings. A finding that proposes a new value also offers it under that finding in the cell's right-click Problems menu.
- Stale findings are dropped. A finding is stale when the cell no longer holds the text the agent read. This stops a correction to text nobody reviewed.
Staged findings are never written to the .qrate file. They are gone when you close the
project. A proposal changes a cell only after you click it in the Problems menu.
The name in an entry is a label the caller chose, in an X-Agent header. qrate cannot
verify it. Anything that holds the token can claim any name. Use the name to tell two of
your own agents apart, not to decide whether to trust a caller.
Right-click an entry. Copy copies that one line. Copy all copies the full list. Both give tab-separated text, which pastes into a spreadsheet as columns and into a bug report as a readable line.
The list reads top to bottom, oldest first, and follows new entries as they arrive. It holds the most recent 200 entries. It is in memory only, never written to your project, and gone when you quit.
Generated from the source documentation. Edit that file to update this page.
User guide
- The Agent panel
- Columns
- Diagnostics
- Export and Google Sheets
- Files and photos
- The grid
- Change history
- qrate docs
- Projects
- Keyboard shortcuts
- Visual search
Getting started
- Step 1: Create a project
- Step 2: Link rows to files
- Step 3: Describe items in the grid
- Step 4: Check your work with Problems
- Step 5: Save and export
- Getting started
Plugins