本地测试通过之后,仍要守住数据、购买和发布的边界。 今天主要推进 KanBox 下一版的会员与免费额度,以及 MovieClaw 的平台发现插件。KanBox 延续已发布的 173 内测版,新增代码暂不向测试者开放;MovieClaw 则沿着独立插件的方案,完成安装、设置调整和推荐页面补强,没有改动主程序。两条工作线都涉及看似简单、实际有很多条件的状态。购买按钮能响应,不代表真实商店交易已经验收;收藏数量超过免费额度,不代表应当删除旧内容;推荐页有海报,也不代表每个来源都能一直提供图片。因此今天既补功能,也明确失败、恢复和数据保护的处理方式。文章只记录已有结果。KanBox 最新本地代码通过 2352 条测试和 Release 归档检查,但 174 尚未上传,购买与 20 条限制仍未开启。平台发现插件则已升级启用到 0.1.3,页面和部分真实来源有实际检查结果。KanBox 的免费额度限制新增,不删除旧收藏用户选择先完成购买与额度代码、测试,暂不对测试者启用。免费版按“已解析收藏”计数,第 20 条可以保存,第 21 条受限;失败链接和手写笔记不占名额。重复收录、重新解析与旧备份也要遵守同一套规则,不能让不同入口各算各的。今天补了几处容易绕过或误报的边界。未保存的编辑状态不能当作已经占用名额;快捷指令的额度误报得到修正;会员状态确认后会重试暂缓的链接收录,同时不让待处理链接卡住独立的图片笔记。计数也作了优化,新增收录不再每次把整库收藏读进内存。Pro 到期后,已有超额收藏仍然保留,只有删到不足 20 条,才可以再次新增已解析收藏。说明同步到计划页、购买页和错误提示,避免文案给出与实际规则不同的预期。备份恢复测试也覆盖了超额情况:旧内容全部保留,新的已解析收藏受到限制,不改动已有数据。这些规则已经在本地代码和回归测试中验证,但现有 TestFlight 173 仍保持免费测试状态。今天没有把额度限制推给测试者,更没有为了满足额度删除收藏。本地 StoreKit 测试覆盖购买、恢复和未完成交易会员页补齐套餐加载与切换、购买解锁、重启后识别权益和恢复购买。独立本地 StoreKit 测试先覆盖购买调用、买断退款、月付与年付到期,随后补上待家长批准、批准成功和拒绝的路径,并修复测试用例之间的模拟商店状态串扰。交易尚未验证或会员权益尚未核实时,只暂缓新增已解析收藏,已有内容不受影响。商品目录或恢复购买暂时失败,也不能因此放开免费额度。处理失败状态时,需要同时避免误解锁和误伤旧数据。隔离模拟器中的套餐界面、模拟购买、重启恢复与恢复购买均通过检查,发行归档未包含模拟购买入口。这里通过的是本地 StoreKit 测试,不是真实 App Store 沙盒交易。真实商品和收费条款仍需就绪后再验收,不能把模拟成功写成用户已经能够购买。新收藏字段让 174 必须等待云同步验收新增额度逻辑涉及收藏数据库字段,因此发布前还要验证旧库迁移和 CloudKit 结构。隔离副本中的旧收藏、笔记与合集通过新模型迁移,重开后结果一致;这项结果证明本地迁移路径可用,不能代替现有设备之间的云同步。CloudKit 开发与生产环境的新字段实际状态尚未确认。即使新字段是可选的,本地模型检查、Release 归档和发行包导出通过,也不能据此跳过云端核对。下一步仍需检查两套环境的结构,再在手机和平板上验收升级同步。当前完整检查通过 2352 条测试,归档检查通过,但 174 未上传。真实商店沙盒与设备升级也是剩余门槛。受平台访问条件限制的作者订阅同样没有标成已完成;没有相应条件,就继续保留能力边界。平台放映厅从预览走到独立插件页面MovieClaw 的平台发现页沿用上一轮的“纵向逛平台,横向选影片”设计:每个平台单独一段,背景用低透明度大字标识来源,桌面采用焦点横幅和海报排,手机保留横向滑动。按钮风格与宿主主题保持一致。今天按用户要求安装启用插件,没有改主程序。宿主当前无法让插件自动增加首页按钮,因此提供独立跳转入口,不把这个入口缺口说成已解决。页面也保留来源性质的区别,热搜、热度、官方周榜与片库推荐不是同一种榜单。0.1.1 加入服务器代理、直连与自定义代理三种模式,支持 HTTP、HTTPS 和 SOCKS5,并提供设置与测试连接按钮。Netflix 连接测试取得 20 条周榜内容,26 项测试通过。随后 0.1.2 把平台选择从需要输入 ID 的文本框改为八个中文开关,修复中文分隔符不被识别的问题,保存经过实际验证。这一轮把配置问题落实到明确控件和连接测试,没有要求用户记住平台 ID,也没有把安装成功等同于所有来源都可访问。海报失败逐级兜底,随机推荐不只挑新片Netflix 图片缺失反馈带来了 0.1.3 的补强。图片按真实海报、官方画面、缩略图、片名卡的顺序兜底,加载失败后自动切换。最后一层片名卡让缺图条目仍可辨认,但它不是一张取得成功的海报。本次检查的 40 条内容都有真实图片,仍然保留失败兜底,因为单次来源正常不能保证之后每次都正常。推荐页另外增加“随心看剧”,提供韩剧、华语剧、日剧、美剧、英剧和泰剧分类,每批 12 部,支持换一批,不限年份。0.1.3 已升级启用,原设置保留,69 项测试通过,实际页面已打开检查。今天确认了这一版的页面与样本结果,没有将它扩展成所有平台、所有图片和所有推荐都已长期验收。接下来仍有几道检查今天留下三点认识。限制新增与保存旧数据要分别处理,失败状态也不能改变这条边界。模拟测试、归档、云端结构和真机验收各自证明不同的环节。界面兜底则需要承认数据缺失,不能用替代内容假装原始资料已经取得。KanBox 下一步仍是云端字段核对、设备升级同步和真实商店沙盒验收,完成前不分发 174 或启用购买与限额。平台放映厅继续检查来源变化和图片失败路径,独立入口仍保留,宿主首页按钮支持不在今天已完成的范围内。隐私说明本文只整理当天有记录支持的开发与检查结果,省略账户信息、私人媒体与收藏内容、云容器标识、服务器地址、设备名称、本地路径及凭据相关细节。保留公开项目名、技术术语和必要的版本与测试数字,不包含完整代码或原始日志。
2026-10-14|自然语言编程日记
今天主要推进 KanBox 下一版的会员与免费额度,以及 MovieClaw 的平台发现插件。KanBox 延续已发布的 173 内测版,新增代码暂不向测试者开放;MovieClaw 则沿着独立插件的方案,完成安装、设置调整和推荐页面补强,没有改动主程序。
两条工作线都涉及看似简单、实际有很多条件的状态。购买按钮能响应,不代表真实商店交易已经验收;收藏数量超过免费额度,不代表应当删除旧内容;推荐页有海报,也不代表每个来源都能一直提供图片。因此今天既补功能,也明确失败、恢复和数据保护的处理方式。
文章只记录已有结果。KanBox 最新本地代码通过 2352 条测试和 Release 归档检查,但 174 尚未上传,购买与 20 条限制仍未开启。平台发现插件则已升级启用到 0.1.3,页面和部分真实来源有实际检查结果。
KanBox 的免费额度限制新增,不删除旧收藏
用户选择先完成购买与额度代码、测试,暂不对测试者启用。免费版按“已解析收藏”计数,第 20 条可以保存,第 21 条受限;失败链接和手写笔记不占名额。重复收录、重新解析与旧备份也要遵守同一套规则,不能让不同入口各算各的。
今天补了几处容易绕过或误报的边界。未保存的编辑状态不能当作已经占用名额;快捷指令的额度误报得到修正;会员状态确认后会重试暂缓的链接收录,同时不让待处理链接卡住独立的图片笔记。计数也作了优化,新增收录不再每次把整库收藏读进内存。
Pro 到期后,已有超额收藏仍然保留,只有删到不足 20 条,才可以再次新增已解析收藏。说明同步到计划页、购买页和错误提示,避免文案给出与实际规则不同的预期。备份恢复测试也覆盖了超额情况:旧内容全部保留,新的已解析收藏受到限制,不改动已有数据。
这些规则已经在本地代码和回归测试中验证,但现有 TestFlight 173 仍保持免费测试状态。今天没有把额度限制推给测试者,更没有为了满足额度删除收藏。
本地 StoreKit 测试覆盖购买、恢复和未完成交易
会员页补齐套餐加载与切换、购买解锁、重启后识别权益和恢复购买。独立本地 StoreKit 测试先覆盖购买调用、买断退款、月付与年付到期,随后补上待家长批准、批准成功和拒绝的路径,并修复测试用例之间的模拟商店状态串扰。
交易尚未验证或会员权益尚未核实时,只暂缓新增已解析收藏,已有内容不受影响。商品目录或恢复购买暂时失败,也不能因此放开免费额度。处理失败状态时,需要同时避免误解锁和误伤旧数据。
隔离模拟器中的套餐界面、模拟购买、重启恢复与恢复购买均通过检查,发行归档未包含模拟购买入口。这里通过的是本地 StoreKit 测试,不是真实 App Store 沙盒交易。真实商品和收费条款仍需就绪后再验收,不能把模拟成功写成用户已经能够购买。
新收藏字段让 174 必须等待云同步验收
新增额度逻辑涉及收藏数据库字段,因此发布前还要验证旧库迁移和 CloudKit 结构。隔离副本中的旧收藏、笔记与合集通过新模型迁移,重开后结果一致;这项结果证明本地迁移路径可用,不能代替现有设备之间的云同步。
CloudKit 开发与生产环境的新字段实际状态尚未确认。即使新字段是可选的,本地模型检查、Release 归档和发行包导出通过,也不能据此跳过云端核对。下一步仍需检查两套环境的结构,再在手机和平板上验收升级同步。
当前完整检查通过 2352 条测试,归档检查通过,但 174 未上传。真实商店沙盒与设备升级也是剩余门槛。受平台访问条件限制的作者订阅同样没有标成已完成;没有相应条件,就继续保留能力边界。
平台放映厅从预览走到独立插件页面
MovieClaw 的平台发现页沿用上一轮的“纵向逛平台,横向选影片”设计:每个平台单独一段,背景用低透明度大字标识来源,桌面采用焦点横幅和海报排,手机保留横向滑动。按钮风格与宿主主题保持一致。
今天按用户要求安装启用插件,没有改主程序。宿主当前无法让插件自动增加首页按钮,因此提供独立跳转入口,不把这个入口缺口说成已解决。页面也保留来源性质的区别,热搜、热度、官方周榜与片库推荐不是同一种榜单。
0.1.1 加入服务器代理、直连与自定义代理三种模式,支持 HTTP、HTTPS 和 SOCKS5,并提供设置与测试连接按钮。Netflix 连接测试取得 20 条周榜内容,26 项测试通过。随后 0.1.2 把平台选择从需要输入 ID 的文本框改为八个中文开关,修复中文分隔符不被识别的问题,保存经过实际验证。
这一轮把配置问题落实到明确控件和连接测试,没有要求用户记住平台 ID,也没有把安装成功等同于所有来源都可访问。
海报失败逐级兜底,随机推荐不只挑新片
Netflix 图片缺失反馈带来了 0.1.3 的补强。图片按真实海报、官方画面、缩略图、片名卡的顺序兜底,加载失败后自动切换。最后一层片名卡让缺图条目仍可辨认,但它不是一张取得成功的海报。
本次检查的 40 条内容都有真实图片,仍然保留失败兜底,因为单次来源正常不能保证之后每次都正常。推荐页另外增加“随心看剧”,提供韩剧、华语剧、日剧、美剧、英剧和泰剧分类,每批 12 部,支持换一批,不限年份。
0.1.3 已升级启用,原设置保留,69 项测试通过,实际页面已打开检查。今天确认了这一版的页面与样本结果,没有将它扩展成所有平台、所有图片和所有推荐都已长期验收。
接下来仍有几道检查
今天留下三点认识。限制新增与保存旧数据要分别处理,失败状态也不能改变这条边界。模拟测试、归档、云端结构和真机验收各自证明不同的环节。界面兜底则需要承认数据缺失,不能用替代内容假装原始资料已经取得。
KanBox 下一步仍是云端字段核对、设备升级同步和真实商店沙盒验收,完成前不分发 174 或启用购买与限额。平台放映厅继续检查来源变化和图片失败路径,独立入口仍保留,宿主首页按钮支持不在今天已完成的范围内。
隐私说明
本文只整理当天有记录支持的开发与检查结果,省略账户信息、私人媒体与收藏内容、云容器标识、服务器地址、设备名称、本地路径及凭据相关细节。保留公开项目名、技术术语和必要的版本与测试数字,不包含完整代码或原始日志。