Skip to content

MVP: 搭建面向电脑维修技术员的跨平台 CLI 修复 Agent 程序框架 #1

@TechQuery

Description

@TechQuery

Summary

构建一个面向电脑维修技术员的 CLI 工具程序框架。该工具应支持以单可执行文件形式分发,可放在 U 盘 中,在任意故障电脑上执行诊断、生成修复计划、执行修复动作与回滚操作。

MVP 阶段可优先在 Windows 上验证,但整体架构必须从一开始就面向跨平台,为未来支持 LinuxmacOS 等系统预留清晰边界。

Design Principles

  1. 面向电脑维修技术员,适合现场快速使用。
  2. 最终产物支持以单可执行文件形式分发,方便放在 U 盘中随身携带。
  3. 使用 TypeScript 6 开发,使用 PNPM 11 进行依赖管理与单可执行文件打包。
  4. 使用 Vercel AI SDK 调用 LLM。
  5. 使用 TypeORM + SQLite 进行本地状态持久化。
  6. 命令行参数解析使用 commander-jsx,并采用 JSX 写法定义 CLI。
  7. CLI 组件渲染使用主流 React/JSX 命令行渲染方案。
  8. 内部命令行调用统一使用 zx
  9. 支持全局 verbose 模式,便于调试、审计与现场排障。
  10. 每一次诊断、计划、修复、回滚都必须能够生成 Markdown 说明书,用于人类阅读、存档与审计。
  11. MVP 要优先建立系统修复的通用架构,而不是只做若干平台耦合脚本。
  12. 虽然早期可能先在 Windows 上测试,但整体设计必须支持未来扩展到 Linux / macOS 等操作系统。
  13. LLM 只能通过受控接口参与决策,不能直接获得任意命令执行权限。
  14. 核心架构需为后续的诊断、计划、执行、验证、回滚、审计、恢复能力预留统一边界。

Goal

完成整个程序的 MVP 基础框架,建立以下能力边界:

  • CLI 入口与命令组织方式
  • LLM 调用层
  • SQLite 持久化层
  • 通用诊断、计划、动作、会话、平台抽象
  • Markdown 报告生成能力
  • 跨平台适配边界
  • 最小端到端执行闭环

该 Issue 的重点是把框架骨架搭起来,而不是一次性实现所有具体修复能力。

Scope

本 Issue 应完成一个可扩展的主程序框架,至少包括:

  • 统一 CLI 入口
  • 全局配置与 verbose 机制
  • 基于 commander-jsx 的命令组织方式
  • 基于 React/JSX 的 CLI 输出组件组织方式
  • 基于 zx 的内部命令执行封装
  • 基于 Vercel AI SDK 的 LLM 调用骨架
  • 基于 TypeORM + SQLite 的本地数据层骨架
  • 通用接口设计:
    • PlatformAdapter
    • DiagnosticProvider
    • PlanGenerator
    • RepairAction
    • ActionExecutor
    • SessionStore
    • MarkdownReportRenderer
  • 平台目录结构与 Windows 首个适配层骨架
  • 至少一个最小闭环:
    • 创建 session
    • 收集基础诊断信息
    • 生成结构化计划
    • 执行一个最小 action
    • 写入 SQLite
    • 输出 Markdown 说明书

Non-goals

本 Issue 暂不要求:

  • 完整 GUI
  • 完整跨平台实现
  • 大规模修复动作库
  • 所有系统修改的完整回滚实现
  • 复杂多 Agent 协作
  • 驱动、引导、更新组件等高风险场景支持
  • 细化到各具体模块和子系统的实现任务

Acceptance Criteria

  • 已建立面向 MVP 的主程序目录结构与核心分层
  • 已提供基于 commander-jsx 的 CLI 主入口
  • 已提供基于 React/JSX 的 CLI 渲染组织方式
  • 已提供基于 zx 的统一命令执行封装
  • 已支持全局 --verbose 模式
  • 已接入 Vercel AI SDK 的调用骨架
  • 已接入 TypeORM + SQLite 的数据层骨架
  • 已定义通用的 diagnostics / planning / action / session / platform 抽象接口
  • 已提供 Windows 首个适配层骨架,同时为 Linux / macOS 预留结构
  • 已支持为诊断、计划、修复、回滚生成 Markdown 说明书
  • 已跑通一个最小端到端流程,证明整体框架可用

Notes

这个 Issue 的目标是先建立整个程序框架,确保技术路线、分层方式和扩展边界正确。
后续各模块、各平台、各动作类型的细化开发,可以在此基础上继续拆分为独立 issue。

Metadata

Metadata

Labels

No labels
No labels
No fields configured for Feature.

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions