edit | blame | history | raw

SmartStart 分类

生成日期:2026-06-30

说明:本文件为 .codex-sessionhistory 的主题汇编,原始会话记录保留在上级目录;本文件只做索引、摘录和时间线整合,不替代原始证据。

当前状态

  • 主题说明:SmartStart 默认分类、初始化标签、本地化、合并映射和默认标签数量变化。
  • 来源记录数:3
  • 时间范围:2026-06-25 至 2026-06-27
  • 最新记录:2026-06-27-SmartStart分类精简-01.md
  • 使用方式:优先看本节和最近结论摘录;需要审计细节时回到下方时间线和原始会话文件。

最近结论摘录

最近已完成事项

来源:2026-06-27-SmartStart分类精简-01.md

  • SmartStart 默认初始化标签从 15 个降为 13 个。
  • financeotherSmartCategoryDefaults.orderedIDs 移除。
  • SmartCategoryID.smartStartDefaultCategoryID 改为可选返回值;financeother 返回 nil
  • SmartStart 第三方 catalog 和 Apple 默认应用 catalog 写入前使用 compactMap 归一化,命中 finance / other 时不生成标签关系。
  • 更新 CODEGRAPH.md、需求文档、changelog 和 QA 脚本。
  • 版本更新为 8.1.4,build 更新为 20260627.1643
  • 构建产物:/Users/ar/Projects/Taglauncher/src/build/TagLauncher.app

最近QA 结论

来源:2026-06-27-SmartStart分类精简-01.md

  • 29 个本地化 JSON 解析通过。
  • src/Scripts/smartstart_default_categories_qa.sh 通过:13 defaults,finance/other uncategorized。
  • src/Scripts/smart_category_localization_qa.sh 通过。
  • src/Scripts/smartstart_catalog_resource_qa.sh 通过。
  • src/Scripts/apple_default_apps_resource_qa.sh 通过。
  • src/Scripts/apple_default_note_policy_qa.sh 通过。
  • src/Scripts/macos14_availability_typecheck_qa.sh 通过。
  • src/Scripts/macos14_build_metadata_qa.sh 通过。
  • codesign --verify --deep --strict 通过。

最近后续建议

来源:2026-06-27-SmartStart分类精简-01.md

  • 如需交付给测试或用户,应基于 8.1.4 / 20260627.1643 另行生成 DMG,并按发布规则生成 manifest、hash 和 tag。

核心事实补录

这组事实是对旧会话存档遗漏的补录,证据来自对应 commit 下的需求文档和当前源码。原始会话记录仍保留在时间线章节。

2026-06-27 15 标签方案

来源:commit 28be00esrc/Docs/Requirements/2026-06-27-smartstart-category-simplification.md

新序号 category id 英文显示名 简体中文显示名 来源
1 browser Browsers 浏览器 原 1
2 communication Communication 沟通 原 2
3 GTD Tasks & GTD 任务与 GTD 原 3
4 Notes Notes 笔记 原 4
5 Meeting Meetings 会议 原 5
6 office Office & Docs 办公文档 原 6、7、21
7 system-enhancement System Tools 系统工具 原 8、9、26、27、28、29、30、31、33、38
8 ai-tools AI Tools AI 工具 原 10
9 development Coding 编程 原 11、12、13、14、15、16、32
10 design Design 设计 原 17、18、19、20
11 picture-photo Photos 图片 原 25
12 entertainment Entertainment 影音娱乐 原 22、23、24、34、35
13 finance Finance 财务 原 36
14 education Education 学习 原 37
15 other Other 其他 原 39

关键边界:本轮只影响新用户 / 重置分类方案后的智能初始化,不做老用户旧 39 标签自动迁移。

2026-06-27 13 标签方案

来源:commit 369c8f0src/Docs/Requirements/2026-06-27-smartstart-category-simplification.md

新序号 category id 英文显示名 简体中文显示名 来源
1 browser Browsers 浏览器 原 1
2 communication Communication 沟通 原 2
3 GTD Tasks & GTD 任务与 GTD 原 3
4 Notes Notes 笔记 原 4
5 Meeting Meetings 会议 原 5
6 office Office & Docs 办公文档 原 6、7、21
7 system-enhancement System Tools 系统工具 原 8、9、26、27、28、29、30、31、33、38
8 ai-tools AI Tools AI 工具 原 10
9 development Coding 编程 原 11、12、13、14、15、16、32
10 design Design 设计 原 17、18、19、20
11 picture-photo Photos 图片 原 25
12 entertainment Entertainment 影音娱乐 原 22、23、24、34、35
13 education Education 学习 原 37

financeother 回到未分类,不再创建默认标签;老用户历史标签仍不迁移、不删除。

当前源码中的 12 标签方案

来源:当前 src/Apptag/SmartCategorization/SmartCategory.swiftSmartCategoryDefaults.orderedIDs

