开发

桌面控制中心交付计划

本计划通过 #1428 跟踪 RFC 1455 的实施。RFC 定义用户行为和架构契约,本计划记录阶段、负责人、 测量及验收证据。排期和调优可以独立演进,不重新定义这些契约。下列条目是要求,不是已经完成的工作或验收结果。 接受 RFC 或发布仅连接预览不关闭 #1428。

源码事实采用 RFC 的基线,即 2026-09-13 核验的上游 62e4c821709c18b832c77363fdd428765bee6a96。 交付时按所选发行物重新核查平台阻塞和负责方能力。

负责方协调

D1–D6 和 D8 对应 RFC 中的负责方契约,D7 在本计划中跟踪人员安排与发行验收。对应阶段退出前,落实具名维护者并 关联负责方工作。

ID负责方与相关工作所需契约门槛
D1Server/APIserver-info、部署身份生命周期、明确兼容配置P1/P2 中依赖兼容性的控制
D2Server/Memory授权且有界的 entry 列表;历史 UI 交付前的有界 change/history 查询P2 完整 Memory 浏览
D3服务/配置,RFC 1299非交互结构化修改、受保护输入、归属和恢复P3 受管服务/配置修改
D4安装器 #1406、RFC #1408核验 bootstrap、计划、锁、持久操作/状态与恢复P3 受管安装/升级
D5分发 #1405、RFC #1410不可变宿主发行物、兼容性和宿主负责的安装适配器P3 所选宿主安装
D6投递 #1419接收方关联、envelope、持久收件箱、精确引用、去重和恢复P4 投递消费
D7桌面/发行维护者具名负责人、Windows/宿主验收、支持版本和实测预算P0 退出与 P5 发行
D8Server/连接器负责方若提供管理功能,需公开的连接器发现、健康与管理操作仅对应的连接器控制

平台、无障碍与预算

平台建议状态验收
Windows 11 x64 + SQLite首个平台;当前项目 Windows 支持仍为 experimental签名标准用户安装、WebView2 有/无、Credential Manager、Task Scheduler/登录、通知/激活、非 ASCII 路径
macOS原生内部预览;发布验收待完成具名架构、Keychain、LaunchAgent、签名/notarization、WebView/通知行为
Linux按发行版/桌面环境后续验收WebKitGTK/系统库、Secret Service、systemd 会话、托盘、包/激活

不包含 Windows ARM 和 Windows 嵌入式 seekdb。框架编译通过不代表平台验收。P0 确定 Desktop/Install/Server/ Release 负责人和一个维护中 Agent Host/版本,观察 Windows 加载及显式 capture/recall。“任意维护中集成”不能 通过该门槛;P4 另行明确真实 sender/receiver。

当前源码基线在 Windows 原生类型检查中暴露了处理 worker 的 Connection/PipeConnection 类型不匹配,以及 测试引用 POSIX 专用 os.WNOHANG 的问题。Windows 验收前需要修复或正确限定这些检查的平台范围;按 Linux 目标检查通过不能证明 Windows 已受支持。

P0 Go/No-Go 证据包括:无 Python/Server 时 UI 可用、认证 API 读写、凭据、签名标准用户包、WebView2 bootstrap、 独立服务/登录、安装后的通知冷启动激活。D4/D5 完整 bootstrap 可以留到 P3,但 P0 要记录负责方承诺,并将预览 限制为仅连接。原生阻塞必须解决或重新讨论平台/范围;Electron 备选针对实际外壳/WebView/维护阻塞,不解决安装器缺口。

中英文 UI/文档同步,支持键盘、可见焦点、屏幕阅读器标签、IME 安全输入、高对比度、不只靠颜色的状态,以及 800 × 600 和 200% 缩放下可用的确认/恢复。语言/主题变化保留身份。

测量冷启动、空闲 CPU/唤醒、桌面+WebView+Server 内存、完整安装/下载大小、列表/搜索延迟。P0 记录硬件、OS/ WebView、数据规模、重复次数和 p50/p95,在 P2 扩展前固定数字发行预算。覆盖空/多页、无模型/已配置模型场景。 D7 负责公开预算,当前不宣称性能结果。传输/通知运行上限不能替代测量。

交付阶段

阶段交付物退出条件
P0:架构打包客户端、窄传输、凭据、Windows 安装原型、UI 复用与测量D7 负责人/宿主、安全证据、D1/D2 分工、D3–D6 限制
P1:仅连接预览已有本地/远程连接、已测兼容、服务状态、显式 Memory 保存/召回、Agent 诊断验收操作/身份,不承诺未实现安装
P2:管理/授权Scope/资产/Source、类型化 Review、精确共享/报告、导入、有范围的 Review 通知、诊断D2 完整 Memory 浏览、授权/并发/family 契约
P3:受管安装干净机器安装、所选宿主、服务/配置修改、迁移/升级/恢复/移除D3/D4/D5、签名不可变包和归属验收
P4:投递持久收件箱、目标关联、恢复、精确导航、支持的接收动作D6、具名 sender/receiver、有界消费者、安装激活
P5:首个正式发行Windows 11 x64 完整 #1428 流程全部适用 AC、兼容/支持矩阵、公开预算
P6:更多平台验收后的 macOS/Linux 包每个声明环境重复安装验收

依赖具备后 P3/P4 可独立推进;P2 授权不等待投递。复用已有 Tracking Issue,负责方契约与消费者拆成聚焦 PR。 不能把被阻塞的必需 AC 标为不适用来关闭 #1428:完整交付需要一个平台上的受管本地安装、授权远程访问、持久 Handoff 投递、Review/Handoff 通知、恢复、无障碍和保留数据的移除。

验收与验证

负责角色:Desktop 负责打包 UI/原生行为,Server 负责公开语义,Install 负责安装器/服务/配置/分发,Delivery 负责 D6,Release 负责签名平台验收。这些是职责,不是已具名人员,D7 在 P0 退出前落实维护者。每项记录包含版本、 环境、fixture、结果和负责人;一次冒烟不能代表某行所有场景通过。

ID阶段/负责方必须观察到的行为验证入口
AC-01P3/P5 · Install + Desktop干净机器核验 runtime/宿主,无模型 Memory 保存/fts 召回成功安装后的首次使用
AC-02P1/P3 · Install区分过期/外部/占用状态,保留未知归属服务 JSON/原生生命周期
AC-03P3/P5 · Desktop + Install关闭/退出/重启/登录保留独立服务与工作,遵守所选启动方式安装生命周期/恢复
AC-04P3/P5 · Install + Release中断升级/签名/就绪失败有持久组件状态和兼容恢复安装器故障/重启
AC-05P1/P2 · Server + Desktop缺失/旧/未知握手、缺能力、身份变化不猜测支持或改投D1 连接 fixture
AC-06P1 · Desktoploopback/base path/明文/TLS/重定向/代理限制准确,不转发凭据共享向量/原生传输
AC-07P1/P2 · Desktop连接/端点/token/Principal 变化隔离响应、游标、草稿和修改目标打包后的并发交互
AC-08P2 · Server + Desktop无 Scope 列表权限仍可访问精确 Handoff;拒绝 latest/相邻/宽泛/证据泄露Access 与桌面流程
AC-09P2 · Server + Desktop分页/计数前过滤、不安全回退禁止、Review/发布仍授权Access/修改契约
AC-10P2 · Server + Desktop过期版本/citation、重复提交、响应丢失不静默批准/重放修改恢复场景
AC-11P4 · Delivery + Desktop离线到达、游标过期、撤权/取消恢复精确授权收件箱D6 和接收端组合
AC-12P0/P4 · Desktop + Release安装提示、拒绝许可、突发、退出、过期激活安全导航/回退原生/冷启动激活
AC-13P2 · Server + Desktop相同/改名/变化文本、BOM/换行、非法/超限、未知导入遵守身份/限制导入/句柄 fixture
AC-14P0/P2 · Desktop恶意内容、伪造 generation/窗口/路径/链接不能执行、读秘密或意外修改打包 capability/CSP
AC-15P0/P5 · Desktop + Release日志、URL、通知、导出、渲染层存储、遥测无秘密标记输出检查
AC-16P3/P5 · Install移除保留数据、用户编辑和仍引用的独立消费者安装后的移除
AC-17P2/P5 · Desktop双语、键盘/IME/阅读器/对比度/小窗口/200% 缩放可完成支持动作无障碍流程
AC-18P0/P5 · Release精确签名包在参考机器测量,P5 达到公开预算基准/支持记录
AC-19P2 · Server + Desktop大型/变化 Memory 在 D2 下完整有界遍历,D2 前如实限制大 Scope fixture
AC-20P2 · Server + DesktopProfile Review、Topic Memory 和未知 family 保持类型化/只读边界Family/Review fixture
AC-21P1/P3 · Server + Install + Desktop静态/注入 Provider、通用 401/503、部分轮换保持真实身份/错误/恢复认证/配置流程
AC-22P2 · Desktop积压、多页、变化/部分覆盖遵守预算,不伪造计数/历史轮询行为
AC-23P3 · Install + Releaseupdater 退出和 stable/preview 共享保留负责方恢复与唯一管理归属打包升级/通道
AC-24P0/P2 · Desktop无 Python/Server 可安装引导,共享资源不漂移,管理只用公开 API桌面构建/Dashboard 回归
AC-25P3 · Server + Install维护迁移同 ID 恢复,流量前验证,无不兼容回滚迁移/安装恢复
AC-26P4 · Delivery + Desktop多设备/目标、未注册 Agent 不冒充,不把提示转为接受目标关联

