作为项目入口,说明仓库当前状态与导航路径。
- 状态:v0.2 实现中(CLI 基线可运行)
- 设计阶段:已冻结
- 实现阶段:进行中(source/update 主链路已打通)
- 项目名:Synora
- 类型:AI 驱动的软件操作系统管理器(Draft)
- 当前约束:仅搭建文档与目录,不进入详细设计
- Synora 终极愿景:
Windows 的 Raycast + Homebrew + AI 安全编排层。 - 主线 1(入口层):全局搜索即操作(Raycast 风格)。
- 主线 2(供给层):公共/个人软件仓库 +
software.yaml(Homebrew 风格)。 - 主线 3(控制层):AI 建议 + 安全门禁 + 全链路审计(Synora 差异化)。
- 读者可快速定位所有核心文档
- 明确当前不包含最终架构/接口结论
- 项目一句话定位:
Synora 是 AI 驱动的软件操作系统管理器(Local-first + 安全门禁 + 审计可追溯)。 - 首个冻结范围:
架构 + API 契约 + 数据模型三件套先冻结,其余设计按冻结清单分批完成。
Synora 是一个本地优先、AI 驱动的软件操作系统管理器,目标是将“软件发现、来源补链、下载校验、安装更新、风险控制、审计追溯”统一到一个可控流程中。
- 语言与运行时:Rust(CLI-first,后续扩展桌面端)
- 数据存储:SQLite(本地审计与状态存储)
- 配置与仓库:JSON + YAML(
software.yaml) - 系统集成:Windows Registry / winget(MVP)
- AI 接入:Provider 抽象层(本地优先,可切换)
- 运行
cargo check。 - 初始化:
cargo run -- config init --json。 - 扫描入库:
cargo run -- software discover scan --json。 - 来源建议:
cargo run -- source suggest --json --limit 20。 - 完整回归:见
docs/CLI_SMOKE_TESTS.md。
仓库已提供最小 UI 原型:ui/(静态 HTML/CSS/JS)。
当前已接入 TailwindCSS(CDN 方式),无需额外前端构建步骤。
本地打开方式(任选其一):
- 直接打开
ui/index.html - 在仓库根目录执行
python -m http.server 8080,然后访问http://localhost:8080/ui/ - Live 模式(可直接调用 CLI):
python scripts/ui_dev_server.py- 访问
http://127.0.0.1:8787/
使用方式:
- 输入关键词后点击
实时搜索(支持回车),或使用下方常用关键词快捷按钮。 - 前台提供“快捷操作”按钮(更新检测、发现、仓库同步、AI 分析/建议/修复方案),点击后由后端 API 执行。
- 结果卡片直接点击
执行,高风险动作会弹确认框。 - 设置项(安全策略、调度、worker 等)放在
设置面板,默认不打扰主流程。 - 支持
中文 / EN一键切换(localStorage 持久化)。 - 前端不展示命令行字符串,所有操作均通过后端 API 完成。
- JSON 手动渲染能力在“高级(开发调试)”折叠区。
config
config initconfig gate-showconfig gate-setconfig gate-history
software
software discover scansoftware list
source
source suggestsource reviewsource review-bulksource listsource apply-approvedsource registry-listsource registry-disablesource registry-enable
update
update checkupdate apply(--confirm需--execution-ticket)update history
ai
ai analyze(plan-only)ai recommend(plan-only)ai repair-plan(plan-only,不触发真实变更)
ui
ui search(聚合只读搜索入口)ui action-run(高风险动作需--confirm)
job
job submitjob listjob retryjob deadletter-listjob replay-deadletter
cleanup
cleanup apply(--confirm需--execution-ticket)cleanup history
docs/:产品、架构、接口、数据模型与策略草案decisions/:ADR 与关键架构决策记录logs/:开发与冻结过程日志src/:实现代码(当前不作为本轮设计主焦点)
- 当文档目录或阶段变化时必须同步更新。
- 仅记录已确认信息,不写推测性结论。