跳转至

English | 中文

文档与源码一致性审计

2026-10-08 按《文档与源码一致性审计规范》执行:以源码为真相核对全部文档面, 三类差异(①文档超前于码 / ②码超前于文档 / ③描述不符)逐条给出 file:line 证据。 修法仅动文档,不改代码(禁反向改码)。后续新增功能须回写本文档对应行。

1. 审计范围与方法

文档面共 14 个:README.md、docs/{index,mission,mission-excerpt,mvp-issues,positioning,solution-structure,troubleshooting,configuration,master-plan,acceptance-checklist}.md、docs/acceptance-{B705-L0-behavior,B803-e2e-walkthrough}.md、docs/rfc/RFC-001-technical-design.md,另核对 mkdocs.yml 导航。(2026-10-11 增量复核起,configuration.md、master-plan.md、acceptance-checklist.md 三页纳入范围;F-01~34 基线审计时它们尚未存在或未被纳入。)

方法:抽可验证技术主张逐条对码取证(组件类型字符串、接口签名、配置键、文件名、包引用、窗口形态、刷新周期);空 grep 结论先验证路径存在(如 ls src/)再判「不存在」。mission-excerpt.md(原始方案存档)与两份 acceptance(带日期的验收记录)按历史文献处理,只核对其中仍然活着的代码引用。

2. 审计表

2.1 P0(会直接导致按文档写出错误配置/错误实现)

ID 文档页 主张 源码证据 类别 严重度 修法
F-01 RFC §4.2 widgets.json 示例组件 config 键为 "repository" src/Beacon.Connections/GitHubPullRequestsProvider.cs:21 RequireConfig(widget, "repo");GitHubActionsProvider.cs:25-27 读 repo/workflow/branch ③不符 P0 示例键改 repo
F-02 RFC §4.2 pins.json 为平铺结构(monitor/anchor 直接在 tile 上),anchor 取值 bottom-right src/Beacon.Core/Models/AppConfig.cs:40-48 PinTile{WidgetId, Layout} 嵌套;PinLayout.cs:14-32(含 FloatingX/Y);src/Beacon.Core/Json/BeaconJson.cs:31 枚举 camelCase 序列化(实为 bottomRight) ③不符 P0 示例改嵌套 layout{...},anchor 改 bottomRight,补 floatingX/floatingY

2.2 ① 文档超前于码(文档已写、代码未实现)

ID 文档页 主张 源码证据 严重度 修法
F-03 RFC §9.1 存储含 notifications.json(近期通知+已读,滚动 200 条落盘) src/Beacon.Storage/JsonConfigurationStore.cs:39-42 仅管 config/connections/widgets/pins 四文件;src 全域 notifications.json 零命中;通知中心为会话内视图 P1 标「未实现落盘(会话内)」
F-04 mission.md 配置目录含 workflows.json src 零命中;Workflow 引擎任务书自列「MVP 不做」 P1 注明未实现
F-05 positioning.md §3 Generic HTTP Provider = YAML provider DSL(mapping + actions.retry) 实际落地为 JSON 配置的 http.status(src/Beacon.Connections/HttpStatusProvider.cs:10,点路径+词表映射);无 YAML 解析、无 per-provider actions P1 改口径为已落地 http.status;DSL/actions 标「计划中」
F-06 positioning.md §4 UsageMetric 模型(name/current/limit/window/…) src 全域 UsageMetric 零命中;实际由 WidgetState 承载 P2 标「概念设计,未落地独立类型」
F-07 solution-structure §3.3 WebhookAction.cs(webhook POST + secret 签名) 已实现(2026-10-09,3760f57):src/Beacon.Actions/WebhookExecutor.cs——HMAC-SHA256 签名头 + credentialRef 密钥 fail closed;目录树已改 5 文件 P1 已收口
F-08 solution-structure §3.4 CredentialManagerSecretStore.cs(备选实现画入目录树) src/Beacon.Storage/ 仅 5 文件,无此文件 P2 移出目录树,注释保留备选说明

2.3 ② 码超前于文档(代码已实现、文档未记或口径相反)

