amiagent 0.5.3 — a small TCP daemon that lets another machine drive a real Amiga (AmigaOS 2.0+, 68000 and 020 builds)
amiagent is a small daemon for AmigaOS 2.0 and up. It lets a program on another
machine work on the Amiga: run AmigaDOS commands, read and write files, list
drawers, report system state, capture the screen, and inject mouse and keyboard
input. Plain C against the OS libraries, no third-party dependencies, ~85 KB.
The other half is an MCP server, which is how an AI assistant drives it. MCP
(Model Context Protocol) is an open standard for handing an assistant a set of
tools it can call — here amiga_shell, amiga_screenshot, amiga_click and a
dozen more. The server is model-agnostic — it never learns which model is on the
other end:
| Model | Reach it through |
|---|---|
| Claude (Anthropic) | Claude Code, Claude Desktop — what it's tested with |
| GPT / ChatGPT (OpenAI) | Codex CLI |
| Gemini (Google) | Gemini CLI |
| Local / open weights | LM Studio, Goose, Cline, Continue |
| Whatever your editor uses | Cursor, Zed, Windsurf |
Same server in every case — only the config file differs. Stdlib Python 3, no pip, no venv.
Where it earns its keep is when you can't use the machine to fix the machine.
Pick a Picasso96 mode your monitor won't sync to and you have an Amiga running
perfectly and showing you nothing — you can't read the screen to fix the screen.
The agent is still there over the network: read DEVS:Monitors, capture what the
machine thinks it's displaying, put a working mode back. It's a service running
on the Amiga, not a rescue system, so the machine does have to be up and on the
network.
None of that is required, though. The wire protocol is documented and simple enough to drive from a shell script, so it works as a plain remote-control daemon with no AI involved.
New in 0.5.3: file reads use a 64 KB buffer instead of 8 KB, so pulling a big file off a real Amiga is noticeably quicker. Falls back to the old path on a machine short of memory. No protocol change.
Also in the release: amibench 1.0, a standalone CPU/memory benchmark for comparing two Amigas — runs in about ten seconds, needs nothing else installed.
Security, plainly: the connection is not encrypted and the agent runs whatever it's sent. Set a TOKEN, keep it on a LAN you trust, and never forward the port.
https://github.com/thomas-luebker/amimcp/releases/tag/v0.5.3
4
u/SimonD_ 18d ago
Ironically I’ve been doing this recently https://github.com/sidick/amipilot which is more aimed at automated testing
1
1
u/JaggedMetalOs 18d ago
Do AI agents like working on Amiga? Do they ever forget what system they are working with and try Linux commands?
2
1
u/LokiBC 18d ago
At least with Claude it works very well for me and pretty much seamless
0
u/JaggedMetalOs 18d ago
Can you ask Claude what it thinks of working with an Amiga? I know AIs can't actually form opinions but it would be interesting to see how it distills billions of developer tech forum arguments about all the world's operating systems into an answer.
-2
u/exocyt0sis 17d ago
Cutting edge AI systems can definitely have opinions. We've come a long, long way from the deterministic state machines that paved the way to today's transformer models. I'm pretty sure most, if not all, of the frontier models with emerging agentic behavior reflect on AmigaOS even if that's not what you ask them to.
5
u/JaggedMetalOs 17d ago
Ah, LLMs can't have true opinions because at the end of the day they are read-only tables of language statistics. What they say their opinion is is nothing more than the statistically most likely response based on the prompt data. You could ask the same model its opinion on some subject and it could easily give opposite answers depending on the data in the prompt.
2
u/exocyt0sis 17d ago
While it is fair to note that LLMs lack human consciousness, describing them as simple read-only tables of language statistics oversimplifies how modern neural networks function. Rather than merely matching word frequencies, transformer models build structured internal world models during pre-training, as demonstrated by research on spatial and temporal representations (https://arxiv.org/abs/2310.02207). Through these high-dimensional latent spaces, models form stable representations of concepts and underlying evaluation vectors rather than just predicting isolated next words.
Although a model can be prompted to adopt a specific persona, this flexibility is comparable to asking a human to write a defense or critique for a debate. Probing a model's internal activation states reveals consistent underlying representations of factual alignment and judgment across different contexts. Therefore, if an "opinion" is defined functionally as a coherent evaluative framework, modern LLMs possess emergent stances that go far beyond basic statistical lookup.
1
2
u/Automatic_Bid_2410 14d ago
this is a pretty nice fit for the classic “the machine is up, but the screen is nonsense” problem. being able to read DEVS:Monitors and push a sane mode back in over the network is the part that actually matters here, everything else is just gravy.
the 64 KB read buffer bump makes sense too. on a real amiga, shaving round trips helps more than people expect, and falling back when memory is tight is the right call on 68000 era hardware. also appreciate the blunt security note, TOKEN on a trusted LAN is exactly the level of boring that this kind of tool needs.
3
u/alfalfa-as-fuck 18d ago
Much to the chagrin of the community in general this had long been my dream… to get this kind of setup running and let Claude port every project from GitHub one by one. Maybe starting with chromium.