The agent
The agent
The agent is a sidebar wired straight into the same schematic and board editors you would use by hand. It has 35 tools — 14 that only read the design, and 21 that change it — and every one of the 21 lands on the same undo stack as your own mouse.
The panel lives behind a tab on the left rail, next to the project tree, and closing it leaves you with two complete editors. A turn is shown as what it did, not as what it called: the session header carries the title and the history, and the work itself folds into a single line — Worked for 34s — that you open when you want the detail. No engine identifier is ever printed at a person.
What it can read
get_design_overview, read_schematic, read_board,
get_netlist, run_drc, run_erc,
review_design, search_symbols,
list_symbol_libraries, search_footprints,
find_datasheet, read_datasheet,
list_footprint_libraries, and plan — none of these can change a
design, only inspect it or check it.
What it can change
Eight schematic tools: place_symbol, add_wire,
add_label, set_symbol_props, move_symbol,
delete_item, add_junction, add_no_connect.
Nine board tools: place_footprint, add_track,
add_via, move_footprint, rotate_footprint,
set_pad_net, set_board_outline, add_zone,
fill_zones.
Four that act on the project rather than draw on it:
update_pcb_from_schematic, focus_view, zoom_fit,
switch_view.
One undo for the whole turn
Each tool call is one step on the same undo stack your own edits use — not a separate agent history to review file by file. Press CtrlZ — ⌘Z on macOS — and the most recent step unwinds, whether a person or the agent made it, in the order it actually happened.
If you edit the design yourself while a turn is running, the app has to know whose change is whose to offer a correct undo — and when it cannot tell, it refuses rather than guessing. A wrong undo is worse than no undo.
Grounding on parts
The library only gives the agent a symbol's pin names. Pin numbers per package,
absolute maximums, recommended operating conditions and layout rules are not in the library
— for any of that it has to call read_datasheet, which returns pinout, limits
and layout notes each tagged with the page they came from, so a number like an absolute
maximum can be checked against the actual PDF rather than taken on faith.
Reviewing its own work
run_drc and run_erc are the same checks reachable from the Tools
menu. review_design runs one level above DRC — fab producibility, net classes,
current, decoupling, return paths, impedance — against a named fab profile, and takes a
list of findings you are deliberately leaving, each with a reason, so a repeat review does
not re-flag something you already decided about.
A few rules every tool follows
- Every coordinate, width and size is millimetres. X runs right, Y runs down.
- Wires run horizontally or vertically only — a corner is two
add_wirecalls. add_tracktakes its width from the net class unless told otherwise, and refuses a width under the board minimum rather than widening it quietly.- A zone is an outline until
fill_zonescomputes the copper in it. A board routed since its last fill is showing a picture of a board that no longer exists. update_pcb_from_schematicplaces a footprint for every schematic part that has none and assigns every pad its net; parts already on the board keep their positions and nothing is deleted.
Where it runs
No account is required to use the agent. Point it at DeepSeek (hosted), or at Ollama, LM Studio or llama.cpp/vLLM running on your own machine, or at any other OpenAI-compatible endpoint by hand. The app makes exactly two kinds of outbound request: the turn itself, and a connection test when you press Test connection. Setup steps are on Getting started.
Each preset in that dropdown fills in an address and a model name, and both stay editable afterwards. The three local ones need no key at all.
DeepSeek (hosted) https://api.deepseek.com
Ollama (this machine) http://localhost:11434/v1
LM Studio (this machine) http://localhost:1234/v1
llama.cpp or vLLM (this machine) http://localhost:8000/v1
The models they suggest are deepseek-v4-flash,
qwen2.5-coder:32b, qwen2.5-coder-32b-instruct and
local-model in that order. Something else is the fifth row and fills
in nothing — it is what the dropdown says when the address below it is somebody else's,
and picking it changes no setting on its own.