新序号 category id 说明
1 browser 浏览器
2 communication 沟通,包含 Meeting 归并
3 GTD 任务与 GTD
4 Notes 笔记
5 office Office & Docs / 办公文档
6 system-enhancement System Tools / 系统工具
7 ai-tools AI 工具
8 development Coding / 编程
9 design 设计
10 picture-photo Photos / 图片
11 entertainment Entertainment / 影音娱乐
12 education 学习

当前映射边界:Meeting 归并到 communicationPDFproductivitywriting 归并到 office;系统、工具、网络、安全类归并到 system-enhancement;开发类归并到 development;设计类归并到 design;媒体、视频、音频、游戏归并到 entertainmentfinanceother 返回 nil,即不生成默认标签关系。

来源索引

日期 原始会话 主题
2026-06-25 2026-06-25-初始化标签本地化.md 初始化标签本地化
2026-06-27 2026-06-27-SmartStart分类精简.md SmartStart分类精简
2026-06-27 2026-06-27-SmartStart分类精简-01.md SmartStart分类精简-01

时间线

2026-06-25 初始化标签本地化

来源:2026-06-25-初始化标签本地化.md

2026-06-25 初始化标签本地化

用户目标
  • 全面检查 App Grid 默认初始化标签在切换到非中文语言后仍显示英文的问题。
  • 重点确认不只是阿拉伯语截图,而是所有语言的初始化标签都不能出现错误语言内容。
已完成事项
  • 排查默认标签显示链路:
  • SmartCategoryID.localizedDisplayName 使用 smart.category.* 文案键。
  • TagDatabase.ensureSystemTag 和 SmartStart 应用默认分类时均使用系统分类 ID 生成标签。
  • 根因不是显示层,而是多语言资源中大量 smart.category.* 仍为英文值。
  • 补齐 27 个非中文语言包中的 smart.category.* 初始化分类标签文案。
  • 保留简体中文、繁体中文既有正确文案,仅确认资源完整性。
  • 在启动流程中加入系统标签重刷:
  • L10n.setup()
  • TagDatabase.seedDefaultTags()
  • TagDatabase.relocalizeSystemTagsForCurrentLanguage()
  • 这样已升级用户即使保持原语言选择,也会在下次启动时把带 systemCategoryID 的旧英文系统标签迁移到当前语言。
  • 更新版本为 8.0.6 (20260625.1942)
  • 更新 src/CHANGELOG.md
  • 提交 Git:
  • 65fc2a1 Fix localized default category labels
