Skip to content

feat(taptap-maker): upgrade runtime and add local console - #131

Merged
GaoWeiLiuXD merged 2 commits into
makecindy:mainfrom
liangdong-ttm:chore/taptap-maker-runtime-0.0.34
Sep 22, 2026
Merged

GaoWeiLiuXD merged 2 commits into
makecindy:mainfrom
liangdong-ttm:chore/taptap-maker-runtime-0.0.34

Conversation

@liangdong-ttm

@liangdong-ttm liangdong-ttm commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

What changed / 改了什么

涉及插件:taptap-maker。

  • 将随包官方 @taptap/maker Runtime 从 0.0.33 升级到 0.0.34,并保留已审查的 V1–V5 Cindy 兼容补丁。
  • 新增可复现升级配方、完整 vendor 清单校验、第三方许可证文本和双语维护避坑清单。
  • 新增 maker_console 工具及设置页入口:通过系统 Node 启动官方本地服务,严格校验 loopback URL,并在 Cindy 右侧打开;不会自动构建、提交或安装游戏运行环境。
  • 修复设置页实际入口接线、四语言文案一致性、日语召回边界,并补充控制台 URL/执行态/重复请求回归测试。

Why / 为什么

本次 Runtime 升级需要保留历史的执行三态、受限账号提示、访问状态刷新和 Skill 写入路径保护;控制台能力复用官方 Runtime 已有的 CLI JSON 接口,避免新增独立服务协议,同时让 Agent 和设置页都能打开本地 Maker 控制台。

Checklist

  • Reviewed the complete diff — no credentials, tokens, authorization codes, real user data, unrelated generated files, or node_modules. 已完成完整 diff 审查。
  • ghost.json 只声明实际使用的 Node、preview loopback 和 maker_console 能力;新增能力及必要性已在上文说明。
  • 控制台启动失败路径保留 not_executed / executed / unknown,不对 unknown 自动重试。
  • 工具描述、Runtime Skill、Manual 和设置页文案已同步。
  • ghost.json.version 从 2.1.13 提升到 2.1.15,且高于 main。
  • Cindy device verification / Cindy 实机验证 — stable macOS Cindy 0.1.89:已安装并运行该插件包,验证账号状态、项目/工具目录、广告指南和控制台设置页入口;版本不低于 minCindyVersion: 0.1.64。
  • 已运行本地化检查。
  • Runtime vendor 依赖升级后已更新 THIRD-PARTY-LICENSES.txt。
  • 每个 commit 均已使用 git commit -s 签名。

Tool declaration changes / 工具声明改动

新增 maker_console:只启动官方本地控制台并打开页面,不自动构建、提交或安装运行环境。新增 127.0.0.1 preview host 仅用于 Host 右侧打开已校验的本地控制台 URL;媒体开关不限制控制台中的手动操作。

Verification / 验证

  • node --test .tests/plugin-contract.test.mjs .tests/localization.test.mjs .tests/provisioning.test.mjs .tests/publish-workflows.test.mjs .tests/taptap-maker.test.mjs .tests/taptap-maker-upgrade.test.mjs
    • 85/85 passed
  • node .github/scripts/sync-maker-runtime.mjs 0.0.34 --check
    • vendor inventory and V1–V5 patch recipe verified
  • git diff --check passed
  • Head commit: 8e9defb33a21d54f949507ff56517b7e7eb5af7c
  • PR verification artifact: pr-plugins-131-8e9defb33a21d54f949507ff56517b7e7eb5af7c-35612704022-1
  • 未在本轮重新验证 Windows 正式版、跨会话停止控制台和 UrhoX 原生游戏窗口;这些不影响本 PR 的 Agent 控制台入口范围,但需保留为已知边界。

Sensitive changes / 敏感变更

  • vendor/dist:升级官方 @taptap/maker@0.0.34,新增/更新官方 Console 与 Local Preview 文档,并保留五项 Cindy bundle 补丁。
  • 新增 Node 入口 node/console.cjs、工具 maker_console 和 preview host 127.0.0.1;均为本地控制台启动/展示所必需。
  • 无 OAuth/API scope、托管凭证、provisioning audience 或 minCindyVersion 放宽/删除。

- Upgrade bundled @taptap/maker to 0.0.34 with a reproducible recipe, inventory checks, licenses, and retained Cindy compatibility patches.
- Add the maker_console tool and settings-page entry with loopback URL validation and explicit execution-state handling.
- Synchronize four-language contracts, maintenance documentation, and regression coverage for console routing, settings wiring, and runtime safeguards.
- Validate with the repository contract, localization, provisioning, publish-workflow, Maker, and runtime-upgrade test suites (84 tests passed).

Signed-off-by: maimaiti <liangdong@xd.com>
@greptile-apps

greptile-apps Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

当前不应合并:taptap-maker/ghost.json 中固定 127.0.0.1 preview host 的既有阻断问题仍未处理,且 Runtime/vendor 与能力边界变更需要维护者人工审查。

Summary

