Skip to content

Jackrainman/Probe_Flash

Repository files navigation

⚡ ProbeFlash

面向嵌入式调试现场的问题闪记与知识归档系统

把“串口又乱了 / CAN 又抽风了 / 自动跑点方向不对”这种现场碎片,
整理成可追踪、可复盘、可归档的调试知识资产。


Status AI Native LAN Web Stack


一句话介绍

ProbeFlash 是一个面向嵌入式、硬件、机器人和自动化调试现场的调试问题闪记与知识归档工作台。

它围绕真实调试流程组织信息:

问题闪记 → 结构化问题卡 → 过程追记 → 结案归档 → 团队知识资产积累

当前已进入 v0.2.0:本地主路径不再是纯 window.localStorage 演示版,apps/desktop 已通过 /api HTTP adapter 接入 apps/server,后端使用 SQLite 持久化。下一阶段不优先做 AI / RAG / 权限系统 / Electron,而是把本地已验证方案部署验证为“战队局域网可访问 + 服务器长期存储”的版本。

S3 目标访问形态:同一 WiFi 下通过服务器 IP + 独立端口访问;release 模式推荐由 apps/server4100 同时服务 dist/api,本地 HTTP + SQLite release 测试已通过,真实服务器 release tarball / LAN 部署验证尚未完成。后续优先从 GitHub Release 压缩包部署,不把服务器当 git pull 开发态 checkout。


痛点来源:真实调试现场的问题

这个项目来自我在日常学习、开发和嵌入式调试中的真实痛点。

硬件调试现场的问题通常不是完整、安静、可以慢慢整理的。更多时候,它们会突然出现:

  • “串口又乱码了,但刚才好像还正常。”
  • “CAN 总线偶发丢帧,复现条件不稳定。”
  • “自动跑点方向不对,像是坐标系反了。”
  • “换了一个参数后电机抖了一下,但日志没来得及截。”
  • “这个问题以前好像遇到过,但我找不到当时怎么解决的。”

调试人员当下往往在救火:看波形、接串口、改参数、重启设备、对比代码、和队友同步现象。结果是:

现场问题 直接后果
问题记录很碎 事后无法复盘
排查过程丢失 不知道当时为什么这么判断
历史经验分散 同类 bug 反复踩坑
描述口语化 难以沉淀成团队知识
解决后不归档 经验不能复用

ProbeFlash 想解决的,就是“调试知识从现场碎片到可复用资产”的最后一公里。


我做了什么

ProbeFlash 以“调试现场的最短输入路径”为核心,做了一套面向问题闭环的工作流:

能力 说明 当前状态
⚡ 闪电启动 快速打开输入入口,适合现场随手记录 产品原型已预留入口形态
🧩 问题闪记 输入口语化、残缺的问题描述 已有 IssueCard 创建表单
🧠 结构化补全与表达优化 将碎片描述整理为结构化问题卡 Harness / Skill 规则已固化;S3 阶段暂不优先接 AI
🔍 怀疑方向整理 基于问题、仓库上下文、历史记录给出排查方向 设计已落在 debug-hypothesis Skill;S3 先做存储与服务化
📝 追加记录 排查过程中持续补充新现象、新判断、新结论 已支持 InvestigationRecord 追记
📦 归档整理 结案后生成错误表与 Markdown 归档 已支持 ArchiveDocument + ErrorEntry 生成
🗂 知识库积累 让调试记录从临时救火变成可复用资产 本地主路径已接 HTTP + SQLite;真实服务器部署待验证

核心功能

模块 功能 价值
Flash Intake 快速输入现场问题 降低记录成本
IssueCard 结构化问题卡 让问题可追踪
Investigation Timeline 排查记录时间线 保留判断变化
Hypothesis Agent 生成可能原因和验证动作 辅助定位 bug
Closeout Archive 结案生成错误表与归档文档 形成经验资产
Repo-aware Context 挂载仓库、分支、提交、相关文件 让 AI 不脱离工程上下文
Verification Gate schema 校验、读回验证、完成门 避免“看似完成”的伪闭环

典型使用流程

