ORTODOX1/arc-computer
GitHub: ORTODOX1/arc-computer
离线 AI 工程助手,利用本地知识图谱将废旧电子产品转化为实用工具,支持反向物料清单求解、视觉零件识别和完整构建计划生成。
Stars: 0 | Forks: 0
# ARC.computer
### 离线 AI 工程师。将废旧电子产品转化为实用工具。
**无需网络。无需云服务。无需订阅。**
[快速入门](#quickstart) ·
[架构](#architecture) ·
[路线图](#roadmap) ·
[Русский](README.ru.md)
[](LICENSE) [](LICENSE-KB) [](LICENSE-ADAPTERS) [](https://www.python.org/) [](https://fastapi.tiangolo.com/) []() [](https://github.com/ORTODOX1/arc-computer/stargazers) [](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)[](LICENSE) [](LICENSE-KB) [](LICENSE-ADAPTERS) [](https://www.python.org/) [](https://fastapi.tiangolo.com/) []() [](https://github.com/ORTODOX1/arc-computer/stargazers) [](https://github.com/ORTODOX1/arc-computer/issues)
标签:AV绕过, FastAPI, Python 3.13, Ruby, 创客, 废件改造, 开源硬件, 无网络环境, 替代零件匹配, 本地部署, 电子垃圾再利用, 电子设计自动化, 电路设计, 知识库, 硬件工程, 硬件推理引擎, 硬件替代方案, 硬件逆向工程, 离线AI, 离线工具, 离线推理, 系统架构, 维修与再制造, 自动化设计, 请求拦截, 资源受限环境, 边缘计算, 逆向BOM求解器, 逆向工具