ID 文档页 主张 源码证据 严重度 修法
F-09 RFC §6.2.3/§6.2.4/§10 「每显示器一个宿主窗口」「不做每个 pinned widget 一个 HWND」 独立悬浮框形态已落地:src/Beacon.App/App.xaml.cs:157-169 按 PinDisplayMode 分支;src/Beacon.App/Windows/FloatingTileWindow.cs:14-19 每钉选组件一窗;src/Beacon.Core/Models/AppConfig.cs PinDisplayMode(panel 默认/floating) P1 RFC 补两形态口径(panel 默认单宿主 / floating 每组件一窗)
F-10 RFC §7.1 Machine 5–30s「二期」、Agent 5–15s「二期」 src/Beacon.Core/Models/RefreshTiers.cs:28-29 两级已实现(15s / 10s) P2 备注改「已实现」
F-11 solution-structure §1/§3.2 Connections = GitHub/ + Rest/ 两个子目录(GitHub / Rest) 实际平铺 16 文件,无子目录;含 GitHub 6 文件 + HTTP 3 文件 + BigModel/Claude/DeepSeek/Kimi 各 2 文件(ls src/Beacon.Connections/) P1 重画目录树为真实结构
F-12 mvp-issues B-701 L0 仅「单窗口多 tile 宿主」一形态 独立悬浮框扩展已落地(FloatingTileWindow.cs;commit 0182b57);positioning §8 已记,issue 未回写 P2 B-701 补扩展记录

2.4 ③ 描述不符(两边都有但口径不一致)