flowchart TD
    A[调试现场出现异常] --> B[快速输入碎片描述]
    B --> C[AI 整理为 IssueCard]
    C --> D[挂载仓库与历史上下文]
    D --> E[AI 生成可能原因与排查建议]
    E --> F[用户继续现场验证]
    F --> G{是否有新现象?}
    G -->|是| H[追加 InvestigationRecord]
    H --> E
    G -->|否| I{问题是否解决?}
    I -->|未解决| F
    I -->|已解决| J[生成 ErrorEntry]
    J --> K[生成 Markdown 归档]
    K --> L[沉淀到个人知识库]
Loading

Harness / Agent 设计

比赛要求中的 Harness / Agent 能力,是 ProbeFlash 的重点。

ProbeFlash 不是“把用户输入丢给大模型聊天”,而是把 AI 放进一个受约束、有上下文、有验证、有反馈的调试闭环中。

1. 上下文管理 / Agent Skill

ProbeFlash 将调试任务拆成多个明确阶段,每个阶段都有固定输入、输出和约束。

阶段 输入 输出 约束
Debug Intake 用户碎片描述 IssueCard 必须结构化,不直接下最终结论
Debug Hypothesis IssueCard + 仓库上下文 怀疑方向列表 每条猜测必须包含依据和验证动作
Session Update 新现象 / 新日志 / 新判断 InvestigationRecord 必须保留时间线
Debug Closeout 根因与解决方式 ErrorEntry + ArchiveDocument 必须能读回、能复用
Task Verification 产物 + 工具结果 completion gate 判断 最小验证、交接更新、commit 缺一不可

仓库中对应的规则入口:

.agents/skills/
  debug-intake/
  debug-hypothesis/
  debug-session-update/
  debug-closeout/
  repo-onboard/
  task-verification/

这些 Skill 文件让 AI 的行为有明确边界:输入是什么、输出什么结构、哪些字段不能缺、什么时候允许结案、什么时候必须继续追记。

2. Tool / CLI / Repo-aware 能力

嵌入式问题通常离不开代码仓库和历史改动。ProbeFlash 的设计目标是让 Agent 能结合本地工程上下文,而不是只依赖用户口述。

可挂载的上下文包括:

  • 当前仓库路径、分支和 HEAD commit
  • 最近 commit 与工作区改动
  • 相关源码文件
  • 历史 IssueCard / InvestigationRecord
  • 历史 ErrorEntry / ArchiveDocument
  • 用户追加的新现象和验证结论

本地工具示例:

git status --short
git log --oneline -5
git diff --stat

这些信息可以帮助 Agent 判断:最近是否改过串口、CAN、运动控制或传感器相关代码;异常更像配置问题、时序问题、初始化顺序问题,还是历史上出现过的同类问题。

3. Feedback Loop:验证与反馈循环

调试不是一次问答,而是持续修正判断的过程。

flowchart LR
    A[AI 初始猜测] --> B[用户现场验证]
    B --> C[追加新现象]
    C --> D[更新 InvestigationRecord]
    D --> E[修正怀疑方向]
    E --> F[确认根因]
    F --> G[归档 ErrorEntry]
    G --> H[沉淀历史知识]
    H --> I[影响下一次判断]
    I --> A
Loading

例如:AI 初始怀疑是波特率问题;用户追加记录发现换线后仍复现;系统记录这个验证结果;后续判断就会降低“线材问题”的优先级,转向初始化顺序、DMA 配置或总线负载。


系统架构

flowchart TB
    subgraph UI[Desktop UI Layer]
        A[Flash Input<br/>问题闪记入口]
        B[Issue Board<br/>问题卡工作区]
        C[Investigation Timeline<br/>排查记录时间线]
        D[Archive View<br/>归档与知识库]
    end

    subgraph Harness[Agent Harness Layer]
        E[Debug Intake Skill]
        F[Hypothesis Skill]
        G[Session Update Skill]
        H[Closeout Skill]
        I[Verification Gate]
    end

    subgraph Context[Context Layer]
        J[IssueCard]
        K[InvestigationRecord]
        L[ErrorEntry]
        M[ArchiveDocument]
        N[Repo Snapshot]
    end

    subgraph Tools[Tool / CLI / Local Data]
        O[Git Status]
        P[Recent Commits]
        Q[Related Files]
        R[HTTP API + SQLite]
        S[LocalStorage verify compatibility]
    end

    A --> E
    E --> J
    J --> B
    B --> F
    F --> C
    C --> G
    G --> K
    K --> H
    H --> L
    H --> M
    L --> D
    M --> D

    F --> N
    N --> O
    N --> P
    N --> Q

    J --> I
    K --> I
    L --> I
    M --> I

    R --> UI
    S -. 后续接入 .-> Tools