实现 PR 运行 make check 和相关行为测试;契约变更额外运行 make api-generate、make contract-test。 复用 Server/Access/传输/迁移/原生服务测试。共享 UI 需要 Dashboard 回归和桌面行为;打包需要真实安装测试。 文档运行 make docs-test(Fumadocs),核验标题/导航/链接及中英文阶段/依赖/AC ID 一致。Mock 或文档构建不能 证明原生行为合格。

实现调优与测量

实现期间选择并记录数值,RFC 不预先规定运行默认值。区分 Server 已有限制与客户端选择,调优不改变可观察保证。

待确定项启用功能前所需证据
轮询间隔、抖动、并发和请求速率提醒延迟与空闲 CPU、唤醒、Server 负载的权衡;手动重试时仍遵守上限
Candidate 页大小、遍历过期与恢复策略遵守 API 限制;覆盖空列表、多页、大积压及持续变更;后续页面可推进或明确显示覆盖限制
失败退避断连/重连、认证拒绝与 Server 等待要求的行为
通知元数据容量和保留期有界存储、去重、安全过期/淘汰和冷启动激活,不改变 Server 已读/投递状态
传输超时、解码响应/导出上限慢响应、大响应、取消与流式处理;按操作恢复而非盲目重放修改
导入文件/正文上限有界读取和 Unicode 处理;确认前解释限制,超限拒绝而不截断

在实现/发行记录中登记选定值、参考环境、数据集和测量结果。通过行为与回归测试覆盖不完整计数、范围变化、积压 推进和通知隐私;除非某个轮询间隔或内部调用次数本身属于公开外部预算,否则不在测试中固定它。

协调决策

这些问题都有建议默认方案和明确决策时间。缺失依赖仍是交付前提,不能写成已实现能力,也不妨碍提交设计供评审。

通俗问题建议默认方案何时决定
先把哪个系统做好,谁长期维护和发版?Windows 11 x64 + SQLite;确定 Desktop/Install/Server/Release 负责人和一个 Agent Host/版本接受 RFC 时确定平台;P0 结束前落实人员/宿主
和现在的 Dashboard 共用多少界面?资源/规则/翻译/组件,独立客户端管理入口,不强制重写 Dashboard接受 RFC 时
安装器和投递还没好,能不能先发布?先仅连接预览,再管理;P3/P4 独立,完整前不关闭 #1428接受 RFC 时
第一版能连接哪些远程环境?直连 HTTPS、运维发放 Bearer;暂不做代理/SSO/明文同意接受 RFC 时;扩展需验收适配器
支持哪些 Server 版本,恢复或克隆后如何识别?D1 明确版本/生命周期,1.0.0 作为旧版验收候选P0 契约讨论,早于相关控制交付
安装和投递接口由谁提供,什么时候可用?D3–D6 原负责方维护 schema/恢复,桌面不另造替代承诺 P3/P4 前
整个产品要多快、多省资源?在具名硬件实测,公布含 Python/WebView 的数字预算P0 结束、P2 扩展前

macOS 内部预览

Desktop 支持 macOS 原生 Keychain、WKWebView 本地页面和 .app / .dmg 打包。 开发环境需要 macOS 12 或更新版本、Xcode Command Line Tools、Node 24.14.1、pnpm 11.13.1 和 Rust 1.95.0。 在 desktop/ 执行 pnpm install --frozen-lockfile,再执行 pnpm desktop:dev 或 pnpm desktop:build。 安装包位于 desktop/src-tauri/target/release/bundle/dmg/,打开后将应用拖入 Applications。

持久凭据使用 Keychain。用户仍可明确选择仅本次会话保存。诊断进程使用独立进程组,保留输出上限、超时与取消清理。 诊断注册文件和 launcher 要求见 Desktop README。 应用不会安装或管理 LaunchAgent,也不会修改独立 Server 数据。 CI 配置覆盖 Apple Silicon 和 Intel;实际通过情况必须以运行结果为准。 当前产物用于内部验证。Developer ID 签名、公证、干净机器安装、输入法、辅助功能和应用内 Keychain 提示仍需单独验收。

当前契约的协议验收记录为 sqlite-atomic-d9a78567-v1。部署相应 Server 源码后,在连接页明确选择此配置并重新检查连接,才能选择 Scope。真实 SQLite Server 的四种连接/认证模式已验收;精确源码、wheel 与契约标识见 验收记录。这不表示任意远端 Server 已验证,也不代替平台发布验收。

On this page