ID 文档页 主张 源码证据 严重度 修法
F-13 RFC §1 平台 Windows 10 1903+ src/Beacon.App/Beacon.App.csproj TargetPlatformMinVersion=10.0.17763.0(1809);README「1809+」 P1 RFC 改 1809+
F-14 RFC §10 System Tray 用 H.NotifyIcon.WinUI(备选 Win32 自封装) src/Beacon.App/Services/TrayIconService.cs:9 「Win32 Shell_NotifyIcon 自实现,不引第三方托盘库」 P1 改自实现口径
F-15 RFC §10 Toast 用 CommunityToolkit Notifications(AUMID 快捷方式手动注册) Directory.Packages.props Microsoft.Toolkit.Uwp.Notifications 7.1.3;ToastNotificationService.cs:4,12-13 ToastNotificationManagerCompat 首发自动创建/修复快捷方式 P2 改包名与 AUMID 自愈口径
F-16 RFC §5 接口签名:Task<ConnectionHealth> TestAsync(c, ct)、Task<WidgetState> GetStateAsync(w, conn, ct)、ISecretStore.GetAsync → Task<string>、连接类型注释含 "rest" src/Beacon.Core/Abstractions/IConnectionProvider.cs:16,25(ConnectionHealthState、多 ConnectionConfig 参数、WidgetState?);ISecretStore.cs:7(string?);实际连接类型 github/http/bigmodel/claude/kimi/deepseek P2 摘要块对齐实际签名
F-17 RFC §8 通知规则示例为 when{...}/then{...}/dockColor 嵌套,cooldown PT10M src/Beacon.Core/Models/NotificationModels.cs:4-16 实为扁平:id/widgetType/widgetId/severityAtLeast/severityAtMost/toast/sound/cooldown(TimeSpan);无 dockColor 字段;BeaconJson 无 TimeSpan 自定义转换器(非 PT10M 格式) P1 示例改实际扁平结构与字段名
F-18 RFC §9.1 cache\{connId}\*.json src/Beacon.Storage/JsonCacheStore.cs:76 固定 states.json P2 改具体文件名
F-19 RFC §4.3 WidgetState 字段清单缺 widgetType/connectionId src/Beacon.Core/Models/WidgetState.cs:7-8 P2 补两字段
F-20 index.md 「35 个 MVP Issue」 grep -c '^### ' docs/mvp-issues.md = 43;README 亦写 43 P1 35→43
F-21 index.md 路线 M4 🔨、M5 ⬜ README 路线:M4 ✅、M5 🔨(代码级完成,余 B-803/B-804 真机验收) P1 对齐 README
F-22 index.md / mkdocs.yml 文档导航缺 positioning / troubleshooting / acceptance 两篇 mkdocs.yml:32-40 nav 已含 positioning/troubleshooting,缺 acceptance 与审计文档;index.md 导航表同样缺 P2 两处导航补全
F-23 mvp-issues B-101 「H.NotifyIcon 托盘图标」「二次启动唤起既有实例」 TrayIconService.cs:9 Win32 自实现;App.xaml.cs:101-109 二次启动实际为既有实例弹气泡提示(非唤出面板) P1 改实现口径
F-24 mvp-issues B-804 「self-contained 单 exe 发布(win-x64)」 实际发布形态:Inno Setup x86_64 setup.exe + 便携 zip(packaging/beacon.iss:20;README 下载节) P1 改发布口径
F-25 solution-structure §3.5 App 含 Controls/、ViewModels/、Notifications/ToastService.cs、Themes/;四个 Window 均带 .xaml 目录不存在(ls src/Beacon.App/);实际仅 CapsuleWindow.xaml/QuickPanelWindow.xaml 两个 xaml,其余纯代码;Toast 在 Services/ToastNotificationService.cs;缺 Infrastructure/(MonitorService/NativeMethods/Win32MessageWindow)与 Services/ToastNotificationService、TopmostGuard、FileLoggerProvider、CrashLog、BeaconRuntime、ShellStateStore、UiDispatcher、HotkeyService、StartupService、MotionEngine、UiPalette、SingleInstanceGuard 及 Windows/FloatingTileWindow.cs P1 重画目录树为真实结构
F-26 solution-structure §3.1 Core 含 Time/IClock.cs;Models 含 ActionConfig/ActionResult/NotificationRecord/NotificationRule 独立文件 IClock 实在 Abstractions/(8 文件含 INotificationSink);无 Time/;Models 12 文件为 ActionModels.cs/NotificationModels.cs 合并命名 + ConnectionHealthState/RefreshTiers;另有 Events/Events.cs、Json/BeaconJson.cs;Services 9 文件含 PaletteResolver/PinLayoutMath/TemplateRenderer/WidgetHost P1 重画目录树
F-27 solution-structure §4 NuGet 表列 CommunityToolkit.WinUI.*(控件/动画) Directory.Packages.props 零命中,未引用 P1 删该行
F-28 solution-structure §4/§6 「UI = MVVM(CommunityToolkit.Mvvm),View 不写业务;状态一律来自 ViewModel 订阅」 src/tests 全域 ObservableObject/RelayCommand 零命中;包在 Beacon.App.csproj:33 引用但未使用;实际代码建 UI + code-behind P1 改实际形态口径
F-29 solution-structure §6 配置 JSON 用 System.Text.Json + source-gen converter src/Beacon.Core/Json/BeaconJson.cs 为手工 JsonSerializerOptions+converter;全域无 JsonSerializerContext P2 去 source-gen 表述
F-30 solution-structure §2 Core「只引用 BCL/扩展/MVVM 工具库」 src/Beacon.Core/Beacon.Core.csproj 仅 Microsoft.Extensions.Logging.Abstractions P2 改准确表述
F-31 solution-structure 头部 「当前仓库工作环境为 Linux——本阶段只产出文档,不建工程」 工程已建成:5 src 项目 + 4 测试项目、285 测试、M1-M4 已交付 P1 删过时说明,改现状
F-32 positioning.md §6 「Usage / Machine Provider、Generic HTTP——新增,M5 收口后并入」 positioning §8 已记录 Generic HTTP/BigModel/Claude/Kimi/DeepSeek 落地(同文档内部自相矛盾) P2 §6 行改「Status/Usage 已落地,Machine 未实现」
F-33 RFC §6.2.3 拖动「吸附到四边与相邻 tile」 src/Beacon.App/Windows/PinnedHostWindow.cs:219 仅 SnapDips 四边吸附;无相邻 tile 吸附逻辑 P2 删「相邻 tile」表述
F-34 RFC §3 架构图 「MVVM / Event Bus」「Connections: GitHub / Rest」「Actions: Http/Command/Url/Webhook」 MVVM 全域零使用(同 F-28);实际六类连接无 Rest(同 F-11);Actions 无 Webhook(同 F-07,2026-10-09 已收口);L1 胶囊另在 §6.1/§6.3 被写成「宿主窗口内的 tile」,实际为独立 CapsuleWindow(src/Beacon.App/Windows/CapsuleWindow.cs:18) P1 架构图与 §6.1/§6.3 一并改实际口径