Loading

为什么它比普通记录工具更强

普通记录工具解决的是“写下来”。ProbeFlash 解决的是:

写得快、写得准、能追踪、能结案、能复用。

对比项 普通笔记 ProbeFlash
输入方式 手动整理 碎片输入即可
问题结构 靠用户自觉 IssueCard 结构化约束
排查过程 容易散落 InvestigationRecord 持续追记
历史复用 靠全文搜索 错误表 + 归档文档
AI 能力 可选辅助 嵌入调试闭环
工程上下文 通常没有 可挂载仓库和 Git 信息
结案能力 手动总结 自动形成经验资产

为什么它不是普通聊天机器人

AI 被流程约束

AI 不能随便回答,而是必须在指定阶段输出指定结构:

  • Intake 阶段输出 IssueCard
  • Hypothesis 阶段输出“可能原因 + 依据 + 验证动作”
  • Session Update 阶段输出 InvestigationRecord
  • Closeout 阶段输出 ErrorEntry 和 ArchiveDocument

AI 能读取工程上下文

ProbeFlash 的设计目标是让 AI 结合仓库状态、最近代码改动、历史记录和用户追记,而不是只根据当前一句话猜测。

AI 的判断会被反馈修正

ProbeFlash 的循环是:

猜测 → 验证 → 追加记录 → 修正判断 → 结案 → 进入知识库

最终归档会反过来影响下一次类似问题的判断。


训练营要求对应说明

比赛关注点 ProbeFlash 的回应
痛点发现 来自真实嵌入式调试现场:问题碎片化、排查过程易丢失、经验难复用
AI 原生 AI 参与 IssueCard、Hypothesis、Record、Archive 全流程,而不是只润色文本
Harness 设计 通过 Agent Skill、结构化模板、阶段约束、schema 校验和完成门管理 AI 行为
Tool / CLI 能力 设计支持读取 Git 状态、最近提交、相关文件、本地历史记录等上下文
Feedback Loop 通过追加记录、用户确认、结案归档反向修正 AI 判断
48 小时交付 聚焦完整产品闭环:输入、整理、猜测、追记、归档、展示
Demo 友好 可以用一个现场问题讲完整闭环,不依赖复杂配置
真实可信 当前明确标注本地 HTTP + SQLite 已完成、真实服务器部署尚未完成,Electron / fs / IPC 为后续方向

技术栈

层级 技术
当前前端 React / TypeScript / Vite
本地主路径存储 HTTP adapter + apps/server + SQLite
兼容存储 window.localStorage 仅保留为兼容 / verify 路径
S3 后端 Node HTTP API(本地已打通,服务器部署待验证)
局域网访问方向 服务器 IP + 独立端口,暂不抢占 80 端口
结构校验 zod schema
Agent Harness Skill / Prompt Template / Structured Output(S3 非当前优先)
工程上下文 Git / Repo Snapshot / Local CLI
归档形态 ErrorEntry / ArchiveDocument / Markdown

快速开始

git clone [你的仓库地址占位]
cd ProbeFlash

本地推荐一键启动后端和前端:

cd apps/server && npm install
cd ../desktop && npm install
cd ../..
./dev-start.sh

默认本地开发访问地址:

http://localhost:5173

后端默认运行在:

http://127.0.0.1:4100/api/health

S3 的交付目标不是停留在本地开发地址,而是在真实服务器上用 GitHub Release 压缩包完成独立 runtime、独立端口、Web UI、/api 与 SQLite 持久化验证;release 模式设置 PROBEFLASH_STATIC_DIR=/home/hurricane/probeflash/current/dist 后访问 http://192.168.2.2:4100//api 同端口保留。systemd 自启是 no-sudo release 验证通过后的后续步骤。该服务器部署验证尚未完成。

