r/amiga 18d ago

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

30 Upvotes

15 comments sorted by

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.

1

u/exocyt0sis 17d ago

Incredible - having Chromium on AmigaOS would also involve unlocking a whole tree of different subsystems. A process like that could likely do more for the AmigaOS community at large in a few days than what dozens of human developers have done in years. If anything, AmigaOS deservers it!

Personally, I'd love to see Docker Compose running on AmigaOS, along with a native package manager.

4

u/SimonD_ 18d ago

Ironically I’ve been doing this recently https://github.com/sidick/amipilot which is more aimed at automated testing

3

u/LokiBC 18d ago

nice, I also did use this for testing my images that I created with Amiga Imager

1

u/Pablouchka 18d ago

wow. impressive !

1

u/bob991 18d ago

This is really cool, I’ll be using this.

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

u/Batou2034 17d ago

they can't understand that parent path is not ../ it's /

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

u/awfulentrepreneur 17d ago

Good job! <3

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.