1- # NOVA AgentOS
1+ <p align =" center " >
2+ <img src =" assets/branding/nova-github-banner.svg " alt =" NOVA AgentOS " width =" 100% " />
3+ </p >
24
3- ![ NOVA icon] ( assets/branding/nova-agentos-icon-concept-v1.png )
5+ <p align =" center " >
6+ <strong >把目标变成可验证的成果,而不只是生成一段回答。</strong >
7+ </p >
48
5- NOVA 是一个本地优先、证据优先、由用户控制的桌面 AgentOS。它不只生成回答,而是把目标转换为可执行任务,在明确的工作区、权限和预算边界内调用模型与工具,并用真实文件、测试结果和可追溯证据判断任务是否完成。
9+ <p align =" center " >
10+ 本地优先 · 证据优先 · 用户控制 · 可扩展桌面执行
11+ </p >
612
7- > 当前版本:` 1.0.0 `
8- > 当前状态:首个 1.0 桌面基线。安装包未签名,自动更新默认关闭。
13+ <p align =" center " >
14+ <a href =" https://github.com/binzi1989/Nova/actions/workflows/ci.yml " ><img alt =" CI " src =" https://github.com/binzi1989/Nova/actions/workflows/ci.yml/badge.svg " /></a >
15+ <a href =" https://github.com/binzi1989/Nova/releases " ><img alt =" Release " src =" https://img.shields.io/github/v/release/binzi1989/Nova?include_prereleases&label=release " /></a >
16+ <img alt =" Windows " src =" https://img.shields.io/badge/Windows-10%2F11-2f3337 " />
17+ <img alt =" macOS " src =" https://img.shields.io/badge/macOS-13%2B-2f3337 " />
18+ <img alt =" .NET " src =" https://img.shields.io/badge/.NET-8-512BD4 " />
19+ <img alt =" Electron " src =" https://img.shields.io/badge/Electron-React-47848F " />
20+ </p >
921
10- ## 为什么需要 NOVA
22+ > [ !IMPORTANT]
23+ > 当前稳定基线为 ` 1.0.3 ` 。安装包尚未签名,自动更新默认关闭;最新可下载版本请以 [ GitHub Releases] ( https://github.com/binzi1989/Nova/releases ) 为准。
1124
12- 传统 AI 助手经常停留在“给出代码或建议”,但没有解决以下问题:
25+ ## NOVA 是什么
1326
14- - 是否真的创建或修改了文件;
15- - 是否运行了构建与测试;
16- - 多 Agent 是否越权或重复消耗预算;
17- - 应用崩溃后能否从安全点继续;
18- - 工作区变化后,旧证据是否仍然有效;
19- - 用户是否能看见任务计划、权限、状态和交付物。
27+ NOVA 是一款面向 PC 的桌面 AgentOS。它把用户给出的目标编排为任务计划,在明确的工作区、权限和预算边界内调用模型、工具与子 Agent,最终用真实文件、构建测试和证据账本判断任务是否完成。
2028
21- NOVA 把这些问题统一到一条执行链:
29+ 它不是“把聊天窗口做得更复杂”,而是在补齐 AI 从回答到交付之间缺失的执行层。
2230
23- ``` text
24- 目标
25- → Mission Charter
26- → 任务图
27- → 权限与预算治理
28- → 模型 / 工具 / Agent 执行
29- → 独立验证
30- → PROVEN / PARTIAL / BLOCKED
31- ```
31+ | 普通 AI 对话 | NOVA AgentOS |
32+ | ---| ---|
33+ | 输出文字或代码片段 | 在授权工作区中真实创建、修改并验证文件 |
34+ | 对执行过程缺少统一真值 | 计划、权限、预算、进度与交付来自同一任务状态 |
35+ | 模型声称“已经完成” | 通过 Proof-of-Done 给出 ` PROVEN ` / ` PARTIAL ` / ` BLOCKED ` |
36+ | 能力被单一模型或封闭工具链限制 | 支持多模型、MCP、Skills、SSH 与自定义端点 |
37+ | 中断后容易丢失工作 | 保存检查点、上下文、证据与可恢复状态 |
38+
39+ ## 核心能力
40+
41+ - ** 真实执行** :受控文件读写、Patch、搜索、构建、测试和有限命令执行。
42+ - ** 多轮任务脉络** :Threadspace 保存意图、附件、关键上下文、任务计划与历史成果。
43+ - ** 多模型运行时** :支持 OpenAI、DeepSeek、Kimi、Ollama 及 OpenAI-compatible 自定义端点。
44+ - ** Agent 协作** :Agent Mesh、并行研究、隔离 Worktree 候选方案与独立 Council 审查。
45+ - ** 权限与预算治理** :低风险操作可按轮合并授权,高风险操作逐次确认,预算在安全点收口。
46+ - ** 可信交付** :交付物、验证结果、证据来源和未完成边界在同一结果页呈现。
47+ - ** 恢复能力** :任务暂停、取消、归档、崩溃恢复和副作用幂等。
48+ - ** 扩展坞** :MCP、Skills、SSH、云开发、自定义模型与组件接口统一治理。
3249
33- ## 当前能力
50+ ## 一次任务如何完成
51+
52+ ``` mermaid
53+ flowchart LR
54+ Goal["用户目标"] --> Charter["Mission Charter"]
55+ Charter --> Plan["可见任务计划"]
56+ Plan --> Gate["权限与预算"]
57+ Gate --> Execute["模型 / 工具 / Agent 执行"]
58+ Execute --> Verify["独立验证"]
59+ Verify --> Result["PROVEN / PARTIAL / BLOCKED"]
60+ ```
3461
35- - 全屏多轮 Threadspace,支持 Markdown、代码块、表格、附件与交互选项;
36- - Ask、Plan、Build、Autopilot、Goal 五种任务模式;
37- - OpenAI、DeepSeek、Kimi、Ollama 与 OpenAI-compatible 自定义端点;
38- - 可选双模型复核:主模型执行,另一不同来源模型以全新只读上下文独立审查;
39- - 受控文件读写、搜索、Patch、构建、测试和有限命令执行;
40- - MCP stdio / Streamable HTTP、Skills、SSH 与云开发扩展入口;
41- - Agent Mesh、并行研究、Worktree Tournament 与独立 Council 审查;
42- - Mission Charter、Proof-of-Done、证据账本和状态真值;
43- - Electron 可信交付门:需要改工程却没有真实写入或验证时标记 PARTIAL,不冒充完成;
44- - 持久任务、归档、暂停、取消、安全恢复与副作用幂等;
45- - 插件式自进化实验:默认关闭、预算受限、不暴露或修改核心源码。
62+ NOVA 不把“过程很热闹”当成成功。需要修改工程却没有真实落盘,或没有足够验证证据时,任务不会被标记为完整交付。
4663
47- ## 架构
64+ ## 技术架构
4865
4966``` mermaid
5067flowchart LR
51- UI["Electron / React Desktop Shell "]
68+ UI["Electron + React Desktop"]
5269 Bridge[".NET 8 AgentOS Bridge"]
53- Kernel["AgentOS Kernel & Supervisor"]
70+ Kernel["Kernel + Supervisor"]
5471 Fabric["Model / Tool / MCP / Skill Fabric"]
5572 Truth["Workspace / Journal / Evidence"]
5673
@@ -59,116 +76,97 @@ flowchart LR
5976 Fabric --> Truth
6077```
6178
62- 当前 Electron 是 Windows 与 macOS 共用的主要交互壳,复用同一套跨平台 ` .NET 8 ` AgentOS Bridge/Core。仓库仍保留成熟的 WPF Windows 实现和早期 Avalonia Mac Preview,作为迁移与回归参考 。
79+ Electron 是 Windows 与 macOS 共用的主要交互壳,复用跨平台 ` .NET 8 ` AgentOS Bridge/Core。仓库保留 WPF Windows 实现与早期 Avalonia Mac Preview,作为迁移和回归参考 。
6380
6481## 快速开始
6582
66- ### 环境
83+ ### 环境要求
6784
6885- Windows 10/11 x64,或 macOS 13+
6986- .NET 8 SDK
7087- Node.js 20+
7188- PowerShell 7 或 Windows PowerShell 5.1
7289
73- ### 构建 Electron 桌面壳
90+ ### 本地构建
7491
7592``` powershell
76- cd NovaDesktop.Electron
93+ git clone https://github.com/binzi1989/Nova.git
94+ cd Nova/NovaDesktop.Electron
7795npm ci
7896npm run build
7997```
8098
81- 在 macOS 上构建 Apple Silicon 与 Intel 发布包:
82-
83- ``` bash
84- cd NovaDesktop.Electron
85- npm ci
86- npm run package:mac
87- ```
88-
8999### 启动开发环境
90100
91101``` powershell
92102cd NovaDesktop.Electron
93103npm run dev
94104```
95105
96- ### 运行 AgentOS 自动烟雾测试
106+ ### 验证 AgentOS 与 Bridge
97107
98108``` powershell
99109dotnet run --project NovaDesktop.SmokeTests/NovaDesktop.SmokeTests.csproj
100- ```
101110
102- ### 验证 Electron 与 .NET Bridge
103-
104- ``` powershell
105111cd NovaDesktop.Electron
106112npm run smoke:bridge
107113```
108114
115+ macOS 构建说明见 [ Mac 路线图] ( NOVA-MAC-ROADMAP.md ) 。
116+
109117## 模型与密钥
110118
111- NOVA 不在仓库中保存模型密钥。桌面端支持仅在当前进程内存中使用密钥,也可由 Windows Credential Manager 或以下环境变量提供 :
119+ NOVA 不在仓库中保存模型密钥。桌面端可仅在当前进程内存中使用密钥,也支持 Windows Credential Manager 和以下环境变量 :
112120
113121- ` OPENAI_API_KEY `
114122- ` DEEPSEEK_API_KEY `
115123- ` MOONSHOT_API_KEY `
116124
117- Ollama 与自定义兼容端点可配置 Base URL。本地和局域网地址允许 HTTP;远程端点默认要求 HTTPS。
118-
119- ## 安全边界
120-
121- - 所有写入必须位于用户选择的工作区内;
122- - 低风险同类操作可以按轮次合并授权,高风险操作必须逐次确认;
123- - MCP 启动、桌面控制、计划任务和额外模型成本具有独立审批边界;
124- - Agent Mesh 子 Agent 默认只读,并在隔离 Worktree 中产生候选 Patch;
125- - 日志、崩溃报告和证据账本会对常见 API Key 与 Bearer Token 模式脱敏;
126- - 达到预算上限时,任务在下一个安全点停止,不把预算耗尽伪装成完成。
127-
128- 更详细的安全报告方式见 [ SECURITY.md] ( SECURITY.md ) 。
125+ Ollama 与兼容端点可以配置 Base URL。本地和局域网地址允许 HTTP;远程端点默认要求 HTTPS。
129126
130127## 平台状态
131128
132129| 平台 | 状态 | 说明 |
133130| ---| ---| ---|
134131| Windows Electron x64 | 主体验 Preview | 连接 .NET 8 AgentOS Bridge/Core |
135- | Windows WPF x64 | 成熟参考实现 | 功能较完整,保留用于服务与迁移验证 |
136- | macOS Electron arm64 / x64 | 同步体验 Preview | 与 Windows 共用 Electron UI 和 AgentOS Bridge/Core;未签名、未公证,Windows 专属桌面控制能力除外 |
132+ | Windows WPF x64 | 成熟参考实现 | 保留用于功能迁移与回归验证 |
133+ | macOS Electron arm64 / x64 | 同步体验 Preview | 共用 Electron UI 与核心;尚未签名、公证 |
137134
138- ## 项目结构
135+ ## 安全与可信边界
139136
140- | 目录 | 作用 |
141- | ---| ---|
142- | ` NovaDesktop.Electron ` | Electron / React 桌面壳 |
143- | ` Nova.AgentOS.Bridge ` | Electron 与 .NET AgentOS IPC 桥 |
144- | ` NovaDesktop ` | WPF 壳与主要服务实现 |
145- | ` Nova.AgentOS ` | Kernel、Supervisor、任务图和治理模型 |
146- | ` Nova.Core ` | 跨平台基础模型与 Provider 协议 |
147- | ` NovaDesktop.Mac ` | 早期 Avalonia Mac Preview,保留用于迁移参考 |
148- | ` NovaDesktop.SmokeTests ` | AgentOS 自动烟雾测试 |
149- | ` ga ` / ` tools ` | GA 基准、验证和发布工具 |
150-
151- ## 1.0 发布边界
137+ - 所有写入必须位于用户选择的工作区内;
138+ - MCP 启动、桌面控制、计划任务和额外模型成本具有独立审批边界;
139+ - Agent Mesh 子 Agent 默认只读,在隔离 Worktree 中产出候选 Patch;
140+ - 日志、崩溃报告和证据账本对常见 API Key 与 Bearer Token 模式脱敏;
141+ - 达到预算上限时在安全点停止,不把预算耗尽伪装成完成。
152142
153- 1.0 不以功能数量为准,而以“每次显示完成时,都能找到真实文件、验证结果和可追溯证据”为准。当前剩余主要阻断项:
143+ 安全问题请遵循 [ Security Policy ] ( SECURITY.md ) ,不要在公开 Issue 中提交密钥、私有工作区内容或可直接利用的漏洞细节。
154144
155- - 30 项固定任务各运行 3 次的真实端到端基准;
156- - Truthful UX、键盘可访问性、最大化与高 DPI 人工验收;
157- - Windows 主程序与安装器 Authenticode 签名;
158- - 真实 HTTPS 更新源、SHA-256 和签名发布清单;
159- - Electron / WPF 正式主线与 Mac 功能对等范围冻结。
145+ ## 文档导航
160146
161- 参见:
147+ | 文档 | 用途 |
148+ | ---| ---|
149+ | [ 1.0 范围冻结] ( NOVA-1.0-SCOPE-FREEZE.md ) | 正式发布边界 |
150+ | [ 1.0 GA Readiness] ( NOVA-1.0-GA-READINESS.md ) | 发布阻断项 |
151+ | [ 竞争差距分析] ( NOVA-1.0-COMPETITIVE-GAP.md ) | 与成熟 Agent 产品的客观差距 |
152+ | [ Changelog] ( CHANGELOG.md ) | 版本变化记录 |
162153
163- - [ NOVA 1.0 范围冻结] ( NOVA-1.0-SCOPE-FREEZE.md )
164- - [ NOVA 1.0 GA Readiness] ( NOVA-1.0-GA-READINESS.md )
165- - [ NOVA 1.0 竞争差距] ( NOVA-1.0-COMPETITIVE-GAP.md )
166- - [ Mac 路线图] ( NOVA-MAC-ROADMAP.md )
154+ ## 参与项目
167155
168- ## 发布包
156+ 欢迎提交可复现缺陷、体验反馈和边界清晰的改进建议。请先阅读 [ CONTRIBUTING.md ] ( CONTRIBUTING.md ) 。当前阶段优先处理:
169157
170- 二进制安装包不会提交到 Git 历史。每个可下载版本通过 GitHub Releases 发布,并附带 SHA-256、平台、签名状态和已知限制。
158+ 1 . 结果真实性与工程完整性;
159+ 2 . 任务卡住、恢复失败和预算误判;
160+ 3 . Windows / macOS 功能对等与可访问性;
161+ 4 . MCP、Skills 与自定义模型扩展的稳定性。
171162
172163## 许可证
173164
174165当前仓库尚未声明开源许可证。在项目所有者明确选择许可证之前,代码默认保留全部权利。
166+
167+ ---
168+
169+ <p align =" center " >
170+ <strong >NOVA AgentOS</strong ><br />
171+ Make the work observable. Make the result provable.
172+ </p >
0 commit comments