ORTODOX1/arc-computer

GitHub: ORTODOX1/arc-computer

离线 AI 工程助手,利用本地知识图谱将废旧电子产品转化为实用工具,支持反向物料清单求解、视觉零件识别和完整构建计划生成。

Stars: 0 | Forks: 0

# ARC.computer ### 离线 AI 工程师。将废旧电子产品转化为实用工具。 **无需网络。无需云服务。无需订阅。** [快速入门](#quickstart) · [架构](#architecture) · [路线图](#roadmap) · [Русский](README.ru.md)
[![License: Apache 2.0](https://img.shields.io/badge/Code-Apache%202.0-blue.svg)](LICENSE) [![License: CC BY 4.0](https://img.shields.io/badge/KB-CC--BY--4.0-green.svg)](LICENSE-KB) [![License: MIT](https://img.shields.io/badge/Adapters-MIT-orange.svg)](LICENSE-ADAPTERS) [![Python 3.13+](https://img.shields.io/badge/python-3.13+-blue.svg)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.115-009688.svg)](https://fastapi.tiangolo.com/) [![Status: Alpha](https://img.shields.io/badge/status-alpha-orange.svg)]() [![GitHub stars](https://img.shields.io/github/stars/ORTODOX1/arc-computer?style=flat&color=yellow)](https://github.com/ORTODOX1/arc-computer/stargazers) [![GitHub issues](https://img.shields.io/github/issues/ORTODOX1/arc-computer)](https://github.com/ORTODOX1/arc-computer/issues)
## 问题所在 每一个“针对硬件的 AI”工具都在告诉你去**买**什么。ChatGPT 会胡编乱造 零件。Wikipedia 支持离线使用但无法推理。你的旧电气工程书籍塞不进背包。 没有什么工具能告诉你,如何利用**已有**的东西来**创造**。 ## 工作原理 ``` ┌──────────────────────────┐ │ "I have 3 broken HP │ │ printers, a microwave, │ │ an ATX PSU. I want a │ │ 10-zone irrigation." │ └────────────┬─────────────┘ │ ▼ ┌──────────────────────────┐ │ ARC reverse-BOM │ │ ┌────────────────────┐ │ │ │ 78,869 records │ │ │ │ KB (offline) │ │ │ └────────────────────┘ │ └────────────┬─────────────┘ │ ▼ ┌──────────────────────────┐ │ Working plan: │ │ • BOM with sources │ │ • Teardown checklist │ │ • Schematic (ASCII) │ │ • Firmware (.ino) │ │ • Calibration steps │ │ • Safety warnings │ └──────────────────────────┘ ``` ## 三种模式 1. **Reverse-BOM** — *“我有 X,想要 Y”* → solver 从你的废料堆中挑选组件,并返回一份完整的构建计划。 2. **Forward-BOM** — *“我想要 Y”* → solver 返回 BOM,并告诉你哪些家用电器通常包含这些零件。 3. **Discovery** — *“我有 X”* → solver 根据你描述的库存,返回 5 个可构建的项目。 ## 横向对比 | | ChatGPT | Kiwix / NOMAD offline | **ARC** | |---|:---:|:---:|:---:| | Offline-first | ❌ | ✓ | ✓ | | Reverse-BOM (废件 → 项目) | 胡编乱造 | ❌ | ✓ | | 库存匹配 | ❌ | ❌ | ✓ | | 约束生成 (无虚假零件) | ❌ | ❌ | ✓ | | 可配置固件基因组 | ❌ | ❌ | ✓ | | 替代关系图 (无零件 X → 使用 Y) | ❌ | ❌ | ✓ | | 视觉盘点 (照片 → 列表) | 部分 | ❌ | ✓ | ## 知识库 结构化离线知识图谱,约 78k 条记录,压缩后约 50 MB。 | 集合 | 记录数 | |---|---:| | 组件 (规范) | 55,414 | | 替代品 (链式) | 10,000 | | 设备 (拆解模式) | 5,000+ | | 材料 (DIY 配方) | 1,242 | | 工具 (含废旧件制作路径) | 716 | | 安全配置 | 500 | | 现象 (面向 solver 的物理学原理) | 301 | | 技能 (含前置条件) | 203 | | 目标 (顶层目标) | 50 | | 区域配置 (市电 / 无线电频段 / 等) | 50 | | 固件基因组 (可配置模板) | 40 | | 项目 (配方) | 1,225+ | | **总计** | **~78,869** | 知识库通过 **GitHub Releases 发布**,而不是 git——详见 [快速入门](#quickstart)。 ## 快速入门 ``` git clone https://github.com/ORTODOX1/arc-computer.git cd arc-computer # 1. 启动 dev server bash scripts/local_dev.sh # 2. 拉取 KB tarball (~50 MB) curl -fsSL https://github.com/ORTODOX1/arc-computer/releases/latest/download/arc-kb.tar.zst -o /tmp/kb.tar.zst mkdir -p kb/output tar --use-compress-program=zstd -xf /tmp/kb.tar.zst -C kb/output/ # 3. 验证 curl http://127.0.0.1:8181/health curl http://127.0.0.1:8181/kb/stats | jq # 4. 打开 UI xdg-open http://127.0.0.1:8181/ ``` ## 技术栈 - **Backend** — FastAPI · Pydantic v2 · httpx async - **Frontend** — htmx · Jinja2 · minimal JS - **AI runtime** — DeepSeek V4 Pro (兼容 Anthropic 的 endpoint) · OpenAI · Anthropic - **Vision** — Replicate Qwen2-VL-7B (首选) + OpenAI GPT vision (备选) - **KB** — 内存 CDPO Pydantic models · 磁盘 JSON · Qdrant 延迟至 v2 - **Validation** — schema · 交叉引用 · 防偷懒正则表达式 · 通过 `simavr` / `avr-gcc` / `arm-none-eabi-gcc` 编译固件 - **Deploy** — Docker → Fly.io ## 系统架构 ``` arc-computer/ ├── README.md you are here │ ├── product/ │ └── server/ FastAPI runtime │ ├── main.py │ ├── api/routes.py / · /app · /solve · /health · /kb/stats │ ├── vision/client.py Replicate + OpenAI fallback │ ├── solver/engine.py Anthropic-compatible client + RAG │ ├── kb/ CDPO loaders + indices │ ├── templates/ Jinja2 (landing + solver UI) │ └── tests/ pytest │ ├── kb/ │ ├── STRATEGY.md two-zone storage plan │ ├── pipeline/ │ │ ├── schemas/cdpo.py canonical Pydantic data model │ │ ├── extractors/ LLM extraction adapters + prompts │ │ └── scripts/ scrapers, validators, packagers │ └── output/ generated KB (gitignored, distributed via Releases) │ ├── docs/ deployment + firmware validation guides └── scripts/ bootstrap + dev + deploy helpers ``` ## 文档 | 文档 | 内容 | |---|---| | [`kb/STRATEGY.md`](kb/STRATEGY.md) | KB 存储分层 (设备热数据区,开发磁盘冷数据区) | | [`docs/DEPLOYMENT.md`](docs/DEPLOYMENT.md) | Fly.io 设置,部署脚本,回滚 | | [`docs/FIRMWARE-VALIDATION.md`](docs/FIRMWARE-VALIDATION.md) | `simavr` / `qemu` / `avr-gcc` 设置 | ## 路线图 - [x] **v0.1 alpha** — 服务器脚手架,KB 验证流水线,OSS 产物 - [ ] **v0.1 launch** — Fly.io 部署,公开发布 - [ ] **v0.2** — 高级内容包 (Marine, HAM, Homestead, 3D-printer salvage) - [ ] **v0.3** — 预装 KB 的 Raspberry Pi 5 硬件套件,Mesh 联邦,视觉盘点 v2 - [ ] **v1.0** — 多语言 KB,设备间 Mesh 通信 ## 目标受众 ARC 是为那些已经习惯自己动手制作东西的人而构建的: - 🏡 离网自给自足者 (美国 / 欧盟 / 澳大利亚 / 加拿大乡村地区) - ⛵ 航海者与常住船民 - 🛠️ 偏远地区工程师和维修店 - 📰 现场非政府组织工作人员、记者、探险队成员 - 🌱 自力更生 / 自给自足社区 - 🔌 Maker 爱好者和硬件创客 ## 许可证 | 范围 | 许可证 | 文件 | |---|---|---| | 代码 (服务器, solver, 验证器) | Apache-2.0 | [`LICENSE`](LICENSE) | | 知识库内容 | CC-BY-4.0 | [`LICENSE-KB`](LICENSE-KB) | | Adapters 和 scrapers | MIT | [`LICENSE-ADAPTERS`](LICENSE-ADAPTERS) | KB JSON 文件中每条记录的出处元数据均标明了上游来源 (iFixit 内容基于 CC-BY-NC-SA,制造商数据手册等)——在重新分发时请遵守 上游许可证。 ## 保持联系 - **Issues** — 在 [GitHub](https://github.com/ORTODOX1/arc-computer/issues) 上提出 - **Discussions** — [GitHub Discussions](https://github.com/ORTODOX1/arc-computer/discussions)
标签:AV绕过, FastAPI, Python 3.13, Ruby, 创客, 废件改造, 开源硬件, 无网络环境, 替代零件匹配, 本地部署, 电子垃圾再利用, 电子设计自动化, 电路设计, 知识库, 硬件工程, 硬件推理引擎, 硬件替代方案, 硬件逆向工程, 离线AI, 离线工具, 离线推理, 系统架构, 维修与再制造, 自动化设计, 请求拦截, 资源受限环境, 边缘计算, 逆向BOM求解器, 逆向工具