edit | blame | history | raw

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 状态

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 功能按钮应可用。

强制切回免费状态

pkill -x TagLauncher || true
launchctl setenv TAGLAUNCHER_QA_PRO_STATE free
open -n /Users/ar/Projects/Taglauncher/src/build/TagLauncher.app

验证步骤:

  • 打开 TagLauncher 设置页。
  • Pro 页应显示免费版用户状态。
  • 受限功能应显示待解锁、不可用、只可预览或免费额度。

清理 QA 覆盖,恢复真实权益状态

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_STATElaunchctl setenvlaunchctl 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.mdCOMMANDS.md 的定位偏“索引”,与用户实际查找命令的需求不完全匹配;后续应按规则治理流程修订为“索引 + 常用命令块”。