内容
# Elyan实验室的Amiga工具
[](LICENSE) [](BCOS.md)
适用于经典Commodore Amiga的现代化软件。适用于AmigaOS 3.x和AROS的原生Motorola 68k(m68k)应用程序:一个Web(Gemini)浏览器、Mastodon和Nostr客户端、一个MCP服务器、一个Claude AI客户端、Lua语言、Amiga自己的语音、以及当然还有Boing Ball。无需模拟器专有技巧,也无需Node.js。真正的C语言,交叉编译为真正的AmigaOS可执行文件,在FS-UAE和真实的Workbench 3.1中测试通过。
如果你拥有Amiga 500、1200、4000、Vampire、MiSTer核心或仅仅是FS-UAE,这些工具都可以在上面运行。
## 工具列表
| 工具 | 功能描述 |
|------|--------------|
| `gemini/` | 一个Gemini协议(`gemini://`)浏览器。通过AmiSSL实现TLS,具有编号的链接索引、`text/gemini`渲染、重定向和交互式浏览循环。Amiga可以实际运行的网络。 |
| `mastodon/` | 一个Mastodon / Fediverse客户端。读取时间线并通过HTTPS发布消息。你的令牌保留在Amiga上(位于`SYS:.mastodon/token`)。 |
| `nostr/` | 一个Nostr客户端。通过TLS WebSocket读取来自中继的笔记(RFC6455握手和帧,NIP-01)。发布功能待实现(secp256k1 Schnorr)。 |
| `mcp/` | 一个在Amiga上运行的模型上下文协议(MCP)服务器,通过stdio JSON-RPC公开`read_file` / `write_file` / `run_command`作为MCP工具。现代AI代理可以驱动Amiga。 |
| `claude/` | 一个原生的Anthropic Claude客户端,具有真正的工具使用循环。聊天,读取/写入文件并运行AmigaDOS命令,位于确认门后。 |
| `lua/` | Lua 5.4.7移植到m68k(`lua`,`luac`),为工具链配置。 |
| `narrator/` | 一个`speak`命令,通过Amiga内置的`narrator.device`语音设备朗读文本,来自C语言。 |
| `boing/` | Boing Ball作为原生m68k代码。当然。 |
| `common/` | 每个工具重用的共享代码:AmiSSL和bsdsocket传输、无依赖的JSON帮助程序和开发指南。 |
每个工具都有自己的README,包含构建和用法说明,一个Makefile可以与一个Docker镜像交叉编译,还有一个提交的AmigaOS二进制文件,你无需构建工具链即可获取。
## 模拟器内测试状态(诚实)
每个工具都交叉编译为经过验证的AmigaOS目标文件并进行主机测试。除此之外,下面是每个工具在启动的Amiga(FS-UAE)中实际运行的结果,证据见每个工具的`test/`目录:
| 工具 | 模拟器内状态 |
|------|-----------------|
| claude | 验证通过。Haiku脚手架、编译(vbcc)和在真实的Workbench 3.1上运行C程序。 |
| gemini | 验证通过。通过代理获取一个胶囊并在AROS上渲染gemtext。 |
| nostr | 读取路径验证通过。写入路径:事件序列化和sha256 ID计算以及主机可测试(签名未实现)。 |
| mcp | 验证通过。`write_file`和`read_file`在Amiga上操作;`run_command`在挂载的`T:`上工作。 |
| lua | 在真实的Workbench 3.1上运行(打印正确输出)。在裸AROS ROM上失败,因为缺少`mathieee`库。 |
| boing | 在AROS上渲染。 |
| narrator | 加载并运行,但由于AROS和Commodore Workbench都不提供`translator.library`,因此优雅地失败。需要具有该库的ROM/设置。 |
| mastodon | 验证通过。通过代理获取时间线并在AROS上渲染三个帖子(一个是转发);发布命令干净地返回。 |
## 构建
一个镜像交叉编译所有内容:`amigadev/crosstools:m68k-amigaos`。
```bash
cd gemini && make # 交叉编译到bin/gemini
cd gemini && make host-test # 运行主机自测试
```
从存储库根目录运行`make test`一次性运行所有应用程序的快速主机端自测试(参见`tests/README.md`了解其涵盖的内容和未涵盖的内容)。
参见`docs/AMIGA_APP_DEV_GUIDE.md`添加您自己的工具。它包含了m68k陷阱,否则会浪费您数小时(使用`-m68020`,无libnix `__stack`全局变量、`fflush` stdout,打开`bsdsocket` v3,AmigaDOS不是bash)以及可重用的传输和JSON代码。
## 诚实的范围
- 不是所有领域的第一个。AmigaGPT已经在Amiga上实现了Claude聊天;这里的新之处在于68k上的代理工具使用循环。我们在每个README中说明了以前的作品,并不声称虚假的首创。
- TLS工具提供了两种传输方式:直接来自Amiga的AmiSSL HTTPS和适用于没有TLS库的机器的小型主机代理(也将API密钥保留在Amiga外)。模拟器内测试使用代理路径。
## 相关链接
- [RustChain Amiga Edition](https://github.com/Scottcjn/rustchain-amiga) - 适用于68k AmigaOS的Proof-of-Antiquity区块链矿工和SDK,这些工具在迁移到此处之前就在那里。
- [Elyan实验室](https://elyanlabs.ai) - 实验室。
- [RustChain](https://rustchain.org) - 区块链和BCOS程序。
## 许可证
MIT(参见`LICENSE`)。在自我评估的基础上符合Elyan实验室的Beacon Certified Open Source(BCOS)L1级别,尚未在链上锚定(参见`BCOS.md`)。