# 26.0701-Taglauncher.Coder3-Pro状态QA命令 ## 用户目标 找回 TagLauncher 本机 QA 时用于切换免费版 / Pro 版状态的命令,并解释为什么这些命令没有出现在 `COMMANDS.md`。 ## 已完成事项 - 检查全局会话存档规则 `/Users/ar/.codex/rules/session-memory.md`。 - 检查现有命令索引 `/Users/ar/Projects/Taglauncher-doc/chat-history/codex-sessionhistory/COMMANDS.md`。 - 搜索历史会话和源码中的 `TAGLAUNCHER_QA_PRO_STATE`。 - 确认旧会话中已有碎片记录,但 `COMMANDS.md` 没有对应索引。 ## 关键结论 - 根因:这组命令最初只在旧会话中以碎片形式出现,没有按后来新增的 Runbook 规则补齐,也没有回填到 `COMMANDS.md`。 - `launchctl setenv TAGLAUNCHER_QA_PRO_STATE pro` 是强制本机 QA Pro 状态。 - `launchctl setenv TAGLAUNCHER_QA_PRO_STATE free` 是强制本机 QA 免费状态。 - `launchctl unsetenv TAGLAUNCHER_QA_PRO_STATE` 只是清理本地 QA 覆盖,恢复真实权益判断;它不等价于强制免费。 - 切换状态前必须先退出旧 TagLauncher 进程,否则 `open` 可能复用旧进程,导致环境变量变化不生效。 ## 可复用命令 / Runbook 用途:本机不走真实 App Store 购买,直接切换 TagLauncher QA 权益状态,用于验证 Pro 门禁、免费态限制、设置页文案和购买引导。 前置条件: - 使用本地构建 App:`/Users/ar/Projects/Taglauncher/src/build/TagLauncher.app`。 - 切换前先杀掉旧进程,避免复用旧环境。 - 这些命令只适用于本机 QA,不代表真实购买状态。 ### 强制切到 Pro 状态 ```bash pkill -x TagLauncher || true launchctl setenv TAGLAUNCHER_QA_PRO_STATE pro open -n /Users/ar/Projects/Taglauncher/src/build/TagLauncher.app ``` 验证步骤: - 打开 TagLauncher 设置页。 - 进入 Pro 页或其他带 Pro 状态的设置页。 - 应显示已解锁 / Pro 用户状态,Pro 功能按钮应可用。 ### 强制切回免费状态 ```bash pkill -x TagLauncher || true launchctl setenv TAGLAUNCHER_QA_PRO_STATE free open -n /Users/ar/Projects/Taglauncher/src/build/TagLauncher.app ``` 验证步骤: - 打开 TagLauncher 设置页。 - Pro 页应显示免费版用户状态。 - 受限功能应显示待解锁、不可用、只可预览或免费额度。 ### 清理 QA 覆盖,恢复真实权益状态 ```bash pkill -x TagLauncher || true launchctl unsetenv TAGLAUNCHER_QA_PRO_STATE open -n /Users/ar/Projects/Taglauncher/src/build/TagLauncher.app ``` 注意: - `unsetenv` 只表示不再强制覆盖权益状态。 - 如果本机真实 StoreKit / legacy / cache 权益是 Pro,清理后仍可能显示 Pro。 - 如果测试目标是“必须回到免费态”,应使用上面的 `setenv TAGLAUNCHER_QA_PRO_STATE free`。 搜索关键词:`TAGLAUNCHER_QA_PRO_STATE`、`launchctl setenv`、`launchctl unsetenv`、`强制 Pro`、`强制免费`、`Pro QA 状态`、`本机购买测试`。 ## 文件变更 - 新增本回填记录:`/Users/ar/Projects/Taglauncher-doc/chat-history/codex-sessionhistory/26.0701-Taglauncher.Coder3-Pro状态QA命令.md`。 - 回填 `COMMANDS.md` 中的命令索引。 - 根据用户反馈,`COMMANDS.md` 不应只给关键词和来源链接;常用命令应直接放在该文件中,方便打开后直接复制。 ## 后续建议 - 后续如果新增 QA 环境变量,必须同步写入会话 Runbook 和 `COMMANDS.md`。 - 可考虑新增项目脚本 `Scripts/pro_state_qa.sh pro|free|real`,减少手写 `launchctl` 命令出错。 - 当前全局 `session-memory.md` 对 `COMMANDS.md` 的定位偏“索引”,与用户实际查找命令的需求不完全匹配;后续应按规则治理流程修订为“索引 + 常用命令块”。