ThoughtEcho 研发知识库全景与全维度待办看板
全景索引 docs/ 目录下全部 76 篇研发资产,并结合 lib/ 源码静态扫描(400+ Dart 文件)提取全量存活待办(P0 轻量缺陷/死代码、P1 深度模块重构/超大文件治理、P2 增长与商店渠道、P3 长线端侧 AI 与向量检索)。
| 文档名称 / 路径 | 状态 / 属性 | 核心内容与当前结论 |
|---|---|---|
双语用户手册 docs/USER_MANUAL.md |
🟢 活跃 | 用户端双语完整使用指南(中文 + 英文),涵盖所有端侧功能与快捷操作 |
商店上架与合规指南 docs/STORE_SUBMISSION_GUIDE.md |
🟢 活跃 | Windows Microsoft Store、Google Play 与 App Store 合规、文案与截图指南 |
设备与测试环境说明 docs/DEVICE_INFO.md |
🟢 活跃 | 本地测试设备、硬件资源、冷启动耗时与测试运行约束(由 `.gitignore` 忽略) |
项目全景综述与核心架构 docs/project-overview.md |
🟢 活跃 | 项目整体分层架构、核心服务分布、技术选型与多端支持全景概览 |
v4.0.0 发版说明 docs/Release_4.0.0.md |
🟢 活跃 | v4.0.0 重大版本发布说明、Thoughter 思考搭档与全新纸墨素笺主题更新日志 |
项目摘要 [已归档] docs/PROJECT_SUMMARY.md |
📦 归档 | 早期项目概况与模块设计速查(包含早期架构与代码统计历史记录) |
v3.7.0 发版说明 [已归档] docs/Release_3.7.0.md |
📦 归档 | v3.7.0 版本发布日志、重大特性清单与修复记录 |
v3.6.5 发版说明 [已归档] docs/Release_3.6.5.md |
📦 归档 | v3.6.5 版本发布日志与变更清单 |
v3.6.0 发版说明 [已归档] docs/Release_3.6.0.md |
📦 归档 | v3.6.0 版本发布日志与变更清单 |
v3.5.5 发版说明 [已归档] docs/Release_3.5.5.md |
📦 归档 | v3.5.5 版本发布日志与变更清单 |
v3.5.0 发版说明 [已归档] docs/Release_3.5.0.md |
📦 归档 | v3.5.0 版本发布日志与变更清单 |
| 文档名称 / 路径 | 状态 / 属性 | 核心内容与当前结论 |
|---|---|---|
记录页:预热在空转与刷新率适配 docs/note-list-warmup-invalidation-2026-08-22.md |
🟢 最新事实源 | 列表预热空转根因分析、120Hz 动态刷新率适配、SpreadFromAnchorCursor 扩散预热与分段计时验证 |
首屏渲染成本剖析与卡片瘦身 docs/note-list-first-paint-cost-2026-08-19.md |
🟢 事实源 | 首屏构建帧开销、组件树挂载耗时剖析、卡片 Element 瘦身 38%(146→90)与空闲预热基准 |
列表深层性能分析 docs/note-list-perf-analysis-2026-08-13.md |
🔍 调研分析 | 列表滚动掉帧、重绘范围、CPU/GPU 瓶颈与 Layout 耗时深度追踪 |
列表优化阶段交接 [已归档] docs/note-list-perf-handoff-2026-08-12.md |
📦 阶段交接 | 列表卡顿治理、渲染预算控制与阶段性优化成果交接 |
冷启动帧预算优化交接 [已归档] docs/note-list-cold-quill-frame-budget-handoff-2026-07-30.md |
📦 阶段交接 | Quill 冷启动帧开销切片、时间分片与帧预算平衡交接 |
Quill 延迟物化交接 [已归档] docs/note-list-cold-quill-materialization-handoff-2026-07-15.md |
📦 阶段交接 | 滚动期间延后冷 Quill 物化、停止后逐帧恢复策略交接 |
折叠态 Quill 宽度感知前缀交接 [已归档] docs/note-list-visible-quill-prefix-handoff-2026-07-12.md |
📦 阶段交接 | 截取宽度感知可见前缀减少 Delta 解析与首次布局开销交接 |
新增弹窗与 Firebase 性能优化交接 [已归档] docs/add-note-dialog-firebase-perf-handoff-2026-07-25.md |
📦 阶段交接 | 新增笔记弹窗渲染耗时优化与 Firebase 初始化解耦交接 |
早期列表滚动优化与 Firebase 交接 [已归档] docs/note-list-performance-firebase-handoff-2026-06-09.md |
📦 阶段交接 | 早期列表滑动手感优化、Firebase Test Lab A/B 实测与实验开关 |
| 文档名称 / 路径 | 状态 / 属性 | 核心内容与当前结论 |
|---|---|---|
纸与墨主题实现交接 docs/paper-ink-theme-handoff-2026-07-31.md |
🔒 唯一事实源 | 三套主题设计推导、`ThemeStyleForm` 与 `AppShapeTokens` 令牌下发机制、随包 GB2312 衬线字体子集定案与禁踩红线 |
纸墨主题规划方案 [已归档 / 方案原案] docs/paper-ink-theme-plan-2026-07-30.md |
📦 方案原案 | 纸与墨风格设计草案、色板选型推导过程与已否决设想记录 |
纸墨主题形状/阴影迁移审计 [已归档] docs/theme-shape-migration-audit-2026-08-01.md |
📦 归档 / 审计记录 | `AppShapeTokens` 令牌重构全量组件排查清单(6 批迁移已全量合入,归档存档) |
Material 3 现代化改造审计 [已归档] docs/m3-modernization-audit-2026-08-11.md |
📦 归档 / 历史审计 | M3 控件、无障碍色差、动态取色规范审计(预测式返回、MenuAnchor、SearchBar 等改造已落地) |
卡片重构进展记录 [已归档] docs/card-redesign-progress-2026-07-28.md |
📦 过程记录 | AI 智能卡片视觉层级、边框与统一布局重构记录 |
UI 清理交接记录 [已归档] docs/ui-cleanup-handoff-2026-07-31.md |
📦 阶段交接 | 历史硬编码颜色、无用布局样式的统一清理交接 |
字体变粗问题交接 [已归档] docs/font-issue-handoff-2026-07-25.md |
📦 过程记录 | 平台字体缺失、衬线字体加载异常排查记录 |
FontWeight 重构完成交接 [已归档] docs/font-refactor-handoff-2026-07-25.md |
📦 过程记录 | 字重体系标准化与可变字重补偿交接 |
字体重构提示词与指令记录 [已归档] docs/font-refactor-prompt-2026-07-25.md |
📦 过程记录 | 字体重构期间的提示词设计与执行指令归档 |
| 文档名称 / 路径 | 状态 / 属性 | 核心内容与当前结论 |
|---|---|---|
Thoughter 长期记忆系统深度调研与设计 docs/agent-memory-research-2026-08-08.md |
🔒 唯一事实源 | 独立物理数据库 `agent_memory.db` 隔离机制、用户画像独立 user 消息包裹、原位 supersede 与事实层打分检索定案 |
共享记忆系统构想 [已废弃 / 已被取代] docs/memory-system-plan-2026-07-31.md |
📦 归档 / 已废弃方案 | 早期三层共享记忆构想原案(已被 08-08 独立库架构完全取代) |
探索页与 Thoughter 联动改造交接 [已归档] docs/explore-thoughter-handoff-2026-07-31.md |
📦 归档 / 阶段交接 | 探索页周期统计聚合与 Thoughter 交互入口改造交接(已完成合入) |
编辑器 AI 功能迁移至 Thoughter 方案 [已归档] docs/editor-ai-to-thoughter-plan.md |
📦 归档 / 已完成方案 | 编辑器独立 AI 功能全量统一跳转 Thoughter 实施方案(6 项改造已全量落地) |
Agent 模式参考与调研 docs/agent-reference-patterns-2026-07.md |
🔍 调研参考 | 多智能体上下文管理、ReAct 工具链与流式生成模式调研 |
Thoughter Agent 问题探查报告 [已归档] docs/thoughter-agent-issues-report-2026-07-26.md |
📦 归档 / 问题核销 | 早期 Agent 循环、卡片协议与错误恢复探查(32 项中 31 项已闭环,1 项 Thinking 待办) |
Thoughter Agent 工作交接 [已归档] docs/agent-handoff-2026-07-31.md |
📦 阶段交接 | Thoughter 会话上下文流转、工具链调度与测试密钥配置交接 |
| 文档名称 / 路径 | 状态 / 属性 | 核心内容与当前结论 |
|---|---|---|
研发知识库全景审计与全维度存活待办报告 docs/codebase-roadmap-and-issues-2026-08-28.md |
🟢 最新事实源 | 全库 76 篇文档全景分类、隐私审计、历史 31 项核销证据、4 大 ADR 与 16 项存活待办路线图 |
代码库架构深化与待办核销审计报告 docs/codebase-architecture-and-tasks-audit-2026-08-23.md |
🟢 事实源 | 模块解耦、大文件与复杂文件监控、依赖反转钩子解耦与技术债核销总清单 |
WebDAV、LocalSend 与备份模块审计重构报告 docs/WebDAV_LocalSend_Backup_Code_Audit_and_Refactoring_Report.md |
🟢 事实源 | ETag 并发控制、If-Match 安全锁、凭据加密存储、Zip Slip 防御与 SQLite 读快照重构报告 |
早期代码库深度架构与质量审计报告 [已归档] docs/architecture-audit-2026-07-26.md |
📦 历史参考 | 早期分层结构、代码异味与服务层解耦审计(P0/P1 已全量清零) |
增长与产品路线规划 docs/growth-and-product-direction-2026-07-26.md |
🟢 参考 | 产品定位、用户增长策略、跨平台分发与核心功能路线 |
AI助手对话历史搜索高亮设计方案 [已实现] plans/2026-07-10-chat-history-search-highlight.md |
📦 已完成方案 | 对话历史搜索多关键字高亮匹配与展示方案(已在 `session_history_page_content.dart` 落地) |
LocalSend 同步生命周期控制实施计划 [已实现] plans/2026-07-10-localsend-sync-lifecycle.md |
📦 已完成方案 | 严格审批门禁、级联取消传播、动态端口广播与 PopScope 拦截生命周期方案 |
AI 智能结果卡片交互优化实施计划 [已实现] plans/2026-07-10-smart-result-card-ux.md |
📦 已完成方案 | 卡片三态元数据裁决、单状态指示与去内联编辑(已统一演进为 `NoteProposalCard`) |
Agent 原生富文本结构化编辑实施计划 [已实现] plans/2026-07-11-agent-rich-edit.md |
📦 已完成方案 | 基于 Quill Delta 结构化操作、SHA-256 冲突检测与零 Markdown 损耗编辑方案 |
LocalSend 增量媒体同步设计 [已实现] plans/2026-07-11-localsend-incremental-media-design.md |
📦 已完成方案 | 仅传输缺失/大小变动的增量媒体清单设计与向前兼容方案 |
LocalSend 增量媒体同步实现计划 [已实现] plans/2026-07-11-localsend-incremental-media.md |
📦 已完成方案 | 增量媒体同步逐步实施清单与任务分解 |
列表折叠态 Quill 可见前缀提取方案 [已实现] plans/2026-07-12-note-list-visible-quill-prefix.md |
📦 已完成方案 | 宽度感知最小 Delta 前缀截取与 96px 安全余量实施计划 |
| 文档名称 / 路径 | 状态 / 属性 | 核心内容与当前结论 |
|---|---|---|
架构决策总账 (ADR) docs/decisions.md |
(decisions.md) | 🔒 **团队所有重大架构决议(ADR)权威真源**,完整记录 29+ 项决策的背景、选型、详细实施、生效事实源及已推翻历史决策总账 |
团队花名册与分工 squad/team.md |
🟢 活跃 | 11 个智能体角色定义、职责边界、模型偏好与指令总览 |
协作信号与路由表 squad/routing.md |
🟢 活跃 | 任务信号到对应 Agent 的自动路由、流转与跨角色审核规则 |
协作仪式配置 squad/ceremonies.md |
🟢 活跃 | 设计评审、发版检查、回顾会等团队协作仪式触发与执行规则 |
智能体花名注册表 squad/casting/registry.json |
📦 过程配置 | 团队各角色代号、花名、职责与状态注册配置数据 |
角色分派策略配置 squad/casting/policy.json |
📦 过程配置 | 团队角色分派规则、模型分派策略与权限控制配置 |
角色分派历史记录 squad/casting/history.json |
📦 过程数据 | 历史任务分派追踪与角色执行记录数据 |
列表语义裁剪性能修复日志 [已归档] squad/log/2026-05-31-note-list-semantics-trimming.md |
📦 历史日志 | 2026-05-31 列表无障碍语义树裁剪性能优化现场排查与实测日志 |
AUTO docs/技术主管 (Tech Lead / Architecture) |
(squad/agents/auto/charter.md) | [`squad/agents/auto/history.md`](squad/agents/auto/history.md) |
BURN-E docs/市场营销与增长 (Marketing & Growth) |
(squad/agents/burn-e/charter.md) | [`squad/agents/burn-e/history.md`](squad/agents/burn-e/history.md) |
EVE docs/UI / UX 设计专家 (Design Lead) |
(squad/agents/eve/charter.md) | [`squad/agents/eve/history.md`](squad/agents/eve/history.md) |
GO-4 docs/代码审查与规范 (Code Reviewer) |
(squad/agents/go-4/charter.md) | [`squad/agents/go-4/history.md`](squad/agents/go-4/history.md) |
GOPHER docs/产品经理 (Product Manager) |
(squad/agents/gopher/charter.md) | [`squad/agents/gopher/history.md`](squad/agents/gopher/history.md) |
HAN-S docs/内容策划与本地化 (Content & Localization) |
(squad/agents/han-s/charter.md) | [`squad/agents/han-s/history.md`](squad/agents/han-s/history.md) |
M-O docs/质量保证与测试 (QA Tester) |
(squad/agents/m-o/charter.md) | [`squad/agents/m-o/history.md`](squad/agents/m-o/history.md) |
PR-T docs/商店发布与运营 (Store Manager) |
(squad/agents/pr-t/charter.md) | [`squad/agents/pr-t/history.md`](squad/agents/pr-t/history.md) |
Scribe docs/记录员与文档维护 (Logger & Docs) |
(squad/agents/scribe/charter.md) | — |
VN-GO docs/用户体验研究员 (User Researcher) |
(squad/agents/vn-go/charter.md) | [`squad/agents/vn-go/history.md`](squad/agents/vn-go/history.md) |
WALL·E docs/产品顾问 (Product Advisor) |
(squad/agents/wall-e/charter.md) | [`squad/agents/wall-e/history.md`](squad/agents/wall-e/history.md) |
Thinking 思考链与消息状态 SQLite 持久化
当前 ChatMessage.toJson/fromJson 中已包含 thinkingChunks 与 state 序列化,但在 fromMap/toMap 的 SQLite 映射中缺失对应字段,导致重新打开历史会话时 Thinking 过程无法持久化呈现。
lib/models/chat_message.dart:66-95 仅映射了 id, content, isUser, role, created_at, included_in_context, meta_json, content_format, delta_json,需在 chat_messages 表增列并完善映射。
删除 3 个重构残留的零引用死代码文件 (~1000 行)
项目已全面迁移至 UnifiedLogService,早期遗留的日志模块与合并报告模型已完全无调用方,属于纯死重。
1.
lib/models/merge_report_simple.dart (234 行,全库 0 引用)
2.
lib/services/log_service.dart (589 行,已废弃)
3.
lib/services/log_service_adapter.dart (174 行,已废弃)
封装 WebDAV 同步页面中的裸 SQL 穿透
UI 页面直接获取 DatabaseService().database 原生句柄拼装 SQL 语句查询冲突笔记数量,破坏了 Service / UI 分层隔离。
lib/pages/webdav_sync_page.dart:121-127 直接裸写 where: 'category_id = ? AND is_deleted = 0',应下沉至 DatabaseService.getConflictedNotesCount()。
WebDAV 媒体同步从单一文件大小比对升级为 SHA-256 校验和
当前 webdav_sync_service.dart 仅以文件大小作为增量媒体文件差异比对依据,当同名同大小图片内容被替换时会发生同步漏传。
lib/services/webdav_sync_service.dart:1535 标注 // TODO(media-sync): 当前仅以文件大小作为差异判断依据(历史设计)。需引入 Manifest 哈希比对。
统一笔记呈现引擎深化 (NotePresentationEngine)
QuoteContent 目前膨胀为塞满 15+ 静态 LRU 缓存、Quill Delta 截断、媒体图提取和字重补偿的 Monolithic 浅模块(1946 行)。调用方需要手动感知测量细节。
NotePresentationEngine。对外暴露单入参小接口(接收 Quote 与 RenderConstraints),输出不可变的 PreparedNoteLayout 与直接可渲染的 Widget。所有内部私有缓存与 prefix 编译全部隐藏在 Seam 背后。
统一数据归档与原子事务引擎 (DataArchiveEngine)
WebDAV、LocalSend 与 Backup/Restore 各自实现了一套打包、POSIX 路径映射、Zip 读写与 LWW 合并。
DataArchiveEngine 核心处理原子事务、校验和与数据安全(Zip Slip 防护、SQLite 快照读锁),WebDAV 和 LocalSend 仅作为挂载在 Seam 上的纯 Transport Adapter。
超大弹窗组件拆解:add_note_dialog.dart (2921 行)
新建笔记弹窗膨胀至 2921 行,内嵌了大量位置获取、天气查询、标签管理、富文本草稿及 AI 推荐逻辑。
lib/widgets/add_note_dialog.dart:34 明确标注 // TODO(refactor): This file exceeds 2400 lines and contains redundant location/weather logic. 应拆分为独立的 LocationPicker、TagSelector 与 DialogController。
AI 服务层拆解:ai_service.dart (1610 行) 与 prompt 管理
ai_service.dart 混杂了每日灵感生成、年度报告分析、自然语言搜索、流式协议处理与历史记录维护。
lib/services/ai_service.dart:27 标注 // TODO(refactor): This file exceeds 1300 lines. Consider splitting AI functionalities。应按职责拆解为 DailyInspirationService、InsightAnalysisService 与 SemanticSearchService。
主程序启动时序规范化与显式依赖图初始化
lib/main.dart 包含 500+ 行应用入口逻辑,冷启动阶段存在多处 Future.delayed 猜测异步初始化时序。
打通 Tag Push 自动触发 GitHub Release 多端构建
目前发版依赖手动 workflow_dispatch,需在 GitHub Actions 中完善 on: push: tags: 'v*' 自动流,实现 Windows MSIX 与 Android APK 自动打包上传至 Release 附件。
.github/workflows/ 构建流与 scripts/build_msix_ci.ps1。
推进 Google Play、国内酷安与 Windows Store 上架
合规配置已就绪,可利用现有的 app-store-copy 与 msstore-cli 技能快速生成各商店的多语言文案、合规说明与截图,完成提交审核。
.agents/skills/app-store-copy 与 docs/STORE_SUBMISSION_GUIDE.md。
官网 SEO 爬虫可访问性核验与卡片分享增长水印
核验 note.shangjinyun.cn 在 Cloudflare WAF 下的爬虫访问与 LLM 检索(llms.txt);笔记分享卡片导出时追加极简品牌水印。
res/llms.txt, res/sitemap.xml 与 lib/services/card_render_service.dart。
应用内评价引导 (in_app_review) 与正向时刻触发机制
在用户连续成功同步、生成周期年度报告等“啊哈正向时刻”适时触发应用内好评弹窗,提升商店评分权重。
package:in_app_review;结合用户使用天数与操作频次防打扰限流。
Thoughter 长期记忆二期:后台定期整理 (Dreaming) 与事实晋升
在设备充电或空闲时利用启发式打分与 LLM 批量提炼高频事实进用户画像,并提供可选的 agent_memory.db 独立快照备份与恢复出口。
docs/agent-memory-research-2026-08-08.md 第七节设计规划。
端侧本地智能:相机 OCR 实时识别与本地小模型纠错
打通 lib/widgets/local_ai/ 下已预留的 OCR 相机捕获(ocr_capture_page.dart)与文本区域选择(image_text_selector.dart),接入端侧轻量模型实现 100% 离线隐私识别。
lib/widgets/local_ai/ai_action_buttons.dart:48, 68 预留了本地纠错与出处识别接口。
笔记向量化索引与语义自然语言搜索 (Vector Embeddings)
为笔记文本生成端侧向量嵌入并在 SQLite 中维护向量索引表,支持自然语言模糊语义搜索(如“上个月关于排版的想法”)。
lib/services/database/database_quote_crud_mixin.dart:5 明确预留 /// TODO: 接入 tostore 向量索引 —— 在 addQuote / updateQuote / deleteQuote。
🏛️ 核心重大架构决议 (ADRs)
确立 If-Match: ETag 条件并发锁,解决远程无锁覆盖风险;在统一的 SQLite READ 事务快照中流式打包,阻断并发脏读;凭据加密入 FlutterSecureStorage;全量解包经过 PathSecurityUtils 阻断 Zip Slip 路径穿越。
主题风格锁定为独立第三维度,默认 material 不得擅动;严格禁止在 Widget 内部编写 if (style == ThemeStyle.paper) 分支,全量由 AppShapeTokens 令牌派发;基于「取值」而非「身份」驱动渲染。
推翻进主库与备份的旧方案,记忆库物理隔离为 agent_memory.db;三大铁律:不进备份、不跨端同步、支持一键物理销毁;画像独立 user 消息包裹,原位 supersede 覆盖冲突,轻量 Dart 打分检索。
推翻零字节系统字体回退路线(因 iOS CoreText 无法解析通用 serif 导致回退苹方黑体);随包分发 assets/fonts/NotoSerifSC-Subset.ttf,三端精确连续字重控制,PDF 导出引擎同步适配。
🔄 历史上被后续决议推翻/修正的决策总账
| 历史原决策 / 方案设想 | 推翻时间与来源 | 最终生效的新决议与推翻原因 |
|---|---|---|
| 进入后台清空所有测量缓存 AppLifecycleState.paused 时 resetCaches() |
2026-08-23 / 08-27 ADR | 推翻。Android 后台例行 trim 会误杀缓存致切回卡顿。改由 AppWidgetsBinding 分流,仅将 imageCache 淘汰至 8MB,保留排版缓存。 |
| 头部测宽不进入空闲预热 认为测宽 0.5ms plumbing 比收益多 |
2026-08-25 ADR | 推翻。折叠排版暖好后头部测宽成为第一大未命中点(13~16ms)。已将日期/位置/天气测宽全量纳入空闲预热。 |
| 列表项无条件 KeepAlive / 固定窗口 全量保活防重复 layout |
2026-06-13 / 07-02 ADR | 推翻/取消。全量保活无法消除首次 layout 且内存暴涨。实测回滑 frameJank=0,维持媒体/动态窗口策略。 |
| 零字节系统字体回退路线 正文依赖系统 serif,不打包字体 |
2026-08-22 ADR | 推翻。iOS 无法解析通用族名 serif 回退黑体。改为随包分发 5.17MB NotoSerifSC-Subset.ttf 保证三端一致。 |
| Gemma4 判定为不吐思考的非思考模型 默认不分配思考预算 |
2026-08-04 ADR | 推翻。实测证明需显式传 reasoning_effort=medium。在 AgentService 中针对静默模型定向补齐参数。 |
| 推测分页反序列化是首滑掉帧主因 准备花整轮重构反序列化分片 |
2026-08-26 ADR | 推翻。实测分页仅 13.6ms,主因是卡片新建引出的异步 IO 与图片解码,避免了整轮错误重构。 |
| 用户画像记忆存入主库 user_signals 表 2026-07-31 早期构想 |
2026-08-08 ADR | 推翻。定案为独立数据库 agent_memory.db,物理隔离,不进备份、不跨端同步、支持一键销毁。 |
✅ 历史已核销闭环审计项 (31 项全部解决)
| 来源审计 / 文档 | 原始问题 / 声称待办 | 代码真实修复证据 | 核销状态 |
|---|---|---|---|
THOUGHTER_ISSUES_REPORT.md |
工具报错整轮会话报废并误删已输出正文 | agent_service.dart 改为错误回喂自我纠正,保留流式正文 |
✔ 100% 已修复 |
THOUGHTER_ISSUES_REPORT.md |
requestStop 假取消导致旧循环后台互踩 | requestStop() 增加 _stopRequested 并强关 StreamClient |
✔ 100% 已修复 |
THOUGHTER_ISSUES_REPORT.md |
3 个未注册死工具与双卡片协议冗余 | 清理死工具与 smart_result_card,统一至 NoteProposalArtifact |
✔ 100% 已修复 |
m3-modernization-audit.md |
Android 预测式返回手势与 MenuAnchor 迁移 | 提交 0b96c51 完成 AndroidManifest 与全部菜单 M3 迁移 |
✔ 100% 已修复 |
architecture-audit-2026-07-26.md |
Services 逆向 import main.dart 破坏分层 | 全库 services 逆向 import 为 0,引入 onQuoteCacheInvalidate 解耦 |
✔ 100% 已修复 |
architecture-audit-2026-07-26.md |
WebDAV 媒体文件同步失败被静默吞错 | webdav_sync_service.dart:455 引入 mediaFailureCount 阻断状态前推 |
✔ 100% 已修复 |
plans/ (全 7 篇专项计划) |
搜索高亮、LocalSend 生命周期、增量媒体 Manifest、Quill 可见前缀 | 7 份专项实施方案已 100% 全量合入 main 分支 | ✔ 100% 已修复 |
theme-shape-migration-audit.md |
全 App 六批组件圆角与阴影收敛至 AppShapeTokens |
6 批迁移全部合入,彻底消除分散 BorderRadius.circular |
✔ 100% 已修复 |