3. 结论与 P0 清单

  • ① 文档超前于码:6 条(F-03~08);② 码超前于文档:4 条(F-09~12);③ 描述不符:24 条(F-01/02、F-13~34)。合计 34 条。
  • 核对为一致、无需修改的主张:README 全部(下载形态/安装路径/热键/自启默认/1809+/codecov/nightly 凌晨发布)、troubleshooting 全部(日志文件名/崩溃日志/安装路径)、solution-structure §3.6 测试描述(coverlet+Codecov 属实)、RFC §9.2 密钥约束与 §8 默认规则存在性、acceptance 两篇的代码引用。
  • P0 清单(2 条):
  • F-01:RFC widgets.json 示例键 repository ≠ 实际 repo——按文档写组件必失败;
  • F-02:RFC pins.json 平铺示例 ≠ 实际 {widgetId, layout{...}} 嵌套 + camelCase 枚举——按文档读写 pins.json 必错。
  • 修复原则:以源码为真相只改文档;「文档超前」的条目标注「未实现/计划中」而非删除设计意图;本次未发现需要反向改码的条目。
  • 2026-10-10 复核:34 条修法已全部回写对应文档(逐条对码抽验;F-03 因 notifications.json 于 2026-10-09 落盘直接按实现记,超出原「标未实现」修法;F-07 同日已收口)。上表 34 条 F 编号与本结论计数已对齐(此前结论漏计 F-32~34,index.md「30 条」一并修正)。

4. 2026-10-11 增量复核

背景:master-plan.md 于 2026-10-11 定为设计基线(commit 09a4b9b)后做文档面巡检。 本节 F 编号接续基线表;「修法」列 = 本次实际改动(全部当轮收口)。