文件变更
  • src/Apptag/ApptagApp.swift
  • 启动后主动重刷系统标签本地化。
  • src/Apptag/Info.plist
  • CFBundleShortVersionString=8.0.6
  • CFBundleVersion=20260625.1942
  • src/Apptag/Localization/*.json
  • 补齐非中文语言的 smart.category.* 初始化标签文案。
  • src/Scripts/smart_category_localization_qa.sh
  • 新增 29 语种 SmartCategory 本地化 QA。
  • 检查每个语言包都包含 43 个 smart.category.* key。
  • 禁止非英文语言包直接复制英文初始化标签,保留 PDFDevOps 这类技术通用词例外。
  • 检查启动迁移 hook 存在。
  • src/CHANGELOG.md
  • 增加 8.0.6 记录。
QA 结果
  • src/Scripts/smart_category_localization_qa.sh
  • PASS:29 语种、43 个 SmartCategory key,非英文语言包无英文直拷标签。
  • src/Scripts/smartstart_catalog_resource_qa.sh
  • PASS:29 语种、3453 个非 Apple 条目、29 个 notes catalogs,边界无 Apple 默认备注污染。
  • src/Scripts/apple_default_apps_resource_qa.sh
  • PASS:90 个 Apple 默认应用、29 语种、notes 长度约束和运行资源边界通过。
  • src/Scripts/macos14_availability_typecheck_qa.sh
  • PASS:arm64 macOS 14.0 availability typecheck。
  • APP_BUILD=20260625.1942 bash src/build.sh
  • PASS:生成 /Users/ar/Projects/Taglauncher/src/build/TagLauncher.app
  • 产物检查:
  • CFBundleShortVersionString=8.0.6
  • CFBundleVersion=20260625.1942
  • build 产物中的阿拉伯语、法语、日语、德语、简体中文、繁体中文关键初始化标签均已写入资源。
未决问题
  • 工作区仍存在本次之外的既有脏文件,包括 CODE_GOVERNANCE.md 修改、历史 docs/ 删除和其他文档/画布目录。本次提交未纳入这些内容。
后续建议
  • 若用户要发布此版本,再按发布 SOP 做冻结 tag、DMG/PKG/ASC 上传资料。
  • 后续新增 SmartCategory 时必须同步更新 29 语种文案,否则 smart_category_localization_qa.sh 会失败。

2026-06-27 SmartStart分类精简

来源:2026-06-27-SmartStart分类精简.md

2026-06-27 SmartStart 分类精简

用户目标
  • 将 SmartStart 智能初始化默认标签继续精简,降低默认分类冗余。
  • 用户明确要求不考虑老用户迁移:当前正式用户很少,不希望为少数历史数据写复杂迁移逻辑。
已完成事项
  • 默认 SmartStart 标签精简为 15 个。
  • 将 Video、Audio、Games 归并到 Entertainment。
  • 保持本轮范围只影响新初始化和重置初始化方案,不迁移、不重写、不删除老用户已有标签。
  • 更新版本为 8.1.3,build 为 20260627.1605。
  • 构建产物:/Users/ar/Projects/Taglauncher/src/build/TagLauncher.app
关键决策
  • 不做老用户迁移。
  • SmartCategoryID case 保留,仅用于旧数据解码和 catalog 原始分类归一化。
  • 写入新 SmartStart 默认方案前统一通过 smartStartDefaultCategoryID 映射到目标 15 标签。
  • 需求文档中明确记录“无老用户迁移策略”。
文件变更
  • /Users/ar/Projects/Taglauncher/CODEGRAPH.md
  • /Users/ar/Projects/Taglauncher/src/Apptag/SmartCategorization/SmartCategory.swift
  • /Users/ar/Projects/Taglauncher/src/Apptag/SmartCategorization/SmartStartService.swift
  • /Users/ar/Projects/Taglauncher/src/Apptag/AppleDefaultAppCatalog.swift
  • /Users/ar/Projects/Taglauncher/src/Apptag/DataLayer.swift
  • /Users/ar/Projects/Taglauncher/src/Apptag/Localization/*.json
  • /Users/ar/Projects/Taglauncher/src/Scripts/smartstart_default_categories_qa.sh
  • /Users/ar/Projects/Taglauncher/src/Docs/Requirements/2026-06-27-smartstart-category-simplification.md
  • /Users/ar/Projects/Taglauncher/src/CHANGELOG.md
  • /Users/ar/Projects/Taglauncher/src/Apptag/Info.plist
QA 结论
  • 29 个本地化 JSON 解析通过。
  • smartstart_default_categories_qa.sh 通过。
  • smart_category_localization_qa.sh 通过。
  • smartstart_catalog_resource_qa.sh 通过。
  • apple_default_apps_resource_qa.sh 通过。
  • apple_default_note_policy_qa.sh 通过。
  • macos14_availability_typecheck_qa.sh 通过。
  • macos14_build_metadata_qa.sh 通过。
  • App 构建通过,签名校验通过。
  • quick_search_app_name_qa.sh 因本机缺少“贝锐向日葵被控.app”跳过。
Git
  • Commit:28be00e Simplify SmartStart default categories
  • 当前仍存在与本轮无关的历史 dirty 项,例如 CODE_GOVERNANCE.md 修改和旧 docs/ 目录删除;本轮未处理、未回退、未纳入提交。
后续建议
  • 如需发布包,再基于 8.1.3 / 20260627.1605 构建 DMG 并做发布归档。

2026-06-27 SmartStart分类精简-01

来源:2026-06-27-SmartStart分类精简-01.md

2026-06-27 SmartStart 分类精简 13 标签

用户目标
  • 在上一轮 15 个 SmartStart 默认标签基础上继续精简。
  • 移除 Finance / 财务Other / 其他 两个默认标签。
  • 财务类 App 和其它无法明确分类的 App 都应回到未分类。
  • 不做老用户迁移,不为了少数历史用户增加冗余迁移逻辑。
已完成事项
  • SmartStart 默认初始化标签从 15 个降为 13 个。
  • financeotherSmartCategoryDefaults.orderedIDs 移除。
  • SmartCategoryID.smartStartDefaultCategoryID 改为可选返回值;financeother 返回 nil
  • SmartStart 第三方 catalog 和 Apple 默认应用 catalog 写入前使用 compactMap 归一化,命中 finance / other 时不生成标签关系。
  • 更新 CODEGRAPH.md、需求文档、changelog 和 QA 脚本。
  • 版本更新为 8.1.4,build 更新为 20260627.1643
  • 构建产物:/Users/ar/Projects/Taglauncher/src/build/TagLauncher.app
QA 结论
  • 29 个本地化 JSON 解析通过。
  • src/Scripts/smartstart_default_categories_qa.sh 通过:13 defaults,finance/other uncategorized。
  • src/Scripts/smart_category_localization_qa.sh 通过。
  • src/Scripts/smartstart_catalog_resource_qa.sh 通过。
  • src/Scripts/apple_default_apps_resource_qa.sh 通过。
  • src/Scripts/apple_default_note_policy_qa.sh 通过。
  • src/Scripts/macos14_availability_typecheck_qa.sh 通过。
  • src/Scripts/macos14_build_metadata_qa.sh 通过。
  • codesign --verify --deep --strict 通过。
Git
  • Commit:369c8f0 Reduce SmartStart default categories to thirteen
  • 当前仍存在与本轮无关的历史 dirty 项,例如 CODE_GOVERNANCE.md 修改和旧 docs/ 目录删除;本轮未处理、未回退、未纳入提交。
后续建议
  • 如需交付给测试或用户,应基于 8.1.4 / 20260627.1643 另行生成 DMG,并按发布规则生成 manifest、hash 和 tag。