{
  "added_at": "2026-11-03",
  "additional_evidence_urls": [
    "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/AGENTS.md",
    "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/docs/BOM.md",
    "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/docs/safety.md",
    "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/autoprober/safety.py",
    "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/apps/calibrate.py",
    "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/apps/dashboard.py",
    "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/pyproject.toml",
    "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/LICENSE"
  ],
  "category": "agent-workflows",
  "description_en": "Flying-probe control stack meant to let a coding agent or an operator take a circuit board on a GRBL 3018-style CNC from locating it on the plate, through XYZ-tagged USB-microscope frames and an annotated map of pads, pins and chips, to probing targets the operator has approved. Python wrappers, a Flask dashboard and AGENTS.md safety rules run every move under an oscilloscope-monitored optical endstop that triggers feed hold and a STOP state with no automatic recovery. The published code covers device control, camera-to-motion calibration and map and probe-candidate review; the README presents locating, stitching and annotating the board as agent tasks.",
  "description_zh": "飞针探测控制套件，旨在让编程智能体或操作员在 GRBL 3018 型 CNC 上处理电路板：先在平台上定位电路板，再拍摄带 XYZ 坐标的 USB 显微镜画面并生成标注焊盘、引脚和芯片的地图，最后探测经操作员批准的目标点。Python 封装、Flask 仪表盘和 AGENTS.md 安全规则让每次移动都处于示波器监测的光电限位之下，一旦触发即暂停进给并进入 STOP 状态，不会自动恢复。公开的代码涵盖设备控制、相机与运动的标定，以及地图和探测候选点的审核；README 把定位、拼接和标注电路板描述为智能体的任务。",
  "entry_url": "https://awesomerea.org/resources/autoprober/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/autoprober/",
  "evidence_url": "https://github.com/GainSec/AutoProber/blob/ff0e01fe556c7e183d46462dbc1ebce7b6a10e74/README.md",
  "group": "agents",
  "id": "autoprober",
  "json_url": "https://awesomerea.org/resources/autoprober/record.json",
  "kind": "integration",
  "markdown_url": "https://awesomerea.org/resources/autoprober/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/autoprober/index.md",
  "name": "AutoProber",
  "name_zh": "AutoProber 飞针探测自动化套件",
  "record_type": "resource",
  "relationship": "independent-agent-integration",
  "requirements": [
    "README calls the reviewed commit ff0e01f (\"1st Release\", 2026-04-16) a source-available release candidate; pyproject.toml declares version 0.1.0, no releases are published, and the RELEASE_MANIFEST.md the README cites is not in the repository. There have been no commits since.",
    "The tested hardware is a GRBL-compatible 3018-style CNC over USB serial, a UVC USB microscope served by mjpg_streamer, a Siglent oscilloscope over LAN/SCPI (Channel 4 for the optical endstop, Channel 1 for pogo-probe measurement), an optical endstop on an external 5 V supply, an optional Matter power strip controlled through chip-tool, and the 3D-printed toolhead parts in cad/. docs/BOM.md lists the parts.",
    "Runs on a Linux control host with Python 3.8+ via uv; pyproject.toml declares only Flask and pyserial, while the calibration script also imports OpenCV. Lab hosts, ports and paths come from environment variables in the example config. README says calibration must be generated on the machine that moves and the microscope-to-probe offset measured before real probing, and that the dashboard must not be exposed to untrusted networks. No automated tests are published.",
    "Works with whatever agent the operator uses: README has it ingest the project and drive the dashboard or Python scripts, and AGENTS.md sets the safety rules; no MCP server or specific agent is bundled. README limits use to equipment and targets the user is authorized to test.",
    "PolyForm Noncommercial 1.0.0 with a required copyright notice for GainSec; commercial use needs a separate paid license."
  ],
  "requirements_zh": [
    "README 称所审阅的提交 ff0e01f（“1st Release”，2026-04-16）是源码可见的候选发布版；pyproject.toml 声明版本 0.1.0，项目未发布正式版本，README 引用的 RELEASE_MANIFEST.md 也不在仓库中。此后再无新提交。",
    "经测试的硬件包括：经 USB 串口连接的 GRBL 兼容 3018 型 CNC、由 mjpg_streamer 提供画面的 UVC USB 显微镜、经局域网 SCPI 连接的 Siglent 示波器（通道 4 接光电限位，通道 1 用于弹簧探针测量）、由外部 5 V 电源供电的光电限位、可选的通过 chip-tool 控制的 Matter 电源插排，以及 cad/ 中的 3D 打印探头部件。docs/BOM.md 列出了所需部件。",
    "运行于 Linux 控制主机，经 uv 使用 Python 3.8+；pyproject.toml 只声明 Flask 和 pyserial，而标定脚本还导入了 OpenCV。实验室主机、端口和路径通过示例配置中的环境变量设置。README 称标定数据必须在实际运动的机器上生成，真正探测前须测量显微镜与探针的偏移，且仪表盘不得暴露于不可信网络。项目未公开自动化测试。",
    "可配合操作者选用的任意智能体：README 让智能体读取整个项目并操作仪表盘或 Python 脚本，安全规则由 AGENTS.md 规定；未附带 MCP 服务器或特定智能体。README 限定只能用于使用者获授权测试的设备和目标。",
    "采用 PolyForm Noncommercial 1.0.0 许可证，须保留 GainSec 版权声明；商业使用需另购付费许可。"
  ],
  "targets": [
    "firmware"
  ],
  "url": "https://github.com/GainSec/AutoProber",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