ID 文档页 主张 源码证据 修法
F-35 mkdocs.yml nav 导航缺「配置项参考」(configuration.md 存在且 index/README 均有链接,nav 独缺) grep -n configuration mkdocs.yml 仅命中 docs 正文引用 nav 于「故障排查」后补一行(已修)
F-36 README.md 配置参考行 「12 connection types」 ConnectionType => 实为 13(github/http/bigmodel/ark/claude/kimi/deepseek/mimo/codex/copilot/opencode/qwen/moonshot);moonshot 于 4c3ecb2 落地 12→13(已修)
F-37 index.md 配置项参考行 「12 类连接的端点/凭据/额度口径」 同 F-36 12→13(已修)
F-38 index.md 文档导航表 缺 master-plan.md 行(09a4b9b 只补了 README 表与 mkdocs nav,漏了本表) 表中无该行 RFC 行后补一行(已修)
F-39 configuration.md 连接类型表与额度口径表均缺 moonshot 行(13 类只写了 12 类) MoonshotBalanceProvider.cs:146 "moonshot";端点 api.moonshot.cn/v1/users/me/balance;判级 warn_below(20)/error_below(5) 两表各补一行(已修)
F-40 solution-structure §1 / §3.2 §3.2 标「23 文件」且目录树缺 Qwen/Moonshot 两块;§1 总览列 9 家厂商缺 Copilot/OpenCode/百炼/Moonshot;WidgetValueHint 注「九家 payload 键」已不止九家 ls src/Beacon.Connections/*.cs = 25 文件;QwenUsageProvider.cs、MoonshotBalanceProvider.cs 在树中无条目;WidgetValueHint.cs 另接 copilot/opencode 等 §3.2 改 25 文件 + 补两块目录条目;§1 总览补全 13 家;「九家」改「各家」(已修)
F-41 positioning §8 L0 拍板 数值类悬浮「默认关(2026-10-08 修正)……开关关=悬浮形态等效面板」 2026-10-11 用户令推翻(fac860c 改码 + configuration.md 同步);AppConfig.cs:25 NumericFloatingEnabled = true;positioning.md 当时漏改 拍板句改「默认开,2026-10-11 用户令」,删除一次性迁移表述(已修)
F-42 positioning §8 调研结论 Moonshot 开放平台余额列「暂缓接入——端点已确认,后续按 deepseek 同构接入」 已落地(4c3ecb2,2026-10-10):MoonshotBalanceProvider.cs,§8 无该家条目 调研结论划线收口;§8 补「第十一家」条目(已修)
  • 本节 8 条全部为「码超前于文档 / 导航缺页 / 拍板漏同步」类,均当轮收口,无遗留。基线 34 条 + 增量 8 条 = 42 条。
  • 复核中核实为一致的主张:index/README「43 个 MVP Issue」(grep -c '^### B-' = 43)、kimi 行与 Moonshot 开放平台两套账号的表述(configuration.md:104)、positioning「第九/第十家」序数与落地顺序自洽(OpenCode 第九、千问第十,MiMo/Codex 属前九家)。

2026-10-11 第二增量(solution-structure 数字口径)

ID 文档页 主张 源码证据 修法
F-43 solution-structure §3.1/§3.5/§3.6 Services 树只画 12 文件(实际 17,缺 WidgetTypeNames/QuickPanelSections/DpiLayoutMath/ContrastMath/HighContrastPalette);Windows「7 文件」实际 10(8 .cs+2 .xaml,缺 ThemeColors.cs);Services/ 缺 AppIcon.cs;测试「474 个(C 249/Core 170/Act 27/Sto 28)」 ls 实际:Core Services 17、Windows 10、App Services 14(含 AppIcon);dotnet test 四项目 = 685(Connections 371 / Core 256 / Actions 27 / Storage 31) 目录树补 5+1 条目并加计数、Windows 7→10、测试数改 685 且分项对齐(已修)
  • 本条当轮收口;ls src/Beacon.Core/Models|wc -l = 13、Abstractions 8、Connections 25、Actions 5、Storage 6、App Infrastructure 3/Services 14 与文档一致;.github/workflows/ 三 yml 属实。累计 42 + 1 = 43 条。

2026-10-11 第三增量(troubleshooting 排障路径)

ID 文档页 主张 源码证据 修法
F-44 troubleshooting 版本行 「nightly 形如 0.0.20261009+<commit短sha>」 daily-build.yml:50 $version = Get-Date -Format "yyyy.M.d";:51 -p:Version=$version "-p:InformationalVersion=$version+$env:GITHUB_SHA";beacon.iss:4 注明 0.0.yyyyMMdd 会触发 CS7034 改 2026.10.9+<完整 commit sha> 并注明旧形态废弃原因(已修)
F-45 troubleshooting 组件不出数 跳① 关键词含 已添加并上板拉取中 src 全域零命中;实际只有 SettingsWindow.cs:949 一键示例:组件 {Id} 已创建并钉选(连接 …,端点 …) 删掉不存在的关键词(已修)
  • 复核为一致:日志路径 %AppData%\Beacon\logs\beacon-YYYYMMDD.log 与 crash-*.log、跳②组件注册已重建并立即拉取 {N} 个、跳③Widget {id} refreshed ok / refresh failed、tile 首态「加载中…」字面、%LOCALAPPDATA%\Beacon(beacon.iss DefaultDirName={localappdata}\Beacon + PrivilegesRequired=lowest)、ChineseSimplified.isl、config 目录 config.json/connections.json 布局、SHA256SUMS 与 visual-evidence artifact 名。累计 43 + 2 = 45 条。

2026-10-11 第四增量(master-plan 未审章节)

ID 文档页 主张 源码证据 修法
F-46 master-plan §5.4(§11.1 同项) Activity/Fingerprint 领域模型(含指纹去重、事件合并),§11.1 把它列为单测覆盖项 src 全域 Activity/Fingerprint 零命中;实际为 NotificationRecord(notifications.json + read 态,滚动 200 条)+ NotificationEngine 阈值跨越/时间冷却去重 + RecentEvent(QuickPanelWindow.cs:18 会话内 record,无持久化) §5.4 补「落地状态」注记:三段现有机制承载语义,指纹去重/事件合并未实现待排期(已修)
F-47 master-plan §8 逻辑文件名 cache.json / history.json 实际划分不同:config/connections/widgets/pins/actions.json + notifications.json(无 history 对应)+ cache\{connId}\states.json(分目录)+ secrets.bin;方案自身已许「不必强行改名」 §8 补「落地状态」注记列实际文件集与 .corrupt 留档机制(已修)
F-48 master-plan §10 「关于」含开源许可证、检查更新/项目主页入口;「退出行为」列在通用设置 SettingsWindow 关于区仅版本行(BuildAboutSection)+ 日志位置提示(:634);许可证与主页入口零命中;退出仅托盘 Exit §10 补「落地状态」注记:已落地/挂起/未做三类分别标明,退出在托盘不在设置页(已修)
  • 复核为一致:§6.2「必须实现」八项全落地(取消/并发去重/退避/超时/ETag/限额感知/恢复刷新/离线缓存——RefreshScheduler、GitHubApiClient、JsonCacheStore、ff8208a);「初始建议」数字与 §12 性能目标均自我声明非承诺,与 RefreshTiers 七档、未测量口径不冲突;§8 损坏提示(*.corrupt + LoadErrors)与「无效配置不阻断启动」属实;连接 13 类(GitHub + HTTP 通用 + 11 家 AI 额度)计数核对无误。累计 45 + 3 = 48 条。

2026-10-11 第五增量(positioning 落地清单)

ID 文档页 主张 源码证据 修法
F-49 positioning §6 对应表 Usage Provider 已落地清单止于 opencode.usage(11 项) QwenUsageProvider.cs(qwen.usage,2026-10-09)、MoonshotBalanceProvider.cs(moonshot.balance,2026-10-10)已落地,清单漏后两家 已落地清单补 qwen.usage / moonshot.balance(已修)
  • 复核为一致:§3 http.status/http.quota 配置键逐一比对 HttpStatusProvider/HttpQuotaProvider 字段描述符(status_path/summary_path/url_path/success_values/warning_values/error_values、total_path/used_path/remaining_path/reset_path)全部属实;YAML DSL 标注「计划中」与 F-05 修法一致;§4 UsageMetric 状态行与 F-06 一致;§6 Machine Provider「未实现」与冻结记录一致;§7 排期约定与 mission.md 冻结记录互证。累计 48 + 1 = 49 条。

2026-10-11 第六增量(真实抓包驱动的口径修正)

编号 位置 文档/代码原主张 实况 处置
F-50 configuration.md §各家额度口径 kimi 行、§各类型凭据与端点 kimi 行;positioning §8 kimi 条目 数据源「GET usages(社区实现交叉验证)」,响应按顶层 usage+limits[](数字值)描述 2026-10-11 用户实抓真实响应:usages[](scope=FEATURE_CODING)+totalQuota+字符串数值,与文档/旧解析假设不符(ReadDouble 只认 Number → 全 null → 显示错) 解析器双形兼容重写 + HttpEndpoint 加 http_method/http_body(批3-补29),文档改按真实形状并明示 Cookie 凭据模型(粘贴 + DPAPI 回放,不做扫码登录)(已修)
F-51 positioning §8 mimo 条目「官方无额度接口(7 端点全 404)」;MiMoUsageProvider 控制台解析防御键名 表述读作「小米无任何额度口」;控制台解析假设 percent 为 0-100/防御键名 2026-10-11 用户实抓控制台 tokenPlan/usage 真身:monthUsage/usage 块 + items[],percent 是 0-1 比例(7 端点 404 系推理域 API,控制台域例外);旧解析遇真身返回 null → Degraded 文档限定「推理域 404」口径 + 控制台档真实形状优先解析 + referer 头(批3-补30)(已修)
F-53 positioning §6 Machine Provider 行「未实现」、README/index/solution-structure/master-plan §10(14 类口径) 本机资源/网络未落地 2026-10-11 用户拍板「本机资源 和本机网络 都可以搞」:machine.net 已落地(IP/↑↓速率/累计流量,零凭据零网络,只读本机不涉冻结的远程 Machines 管理) 计数 14→15、树补 MachineNetProvider、positioning §6 行改口径、master-plan §10 落地状态(已修)
F-52 mission 冻结记录、master-plan §10 落地状态/§13、README/index/solution-structure(13 类口径) Jenkins 归「第二阶段/后续可选,挂起等真实地址」 2026-10-11 用户拍板:Jenkins 是开源软件,标准 JSON API 任意实例通用,地址只是配置值(非卡点);jenkins.build + jenkins 连接已落地(批3-补31) 计数 13→14、目录树补 Jenkins、master-plan §10 落地状态与 §13 落地注、mission 冻结记录移出 Jenkins、positioning §6/§8 补条目(已修)
  • 复核为一致:F-50/F-51 修复同步核对 solution-structure §3.2「Kimi 1 文件」「MiMo 1 文件」不变(解析重写均在同文件内)、README「13 connection types」不变(类型未新增)。累计 49 + 4 = 53 条。

2026-10-11 第七增量(machine.git 落地)

编号 位置 文档/代码原主张 实况 处置
F-54 solution-structure(27 文件/748 测试;MachineNetProvider 树条目误挂「Jenkins 1 文件」组)、configuration.md machine 行(仅 machine.net)、positioning §6/§8(本机仅网络) Git 仓库状态未落地;目录树分组错位 2026-10-11 用户拍板「git 都搞」:machine.git 已落地(每仓库一张卡 ↑↓·改·stash,git CLI 只读零凭据零网络,behind>0 亮黄,前 5 条变更预览进 L3) 计数 27→28 文件、748→766 测试、树自组「Machine 2 文件」、configuration/positioning 补 machine.git 口径;MiMo 控制台 Cookie 整行粘贴容错同步落地(批3-补34,配置页补「整行也行」)(已修)
  • 复核为一致:machine.git 与 machine.net 同挂 machine 连接(连接类型仍 15 类,README 计数不变);GitWorkspaceProvider 同文件多类与 Jenkins/Machine 先例一致。累计 53 + 1 = 54 条。

2026-10-11 第八增量(Herald 接入)

编号 位置 文档/代码原主张 实况 处置
F-55 README/index/solution-structure/master-plan(15 类口径)、configuration.md(无 herald 行) Herald 未接入 2026-10-11 用户拍板:herald 连接 + herald.incidents/herald.feed 已落地(事件台账 open 亮黄 critical 亮红;RSS 未读基线,私密 token 走 DPAPI;deliveries 暂缓) 计数 15→16、29 文件/787 测试、两表加行、positioning §8 条目;顺带修 GitWorkspaceProviderTests Windows 清理只读对象(已修)
  • 复核为一致:herald 属新增连接类型(第 16 类);RFC1123Z 剥星期名解析兼容 globalization-invariant(探针实证)。累计 54 + 1 = 55 条。

2026-10-11 第九增量(machine.local 落地)

编号 位置 文档/代码原主张 实况 处置
F-56 solution-structure(29 文件/787 测试;Machine 2 文件)、configuration.md machine 行(仅 net/git)、positioning §6/§8(本机仅网络+Git) 本机资源(CPU/内存/磁盘)未落地 批3-补32 拍板回执「本机的cpu 内存 磁盘空间 这个倒是一个低成本的显示」收尾:machine.local 已落地(CPU tick 差分同速率口径;Linux /proc + Windows API 注入抽象;三项阈值默认 90 超线亮黄,按四舍五入显示值比线) 计数 29→30 文件、787→801 测试、Machine 3 文件、configuration/positioning 补口径;顺带修 index.md 审计条数(23 实为 22,55−34=21+1)(已修)
  • 复核为一致:连接类型仍 16 类(machine.local 复用 machine 连接);Beacon.App 侧注册两处(BeaconRuntime/SettingsWindow 文案)待 windows-latest CI 构建实证。累计 55 + 1 = 56 条。

2026-10-11 第十增量(herald.deliveries 落地)

编号 位置 文档/代码原主张 实况 处置
F-57 positioning §8(deliveries 暂缓)、configuration.md herald 行(两卡)、solution-structure(801 测试) 投递失败卡未落地(批3-补35 暂缓项) 2026-10-11 续批拍板:herald.deliveries 已落地(logs?status=failed 取数面实证;failed 即黄不升红——dead 在日志层写 failed 不可分;shadow 被过滤排除) solution-structure 801→807 测试/herald 树行补三卡、configuration/positioning 补口径;mvp-issues 批3-补37 + 装机行 65 条(已修)
  • 复核为一致:herald 单文件多类先例不变(HeraldProvider.cs 仍 1 文件 4 类);连接类型仍 16 类。累计 56 + 1 = 57 条。

2026-10-11 第十一增量(MiMo 401 明示 + 排障条目)

编号 位置 文档/代码原主张 实况 处置
F-58 troubleshooting.md 全文 排障手册无 MiMo 条目(17 行全为安装/启动/白板/日志) 2026-10-11 用户实踩「小米的还是不行」:胶囊 Offline 横幅为聚合告警(含 Degraded 401),真因在 tile 失败原因行;额度卡登录态过期是常态,Key 与 Cookie 是两条凭据链 新增「小米 MiMo 卡显示 Offline / 不出数?」段(离线横幅口径 + 三种常见坑:Cookie 失效重录指引 / 只填 Key 不够 / litellm 档默认空与 no_db_connection 归属网关侧)(已修)
  • 复核为一致:configuration.md 已记 litellm_spend_url/litellm_key_ref 两键语义;solution-structure 828 测试为 2026-10-11 单测复点口径。累计 57 + 1 = 58 条。

2026-10-14 第十二增量(增量复核:SenseNova 文档面补缺 + 计数漂移)

编号 位置 文档/代码原主张 实况 处置
F-59 configuration.md(三处无 sensenova 行)、positioning §1 表与 §8(13 类,无商汤)、solution-structure(Connections 33 文件、树无 SenseNovaUsageProvider、16 类)、master-plan 落地状态(11 家 AI / 16 类)、index.md(16 类连接) SenseNova(商汤)在用户文档面完全缺席 SenseNovaUsageProvider.cs 1 文件 3 类(2026-10-13 用户令):sensenova.tokenplan 控制台池级 Token Plan 额度(多池 × 5h/7d,最差池的最差窗判级 + 赠额到期预警),走 HttpEndpoint.FetchAsync 统一 HTTP 通道(Bearer 控制台 JWT,默认 platform.sensenova.cn/lite/console/v1/tokenplan/pool-usage) configuration.md 补三行(凭据与端点 / 通用通道键列表 / 额度口径)+ 多窗口额度展示段补 sensenova 形态;positioning §1 表 +1、§8 增「第十二家」条目;solution-structure 33→35 文件 + 树补行 + 16→17 类;master-plan 11→12 家 / 16→17 类;index.md 16→17 类
F-60 solution-structure(Core Services 19 文件;4 项目共 991 测试 = Connections 599 / Core 334 / Actions 27 / Storage 31) 计数落后于码 Services 实为 20 文件(DebugInjection.cs 新增,BEACON_DEBUG_SEVERITY 注入门控);2026-10-14 本地门禁实测 4 项目共 1057(Connections 652 / Core 347 / Actions 27 / Storage 31) 计数更正;Services 树补 DebugInjection.cs 行(debug 门控,仅 CI 场景 V 与装机演练用,不进用户配置文档)
  • 复核为一致:store-submission.md 的 SignPath 主张(secrets 名 SIGNPATH_API_TOKEN/SIGNPATH_ORGANIZATION_ID、project-slug: beacon、signing-policy-slug: beacon、artifact-configuration-slug 可选、signed/ 优先、fail closed 口径、README「Code signing policy」段)与 daily-build.yml 逐项吻合;MSIX 两轮 dry run 38230149697 + 38233094172 均 success,msix-pack.ps1 与 msix-dry-run.yml 在场,appxmanifest 占位 Beacon.CuiHairu / CN=cuihairu 与文档一致;master-plan「指纹级去重未实现」仍成立(QuickPanelWindow 仅 Insert(0) + 上限 50);Actions 5 文件、Storage 6 文件、App 树(Services 15 / Windows 10 / Infrastructure 3)与实况一致。mvp-issues.md 无 SenseNova 批次记录——不补造批号,以本审计增量留痕。累计 58 + 2 = 60 条。