敏感变更,需要维护者人工 review;存在未处理的 P1:ghost.json 仍声明规则禁止的固定 127.0.0.1 preview host。

  • 将随包 @taptap/maker Runtime 从 0.0.33 升级至 0.0.34,保留五项 Cindy 兼容补丁,并新增可复现的下载、校验和升级配方。
  • 新增 maker_console 工具、Node 启动入口和设置页入口,校验 Runtime 返回的 loopback URL 后通过 Cindy preview 打开。
  • 本轮修复了归档链接预检和四语言控制台行为契约;对应先前评论现已解决。
  • Vendor 安全核查证据:PR 描述明确给出官方包 @taptap/maker@0.0.34;完整 vendor inventory、原始及补丁后 SHA-256 均由配方固定。检查 vendor diff 中的 URL、动态执行和子进程模式后,可见上游既有 TapTap/Maker、GitHub、Git、UrhoX/CDN 等端点,以及依赖内部的 Function/AJV 代码生成、base64 资源和固定命令启动逻辑;未发现本轮修复额外引入未登记的可控命令参数。由于这是第三方依赖及生成 bundle 的整体升级,仍须维护者人工确认上游来源、外联范围和执行内容。
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Agent 或设置页请求 maker_console] --> B[main.js accountRequest]
  B --> C[node/account.cjs]
  C --> D[node/console.cjs]
  D --> E[系统 Node 启动官方 Maker Runtime]
  E --> F[Runtime 返回本地控制台 URL]
  F --> G{严格校验 HTTP 127.0.0.1、端口及查询参数}
  G -->|通过| H[Cindy preview 右侧打开]
  G -->|失败| I[返回 unknown 且禁止自动重试]
Loading

Reviews (2) · Last reviewed commit: "fix(taptap-maker): address runtime revie..."

Comment thread taptap-maker/ghost.json
Comment thread taptap-maker/locales/en.json Outdated
Comment thread .github/scripts/sync-maker-runtime.mjs Outdated
- Align Maker console behavior text across manifest, locales, and settings.
- Reject archive links and special entries before Runtime extraction.
- Add regression coverage for archive type validation.

This closes the review findings about inconsistent console semantics and unsafe tar entries.
Validation: full plugin contract, localization, provisioning, publish-workflow, Maker, and upgrade tests pass (85 tests).

Signed-off-by: maimaiti <liangdong@xd.com>
@GaoWeiLiuXD

Copy link
Copy Markdown
Collaborator

关于 127.0.0.1 preview host 这条 P1,我们重新核对了宿主实现:Cindy 的本地 preview 能力明确支持 localhost、127.0.0.1、[::1],并在打开页面时校验 URL 是否命中 preview.hosts。本 PR 为 Maker 本地控制台声明 127.0.0.1,并校验 Runtime 返回的 URL 后交给宿主打开,这个方向没有问题,不需要为了绕过这条审查意见更换地址或修改控制台方案。

误报来自仓库 network-allowlist 规则写得过宽。已提交修正规则的 PR #132,明确区分宿主本地预览与插件自行访问内网;本地检查、CI 和 Greptile 审查均已通过,目前尚未合并。

这条地址相关意见应按仓库规则误报处理。Runtime/vendor 升级及新增能力的维护者人工审查仍是独立事项,不等同于整个 PR 已获批准。

@GaoWeiLiuXD

Copy link
Copy Markdown
Collaborator

更新:审查规则修正 #132 已合并到 main,合并提交为 9cb3bba8bb1c1c0b98795c09ec34c7d54e51f91b。

规则现已明确允许在 preview.hosts 声明宿主支持的回环地址,并通过宿主 preview 打开匹配的本地 URL。因此,本 PR 的 127.0.0.1 控制台预览声明无需修改;此前仅因该地址产生的 P1 不再作为阻塞项,旧审查摘要中的相关结论已过期。

Runtime/vendor 升级及新增能力仍按各自的审查要求处理。

@GaoWeiLiuXD

Copy link
Copy Markdown
Collaborator

当前 head 8e9defb33a21d54f949507ff56517b7e7eb5af7c 的 required checks 均成功、讨论均已解决;127.0.0.1 preview 声明不再是阻塞项。

维护者针对性核查已覆盖 ghost.json、main.js、settings.js、node/console.cjs、升级脚本与配方:固定系统 Node/Runtime 入口,参数数组且不启用 shell,返回地址限制为带端口的 HTTP loopback 根路径,失败保留执行态、不自动重试。Git blob 原始字节的 SHA-256 为 153ff8211e9ced79e99386ebff7cd6565ebf8be661bb711b82ef4c1153b9cc14,与配方一致。

目前还不能把 vendor 审查记为完成。按 main 的 vendor-dist-evidence 规则,请补充升级至官方 @taptap/maker@0.0.34 的完整证据清单:

  • 明确官方来源,并逐项列出新增/变化的外联目标及其调用场景、授权边界和上游依据。当前 bundle 相对 main 新见 liangdong-ttm.github.io(控制台 iframe)、registry.npmjs.org(版本查询)、tapcode-sce.spark.xd.com(图片);还包含本地回环服务。local.invalid 是 URL 解析占位,www.apache.org 是许可证链接,不应误算实际外联。不能只用“TapTap/GitHub/CDN 等”概括。
  • 动态执行核查须包含内嵌内容。顶层文本未见直接 eval(...);原有两处 AJV new Function 保留,新增 protobufjs codegen 的 Function/Function.apply,需说明输入来源与可控边界。
  • PREVIEW_BUILDER_SOURCE 是 gzip/base64 编码的构建器源码。只读解码可见额外域名,例如 dashscope.aliyuncs.com、art-asset-master.spark.xd.com、art-asset-alpha.spark.xd.com;请把内嵌构建器一起纳入完整外联、下载/执行和凭证流核查,并区分可达调用、示例与未触发分支。

以上是已有审查规则要求的证据补齐,不要求修改本地控制台地址,也不据此认定上述域名恶意。补齐后再完成维护者 Approve 和作者合并确认流程。

@GaoWeiLiuXD
GaoWeiLiuXD merged commit a9f2b85 into makecindy:main Sep 22, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants