[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-HarryR--z80ai":3,"tool-HarryR--z80ai":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":79,"owner_twitter":79,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":89,"last_commit_at":90,"license":79,"difficulty_score":10,"env_os":91,"env_gpu":92,"env_ram":93,"env_deps":94,"category_tags":100,"github_topics":101,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":113,"updated_at":114,"faqs":115,"releases":116},2671,"HarryR\u002Fz80ai","z80ai","Z80-μLM is a 2-bit quantized language model small enough to run on an 8-bit Z80 processor. Train conversational models in Python, export them as CP\u002FM .COM binaries, and chat with your vintage computer.","z80ai 是一款极具创意的微型语言模型，专为在复古的 8 位 Z80 处理器上运行而设计。它成功解决了如何在仅有 64KB 内存和 4MHz 主机的极端受限硬件上实现交互式对话的难题，让上世纪 70 年代的电脑也能拥有\"AI 人格”。\n\n该项目非常适合嵌入式开发者、复古计算爱好者以及希望探索模型极限压缩技术的研究人员。通过简单的 Python 训练流程，用户可以将自定义的对话模型导出为 CP\u002FM 或 ZX Spectrum 平台的二进制文件，直接在模拟器或真实老式硬件上聊天甚至玩游戏。\n\n其技术亮点令人惊叹：模型采用独特的 2 比特权重量化技术，将参数压缩至极致；利用三字符哈希编码（Trigram hash）处理输入，使其对拼写错误不敏感且忽略词序；整个推理过程完全基于 16 位整数运算，无需任何浮点支持。最终生成的程序仅约 40KB，却能包含推理引擎、权重数据和聊天界面。虽然 z80ai 无法通过图灵测试，但它能以极简的方式回应问候或进行猜谜游戏，为绿色屏幕带来一抹会心的微笑，是连接现代 AI 技术与复古计算文化的奇妙桥梁。","# Z80-μLM: A Retrocomputing Micro Language Model\n\nZ80-μLM is a 'conversational AI' that generates short character-by-character sequences, with quantization-aware training (QAT) to run on a Z80 processor with 64kb of ram.\n\nThe root behind this project was the question: how small can we go while still having personality, and can it be trained or fine-tuned easily? With easy self-hosted distribution?\n\nThe answer is Yes! And a 40kb .com binary (including inference, weights & a chat-style UI) running on a 4MHz processor from 1976.\n\nIt won't pass the Turing test, but it might make you smile at the green screen.\n\nFor insight on how to best train your own model, see [TRAINING.md](TRAINING.md).\n\n## Examples\n\nTwo pre-built examples are included:\n\n### [tinychat](examples\u002Ftinychat\u002F)\n\nA conversational chatbot trained on casual Q&A pairs. Responds to greetings, questions about itself, and general banter with terse personality-driven answers.\n\n```\n> hello\nHI\n> are you a robot\nYES\n> do you dream\nMAYBE\n```\n\n### [guess](examples\u002Fguess\u002F)\n\nA 20 Questions game where the model knows a secret topic and answers YES\u002FNO\u002FMAYBE to your questions. Guess correctly to WIN.\n\n![GUESS.COM example](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHarryR_z80ai_readme_cf62d56b2905.png)\n\nIncludes tools for generating training data with LLMs (Ollama or Claude API) and balancing class distributions.\n\n## Quickstart\n\nGet running in under 5 minutes:\n\n**1. Download** pre-built binaries from [GitHub Releases](..\u002F..\u002Freleases)\n\n**2. Install an emulator:**\n\n| Platform | CP\u002FM (.COM files) | ZX Spectrum (.TAP files) |\n|----------|-------------------|--------------------------|\n| **Linux** | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) | `apt install fuse-emulator-gtk` |\n| **Windows** | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) | [Fuse](https:\u002F\u002Ffuse-emulator.sourceforge.net\u002F) |\n| **macOS** | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) | `brew install fuse-emulator` |\n\n**3. Run:**\n\n- **CP\u002FM**: `iz-cpm CHAT.COM`\n- **ZX Spectrum**: `fuse --tape CHAT.TAP`, then `LOAD \"\" CODE` and `RANDOMIZE USR 32768`\n\nFor building from source or training your own models, see [TRAINING.md](TRAINING.md).\n\n## Features\n\n- **Trigram hash encoding**: Input text is hashed into 128 buckets - typo-tolerant, word-order invariant\n- **2-bit weight quantization**: Each weight is {-2, -1, 0, +1}, packed 4 per byte\n- **16-bit integer inference**: All math uses Z80-native 16-bit signed arithmetic\n- **~40KB .COM file**: Fits in CP\u002FM's Transient Program Area (TPA)\n- **Autoregressive generation**: Outputs text character-by-character\n- **No floating point**: Everything is integer math with fixed-point scaling\n- **Interactive chat mode**: Just run `CHAT` with no arguments\n\n## Platform Support\n\nZ80-μLM runs on multiple Z80-based platforms:\n\n- **CP\u002FM**: Original target platform. Generates `.COM` files using `buildz80com.py`\n- **ZX Spectrum 48K**: Full support via `buildz80tap.py`. See [ZX-SPECTRUM.md](ZX-SPECTRUM.md) for details\n  - Generates `.TAP` files for emulators or real hardware\n  - Uses ZX Spectrum ROM routines for I\u002FO\n  - Memory optimized for 48K systems\n  - Compatible with most ZX Spectrum emulators\n\nFor ZX Spectrum builds, use `run-zx.sh` in example directories or see the [ZX Spectrum guide](ZX-SPECTRUM.md).\n\n## Interaction Style\n\nThe model doesn't understand you. But somehow, it *gets* you.\n\nYour input is hashed into 128 buckets via trigram encoding - an abstract \"tag cloud\" representation. The model responds to the *shape* of your input, not the exact words:\n\n```\n\"hello there\"  →  [bucket 23: 64, bucket 87: 32, ...]\n\"there hello\"  →  [bucket 23: 64, bucket 87: 32, ...]  (same!)\n\"helo ther\"    →  [bucket 23: 32, bucket 87: 32, ...]  (similar - typo tolerant)\n```\n\nThis is semantically powerful for short inputs, but there's a limit: longer or order-dependent sentences blur together as concepts compete for the same buckets. \"Open the door and turn on the lights\" will likely be too close to distinguish from \"turn on the door and open the lights.\"\n\n### Small Responses, Big Meaning\n\nA 1-2 word response can convey surprising nuance:\n\n- `OK` - acknowledged, neutral\n- `WHY?` - questioning your premise\n- `R U?` - casting existential doubt\n- `MAYBE` - genuine uncertainty\n- `AM I?` - reflecting the question back\n\nThis isn't necessarily a limitation - it's a different mode of interaction. The terse responses force you to infer meaning from context or ask probing direct yes\u002Fno questions to see if it understands or not (e.g. 'are you a bot', 'are you human', 'am i human' displays logically consistent memorized answers)\n\n### What It's Good At\n\n- Short, varied inputs with consistent categorized outputs\n- Fuzzy matching (typos, rephrasing, word order)\n- Personality through vocabulary choice\n- Running on constrained 8-bit hardware\n\n### What It's Not\n\n- A chatbot that generates novel sentences\n- Something that tracks multi-turn context deeply\n- A parser that understands grammar\n- Anything approaching general intelligence\n\nIt's small, but functional. And sometimes that's exactly what you need.\n\n## Architecture\n\n- **Input**: 128 query trigram buckets + 128 context buckets\n- **Hidden layers**: Configurable depth\u002Fwidth, e.g., 256 → 192 → 128\n- **Output**: One neuron per character in charset\n- **Activation**: ReLU between hidden layers\n\n### Quantization Constraints\n\nThe Z80 is an 8-bit CPU, but we use its 16-bit register pairs (HL, DE, BC) for activations and accumulators. Weights are packed 4-per-byte (2-bit each) and unpacked into 8-bit signed values for the multiply-accumulate.\n\nThe 16-bit accumulator gives us numerical stability (summing 256 inputs without overflow), but the model's expressiveness is still bottlenecked by the 2-bit weights, and naive training may overflow or act 'weirdly' without QAT.\n\n### Z80 Inner Loops\n\nThe core of inference is a tight multiply-accumulate loop. Weights are packed 4-per-byte:\n\n```z80\n; Unpack 2-bit weight from packed byte\nld a, (PACKED)      ; Get packed weights\nand 03h             ; Mask bottom 2 bits\nsub 2               ; Map 0,1,2,3 → -2,-1,0,+1\nld (WEIGHT), a\n\n; Rotate for next weight\nld a, (PACKED)\nrrca\nrrca\nld (PACKED), a\n```\n\nThe multiply-accumulate handles the 4 possible weight values:\n\n```z80\nMULADD:\n    or a\n    jr z, DONE       ; weight=0: skip entirely\n    jp m, NEG        ; weight\u003C0: subtract\n    ; weight=+1: add activation\n    ld hl, (ACC)\n    add hl, de\n    ld (ACC), hl\n    ret\nNEG:\n    cp 0FFh\n    jr z, NEG1       ; weight=-1\n    ; weight=-2: subtract twice\n    ld hl, (ACC)\n    sbc hl, de\n    sbc hl, de\n    ld (ACC), hl\n    ret\nNEG1:\n    ; weight=-1: subtract once\n    ld hl, (ACC)\n    sbc hl, de\n    ld (ACC), hl\n    ret\n```\n\nAfter each layer, arithmetic right-shift by 2 to prevent overflow:\n\n```z80\nsra h        ; Shift right arithmetic (preserves sign)\nrr l\nsra h\nrr l         ; ACC = ACC \u002F 4\n```\n\nThat's the entire neural network: unpack weight, multiply-accumulate, shift. Repeat ~100K times per character generated.\n\n---\n\nLicense: MIT or Apache-2.0 as you see fit.\n","# Z80-μLM：一款复古计算微型语言模型\n\nZ80-μLM 是一款“对话式 AI”，能够逐字符生成短序列，并采用量化感知训练（QAT）技术，以便在配备 64KB 内存的 Z80 处理器上运行。\n\n该项目的出发点是这样一个问题：在保持一定个性的同时，模型还能做到多小？并且是否可以轻松地进行训练或微调？同时实现便捷的自托管部署？\n\n答案是肯定的！我们已经成功构建了一个 40KB 的 .com 可执行文件（包含推理引擎、权重以及聊天风格的用户界面），可在一台 1976 年生产的 4MHz 处理器上运行。\n\n它或许无法通过图灵测试，但也许能在绿屏前让你会心一笑。\n\n如需了解如何更好地训练自己的模型，请参阅 [TRAINING.md](TRAINING.md)。\n\n## 示例\n\n项目中包含了两个预构建的示例：\n\n### [tinychat](examples\u002Ftinychat\u002F)\n\n这是一个基于日常问答对训练的对话型聊天机器人。它能回应问候、关于自身的问题，以及一些轻松的闲聊，给出简洁而富有个性的回答。\n\n```\n> hello\nHI\n> are you a robot\nYES\n> do you dream\nMAYBE\n```\n\n### [guess](examples\u002Fguess\u002F)\n\n这是一个“二十问”游戏，模型会设定一个秘密主题，而你则通过提问来猜测。回答可能是 YES、NO 或 MAYBE。猜对即可获胜。\n\n![GUESS.COM 示例](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHarryR_z80ai_readme_cf62d56b2905.png)\n\n该示例还提供了使用 LLM（Ollama 或 Claude API）生成训练数据并平衡类别分布的工具。\n\n## 快速入门\n\n不到 5 分钟即可开始运行：\n\n**1. 下载** GitHub 发布页面上的预编译二进制文件：[GitHub Releases](..\u002F..\u002Freleases)\n\n**2. 安装模拟器：**\n\n| 平台 | CP\u002FM (.COM 文件) | ZX Spectrum (.TAP 文件) |\n|----------|-------------------|--------------------------|\n| **Linux** | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) | `apt install fuse-emulator-gtk` |\n| **Windows** | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) | [Fuse](https:\u002F\u002Ffuse-emulator.sourceforge.net\u002F) |\n| **macOS** | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) | `brew install fuse-emulator` |\n\n**3. 运行：**\n\n- **CP\u002FM**：`iz-cpm CHAT.COM`\n- **ZX Spectrum**：先运行 `fuse --tape CHAT.TAP`，然后输入 `LOAD \"\" CODE` 并执行 `RANDOMIZE USR 32768`\n\n如需从源码构建或训练自己的模型，请参阅 [TRAINING.md](TRAINING.md)。\n\n## 特性\n\n- **三元组哈希编码**：输入文本被哈希为 128 个桶——容错性强，且不受词序影响。\n- **2 位权重量化**：每个权重取值为 {-2, -1, 0, +1}，每字节打包 4 个。\n- **16 位整数推理**：所有计算均使用 Z80 原生的 16 位有符号算术。\n- **约 40KB 的 .COM 文件**：可容纳于 CP\u002FM 的临时程序区（TPA）。\n- **自回归生成**：逐字符输出文本。\n- **无浮点运算**：所有计算均为整数运算，并采用定点缩放。\n- **交互式聊天模式**：直接运行 `CHAT` 即可，无需任何参数。\n\n## 平台支持\n\nZ80-μLM 支持多种基于 Z80 的平台：\n\n- **CP\u002FM**：原始目标平台。使用 `buildz80com.py` 生成 .COM 文件。\n- **ZX Spectrum 48K**：通过 `buildz80tap.py` 提供完整支持。详情请参阅 [ZX-SPECTRUM.md](ZX-SPECTRUM.md)。\n  - 生成用于模拟器或真实硬件的 .TAP 文件。\n  - 使用 ZX Spectrum ROM 子程序进行 I\u002FO 操作。\n  - 内存针对 48K 系统进行了优化。\n  - 兼容大多数 ZX Spectrum 模拟器。\n\n对于 ZX Spectrum 构建版本，可使用示例目录中的 `run-zx.sh` 脚本，或参考 [ZX Spectrum 指南](ZX-SPECTRUM.md)。\n\n## 交互风格\n\n模型并不真正理解你的输入。然而，它却以某种方式“读懂”了你。\n\n你的输入会通过三元组编码被哈希到 128 个桶中——这是一种抽象的“标签云”表示法。模型响应的是你输入的“形状”，而非确切的词语：\n\n```\n\"hello there\"  →  [桶 23: 64, 桶 87: 32, ...]\n\"there hello\"  →  [桶 23: 64, 桶 87: 32, ...]  (相同！)\n\"helo ther\"    →  [桶 23: 32, 桶 87: 32, ...]  (相似——容错性强)\n```\n\n这种机制对于短句输入非常有效，但也存在局限性：较长或依赖词序的句子可能会因为多个概念竞争同一组桶而变得模糊。“打开门并开灯”很可能与“开开门并打开灯”难以区分。\n\n### 短小的回答，丰富的含义\n\n仅用一两句话就能传达出令人惊讶的细微差别：\n\n- `OK` —— 表示认可，态度中立。\n- `WHY?` —— 质疑你的前提。\n- `R U?` —— 抛出存在主义式的疑问。\n- `MAYBE` —— 表示真正的不确定性。\n- `AM I?` —— 将问题原封不动地抛回给你。\n\n这并不一定是缺点，而是一种不同的交互方式。简短的回答迫使你根据上下文推断含义，或者通过直接的“是\u002F否”问题来试探它是否真的理解（例如，“你是机器人吗？”、“你是人类吗？”、“我是人类吗？”等）。这些问题是经过逻辑一致处理的，模型会给出预先记忆的答案。\n\n### 适合的应用场景\n\n- 短小、多样化的输入，搭配结构化且一致的输出。\n- 模糊匹配（拼写错误、改写、词序变化）。\n- 通过词汇选择展现个性。\n- 在资源受限的 8 位硬件上运行。\n\n### 不适合的应用场景\n\n- 生成全新句子的聊天机器人。\n- 需要深度追踪多轮对话上下文的任务。\n- 理解语法的解析器。\n- 任何接近通用人工智能的功能。\n\n它虽然小巧，但却实用。而有时，这正是你需要的。\n\n## 架构\n\n- **输入**：128 个查询三元组桶 + 128 个上下文桶。\n- **隐藏层**：可配置深度和宽度，例如 256 → 192 → 128。\n- **输出**：字符集中每个字符对应一个神经元。\n- **激活函数**：隐藏层之间使用 ReLU。\n\n### 量化约束\n\nZ80 是一款 8 位 CPU，但我们利用其 16 位寄存器对（HL、DE、BC）来进行激活和累加操作。权重以每字节 4 个（每个 2 位）的形式打包，并在乘累加时解包为 8 位有符号值。\n\n16 位累加器为我们提供了数值稳定性（可以安全地累加 256 个输入而不溢出），但模型的表达能力仍然受限于 2 位权重。若不采用量化感知训练，简单的训练过程可能会导致溢出或出现“奇怪”的行为。\n\n### Z80 内层循环\n\n推理的核心是一个高效的乘累加循环。权重以每字节4个的形式打包：\n\n```z80\n; 从打包的字节中解包2位权重\nld a, (PACKED)      ; 获取打包的权重\nand 03h             ; 屏蔽低2位\nsub 2               ; 将0、1、2、3映射为-2、-1、0、+1\nld (WEIGHT), a\n\n; 循环左移以获取下一个权重\nld a, (PACKED)\nrrca\nrrca\nld (PACKED), a\n```\n\n乘累加部分处理4种可能的权重值：\n\n```z80\nMULADD:\n    or a\n    jr z, DONE       ; 权重=0：完全跳过\n    jp m, NEG        ; 权重\u003C0：减去\n    ; 权重=+1：加上激活值\n    ld hl, (ACC)\n    add hl, de\n    ld (ACC), hl\n    ret\nNEG:\n    cp 0FFh\n    jr z, NEG1       ; 权重=-1\n    ; 权重=-2：减去两次\n    ld hl, (ACC)\n    sbc hl, de\n    sbc hl, de\n    ld (ACC), hl\n    ret\nNEG1:\n    ; 权重=-1：减去一次\n    ld hl, (ACC)\n    sbc hl, de\n    ld (ACC), hl\n    ret\n```\n\n每层计算完成后，进行算术右移2位，以防止溢出：\n\n```z80\nsra h        ; 算术右移（保留符号位）\nrr l\nsra h\nrr l         ; ACC = ACC \u002F 4\n```\n\n整个神经网络就由这些步骤组成：解包权重、乘累加、移位。对于每个生成的字符，这一过程会重复约10万次。\n\n---\n\n许可证：可根据需要选择 MIT 或 Apache-2.0 许可证。","# Z80-μLM 快速上手指南\n\nZ80-μLM 是一个专为复古计算设计的微型语言模型，可在仅有 64KB 内存的 Z80 处理器（如 1976 年的 4MHz CPU）上运行。它通过量化感知训练（QAT）实现极简的对话交互，生成的二进制文件仅约 40KB。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux、Windows 或 macOS\n- **硬件**：任意现代计算机（用于运行模拟器）\n- **磁盘空间**：仅需几 MB 用于存放模拟器和二进制文件\n\n### 前置依赖\n你需要安装一个 Z80 架构的模拟器。根据你想运行的平台（CP\u002FM 或 ZX Spectrum），选择以下任一方案：\n\n| 平台 | Linux | Windows | macOS |\n| :--- | :--- | :--- | :--- |\n| **CP\u002FM** (推荐) | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) | [iz-cpm](https:\u002F\u002Fgithub.com\u002Fivanizag\u002Fiz-cpm\u002Freleases) |\n| **ZX Spectrum** | `apt install fuse-emulator-gtk` | [Fuse Emulator](https:\u002F\u002Ffuse-emulator.sourceforge.net\u002F) | `brew install fuse-emulator` |\n\n> **提示**：对于国内用户，若 GitHub 下载缓慢，可尝试使用镜像加速工具或搜索国内开源镜像站提供的 iz-cpm\u002FFuse 安装包。\n\n## 安装步骤\n\n本项目无需编译即可快速体验，请直接下载预构建的二进制文件。\n\n1. **下载程序文件**\n   访问 [GitHub Releases](..\u002F..\u002Freleases) 页面，下载最新的发布包。\n   - 若使用 CP\u002FM 模拟器，请确保包中包含 `CHAT.COM` (或 `TINYCHAT.COM`, `GUESS.COM`)。\n   - 若使用 ZX Spectrum 模拟器，请确保包中包含 `CHAT.TAP`。\n\n2. **安装模拟器**\n   - **Linux (CP\u002FM)**: 下载 `iz-cpm` 二进制文件并赋予执行权限：\n     ```bash\n     chmod +x iz-cpm\n     ```\n   - **macOS (ZX Spectrum)**:\n     ```bash\n     brew install fuse-emulator\n     ```\n   - **Windows**: 下载并解压 `iz-cpm` 或安装 `Fuse` 模拟器。\n\n3. **目录结构示例**\n   建议将下载的文件整理如下：\n   ```text\n   project-folder\u002F\n   ├── iz-cpm          (或 iz-cpm.exe)\n   └── CHAT.COM        (从 Release 下载的程序)\n   ```\n\n## 基本使用\n\n### 模式一：CP\u002FM 环境（推荐，最简洁）\n\n这是最直接的运行方式，适用于 `iz-cpm` 模拟器。\n\n1. 在终端中进入包含 `iz-cpm` 和 `CHAT.COM` 的目录。\n2. 运行以下命令启动聊天机器人：\n   ```bash\n   .\u002Fiz-cpm CHAT.COM\n   ```\n   *(Windows 用户使用 `iz-cpm.exe CHAT.COM`)*\n\n3. **交互示例**：\n   启动后，你将看到绿色的复古终端界面。输入简短的英文句子并回车：\n   ```text\n   > hello\n   HI\n   > are you a robot\n   YES\n   > do you dream\n   MAYBE\n   ```\n\n### 模式二：ZX Spectrum 环境\n\n如果你更喜欢 ZX Spectrum 的经典磁带加载体验：\n\n1. 运行模拟器并加载磁带文件：\n   ```bash\n   fuse --tape CHAT.TAP\n   ```\n2. 在模拟器界面中，依次执行以下操作（通常在模拟器启动后的黑色屏幕）：\n   - 输入命令加载代码：`LOAD \"\" CODE`\n   - 等待加载完成后，运行程序：`RANDOMIZE USR 32768`\n\n### 其他内置示例\n发布包中通常还包含其他预设模型：\n- **猜谜游戏**：运行 `GUESS.COM` 体验\"20 个问题”游戏，模型心中有一个秘密主题，你需用 Yes\u002FNo 提问来猜测。\n- **微型聊天**：运行 `TINYCHAT.COM` 体验更简练的问答风格。\n\n> **注意**：该模型基于三元组哈希编码（Trigram hash encoding），对拼写错误不敏感且忽略词序，但仅适合短句交互。它不会通过图灵测试，但能在复古硬件上提供独特的个性互动体验。","一位复古计算爱好者试图在 1976 年的 Z80 架构电脑（如 ZX Spectrum）上运行本地 AI 聊天程序，以体验纯粹的怀旧交互。\n\n### 没有 z80ai 时\n- **硬件门槛极高**：传统大语言模型需要 GB 级内存和现代 GPU，完全无法在仅有 64KB 内存的 8 位老机器上运行。\n- **开发链路断裂**：缺乏将现代 Python 训练的模型转换为 CP\u002FM .COM 二进制文件的工具链，开发者需手动重写底层汇编代码。\n- **交互体验单一**：老式电脑只能运行预设脚本或简单的关键词匹配程序，无法实现具有“性格”的动态对话反馈。\n- **资源占用过大**：即便强行移植小型模型，浮点运算需求也会瞬间撑爆老旧处理器的算力，导致系统死机。\n\n### 使用 z80ai 后\n- **极致轻量化部署**：z80ai 通过 2-bit 量化技术，将模型压缩至 40KB，完美适配 64KB 内存限制，让 AI 在 4MHz 处理器上流畅跑动。\n- **现代化训练流程**：支持直接在 Python 环境中利用 QAT 技术训练对话模型，并一键导出为老电脑可执行的 .COM 或 .TAP 文件。\n- **拟人化智能交互**：内置的 Trigram 哈希编码让模型具备容错能力和个性，能像\"tinychat\"示例那样对问候或提问做出简短有趣的回应。\n- **纯整数高效运算**：z80ai 摒弃浮点运算，全程采用 16 位整数数学，确保在无任何协处理器的古董硬件上也能实时生成字符。\n\nz80ai 的核心价值在于打破了现代 AI 与复古硬件的次元壁，让几十年前的老电脑也能拥有会“思考”的灵魂。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHarryR_z80ai_cf62d56b.png","HarryR","HaRoLd","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FHarryR_3536308f.jpg","What happens when the 'perfect-strategy' AI says: Strike Now.",null,"United Kingdom","https:\u002F\u002Fwww.logicista.com\u002F","https:\u002F\u002Fgithub.com\u002FHarryR",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,1064,46,"2026-04-03T03:23:45","Linux, Windows, macOS","不需要 GPU，专为无浮点运算的 8 位 Z80 处理器设计","最低 64KB (运行于 Z80 环境); 宿主机器仅需运行模拟器所需内存",{"notes":95,"python":96,"dependencies":97},"该工具主要运行在复古计算环境（CP\u002FM 或 ZX Spectrum）中，需通过模拟器（如 iz-cpm 或 Fuse）在现代操作系统上运行。模型本身仅占约 40KB，无需现代深度学习框架（如 PyTorch\u002FTensorFlow）。若需从头训练模型，需参考 TRAINING.md，可能涉及 Ollama 或 Claude API 生成数据。","未说明 (构建和训练脚本可能需要 Python，但运行时为二进制文件)",[98,99],"iz-cpm (CP\u002FM 模拟器)","Fuse (ZX Spectrum 模拟器)",[26,13],[102,103,104,105,106,107,108,109,110,111,112],"chatbot","code-golf","cpm","language-model","machine-learning","nlp","quantization","retro","retrocomputing","tinyml","z80","2026-03-27T02:49:30.150509","2026-04-06T05:32:15.895117",[],[117],{"id":118,"version":119,"summary_zh":120,"released_at":121},62737,"v0.2","\r\n## 变更内容\r\n* 由 @kavanFH 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F2 中修复了 README.md 中的拼写错误和格式问题。\r\n* 由 @gp48k 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F6 中实现了使用跳表优化非零权重的 Z-80 代码，从而提升速度。  \r\n* 由 @gp48k 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F8 中通过拆分值和权重索引列表，将快速 Z-80 代码的速度提升至两倍。  \r\n* 由 @Nikolay-Chumerin 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F10 中添加了 ZX Spectrum 48K 的支持。  \r\n* 由 @stevexyz 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F5 中进行了一些优化。  \r\n* 由 @HarryR 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F12 中添加了 GitHub Actions CI\u002FCD 和快速入门指南。\r\n\r\n## 新贡献者\r\n* @kavanFH 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F2 中完成了首次贡献。  \r\n* @gp48k 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F6 中完成了首次贡献。  \r\n* @Nikolay-Chumerin 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F10 中完成了首次贡献。  \r\n* @stevexyz 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F5 中完成了首次贡献。  \r\n* @HarryR 在 https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fpull\u002F12 中完成了贡献。\r\n\r\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FHarryR\u002Fz80ai\u002Fcommits\u002Fv0.2","2026-01-18T11:17:16"]