可选验证命令:

npm run typecheck
npm run build

项目亮点

1. 面向调试现场,而不是泛泛记录

ProbeFlash 允许用户先写碎片,再通过结构化流程整理成问题卡。

2. AI 被放进调试闭环

AI 不只负责润色文字,而是参与问题识别、怀疑方向、过程追踪和结案归档。

3. Harness 设计清晰

Skill、模板、schema 校验和完成门让 AI 行为可控、可追踪、可复用。

4. 适合个人知识库积累

每个解决过的问题都可以沉淀成下一次排查时的参考资产。

5. 48 小时内形成完整产品原型

项目优先完成可展示闭环,而不是停留在单点功能或纯概念说明。


核心创新

创新点 说明
问题闪记 适合调试现场的低成本输入
结构化 IssueCard 将口语化描述转成可追踪问题
Repo-aware AI 让 AI 结合工程上下文判断
Investigation Timeline 保留排查过程中的判断变化
Closeout Archive 把解决结果变成知识资产
Feedback Loop 让最终归档反向增强后续判断

当前限制

必须如实说明的边界:

  • v0.2.0 本地主路径已是浏览器 SPA + HTTP adapter + apps/server + SQLite;window.localStorage 仅保留为兼容 / verify 路径。
  • 真实服务器 release tarball / LAN 部署验证尚未完成;不能把本地 release 测试说成服务器部署完成。
  • release Web UI 服务方案已产品化为 apps/server 可选 PROBEFLASH_STATIC_DIR;真实服务器上仍需验证 http://192.168.2.2:4100//api/health
  • 当前不做 silent fallback;停掉 backend 后 /api 应暴露 proxy_error,而不是回落到 localStorage。
  • Electron / fs / IPC 不是 S3 当前优先路线。
  • AI / RAG / 复杂权限系统 / 复杂统计不是 S3 当前优先项。
  • AI 输出即使后续接入,也必须由用户确认,不能替代真实硬件验证。

后续迭代方向

S3 近期方向:存储迁移与服务器化

  • 已完成:本地 Node HTTP API、SQLite 主路径、HTTP storage adapter、workspace 创建、closeout / archive / error-entry 读回验证与 v0.2.0 本地 release。
  • 下一项:服务器安全部署验证,优先使用 GitHub Release tarball、SHA256SUMS.txt 校验、/home/hurricane/probeflash/releases/vX.Y.Zcurrent symlink、PROBEFLASH_STATIC_DIR=/home/hurricane/probeflash/current/distshared/data 持久目录;不以服务器 git pull 作为主部署方式。
  • 后续候选:开机自启加固、服务器路径下的数据备份 / 恢复复验、.local 或反向代理美化、AI-ready polish;这些都不属于当前 release closeout。

S3 之后的功能优化

  • 增加历史问题相似度检索。
  • 增加调试记录搜索和标签系统。
  • 支持按模块分类,例如串口、CAN、电机、传感器、自动控制。
  • 增加 Demo 数据一键导入。

S4+ 扩展功能

  • 支持团队共享知识库。
  • 支持导出 PDF / HTML 报告。
  • 接入 MCP 工具链。
  • 增加日志、截图、波形片段附件管理。
  • 增加多项目工作区。

项目定位总结

ProbeFlash 不是一个万能 AI 助手。

它更像是一个为嵌入式调试现场定制的 AI 调试记录员:

  • 当问题突然出现时,它帮你快速记下来。
  • 当描述很乱时,它帮你整理清楚。
  • 当你不知道从哪里查时,它给出怀疑方向。
  • 当排查过程变长时,它帮你保留时间线。
  • 当问题解决后,它帮你沉淀成知识资产。

让每一次调试现场的临时救火,都成为下一次更快解决问题的经验积累。


ProbeFlash — 面向嵌入式调试现场的问题闪记与知识归档系统

AI Native Debugging · Agent Harness · 48h Prototype

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors