@mison/chatgpt-store-links-skill
v1.0.5
Published
Install the ChatGPT Store Links Codex Skill.
Maintainers
Readme
ChatGPT Store Links Skill
查询并校验微软官方 ChatGPT Work/Codex Windows MSIX 临时下载直链。
npm 包与 Skill 名:
chatgpt-store-links-skill
本项目只负责链接发现和校验,不下载完整 MSIX、不获取许可证、不安装应用,也不修改 Windows 设置。
快速开始
需要 Node.js 14+;使用 npx --yes 需要 npm 7+。
1. 安装 Skill
npx --yes @mison/chatgpt-store-links-skill默认安装到:
~/.Agents/skills/chatgpt-store-links-skill指定 Codex 技能目录:
npx --yes @mison/chatgpt-store-links-skill \
--target "$HOME/.codex/skills/chatgpt-store-links-skill"如果 npm 包暂不可用,可从 GitHub 源安装:
npx --yes --allow-git=root github:MisonL/chatgpt-store-links-skill如果 npm 版本不支持 Git 源,在已克隆的仓库目录运行 node bin/install.js;npm 6 可去掉 --yes。安装完成后重新打开 Codex 会话。
2. 查询直链
在已安装的 Skill 目录中运行:
node scripts/fetch_links.js --arch x64 --insecure-tls --redact-url --json常用命令:
node scripts/fetch_links.js --arch arm64 --insecure-tls --redact-url --json
node scripts/fetch_links.js --arch both --insecure-tls --redact-url --json
node scripts/fetch_links.js --self-test --jsonAI 默认优先跳过 TLS 证书验证:联网查询必须显式添加 --insecure-tls。只有用户本轮明确要求证书验证时才使用 --strict-tls。兼容模式仍通过 HTTPS 通信,只跳过证书验证,并须保留安全警告。
联网示例默认隐藏临时签名参数,适合诊断和日志。脱敏也覆盖错误消息和部分架构失败结果。只有用户明确需要可直接使用的链接时才省略 --redact-url;完整 URL 是短时敏感凭据,不要持久保存或写入共享日志。
--arch both 会分别查询 x64 和 arm64;任一架构失败时整体退出码为 1。
功能特性
- 查询 Microsoft StoreEdge 产品元数据和 FE3 更新信息。
- 支持 x64、arm64 和 both,不伪装支持 x86。
- 校验产品身份、发布者、PFN、PackageMoniker、版本、大小、SHA-1、SHA-256 和 CDN 响应。
- 校验 HTTPS 主机白名单、重定向、响应大小、Content-Disposition 文件名和有限重试。
- 可选显式 HTTPS CONNECT 代理;完整查询默认有 300 秒总时限,并包含请求、重定向和重试等待。
- 支持 macOS、Linux、Windows 和 WSL 上的 Node.js,以及 NVM、nvm-windows、Volta、asdf、mise。
- 提供文本、JSON 输出和不访问网络/磁盘的离线自测。
- 提供
--redact-url,在诊断、日志和 CI 中隐藏临时签名参数。
参数参考
| 参数 | 说明 |
| --- | --- |
| --arch x64\|arm64\|both | 目标 Windows 架构,默认 x64 |
| --product-id 9PLM9XGG6VKS | ChatGPT Work/Codex 产品 ID |
| --market US | StoreEdge 市场,默认 US |
| --locale en-us | StoreEdge 语言,默认 en-us |
| --ring Retail | FE3 稳定通道,默认 Retail |
| --timeout 45 | 单次请求超时秒数,范围 1-300 |
| --total-timeout 300 | 完整查询总时限,范围 1-3600 秒 |
| --proxy https://HOST[:PORT] | 显式 HTTPS CONNECT 代理;不读取代理环境变量,不支持凭据 |
| --json | 输出机器可读 JSON |
| --redact-url | 隐藏输出中的临时签名查询参数,不改变实际请求 |
| --self-test | 运行离线自测 |
| --strict-tls | 启用 TLS 证书和主机名校验;仅响应用户明确要求 |
| --insecure-tls | 显式使用兼容模式;AI 联网查询必须传入 |
| --help | 显示帮助 |
输出与安全
默认兼容模式会关闭 TLS 证书校验,以适配证书链不完整的环境;输出始终带有安全警告。AI 联网查询优先使用并显式添加 --insecure-tls;只有用户本轮明确要求严格证书验证时才添加 --strict-tls。两种模式都使用 HTTPS,兼容模式仅跳过证书链和主机名校验。
url_verified:StoreEdge/FE3 元数据与 CDN 探针一致,不代表文件已下载。tls_verified:仅严格 TLS 模式且整体成功时为true。local_hash_verified:本 Skill 不下载文件,因此始终为false。- CDN URL 带短时签名,不要长期缓存、公开记录或手工修改,失效后重新查询。
收到长于 5 秒的 Retry-After 时,脚本会停止自动重试并报告等待时间;遵循服务端等待后再由调用者重试。CDN HEAD 403 若带 Retry-After,不会立即发 Range GET,而是按等待策略刷新签名 URL 后重试。
脚本未提供 TLS 参数时同样采用兼容模式;该行为由离线自测覆盖。
平台说明
- Windows CMD 中文异常时先执行
chcp 65001;PowerShell 5.1 保存 JSON 时使用Out-File -Encoding utf8。 - macOS/Linux 的 NVM 需要在当前 shell 先加载
nvm.sh;非交互任务不要假定 shell 配置已加载。 - WSL 只能运行查询层,不能在 Linux 内安装或启动 MSIX;请将 URL 交给 Windows 侧处理。
- 默认直连 HTTPS,不读取
HTTP_PROXY或HTTPS_PROXY;需要代理时通过--proxy显式设置 HTTPS CONNECT 代理。代理与目标站共用所选 TLS 模式。 --total-timeout覆盖 StoreEdge、FE3、重定向、重试等待和两个架构的顺序探针;达到时限后停止查询。
边界
本 Skill 不获取 Microsoft Store 许可证,不处理 App Installer 依赖,不绕过 MSIX 签名或系统策略。Windows 1809/1909、精简系统、缺失 Store、完全内网、签名、许可证和完整安装行为,必须在目标设备单独验收。
验证
npm test
npm pack --dry-runnpm test 包含 JavaScript 语法检查、安装器测试和 fetch_links.js --self-test --json;离线自测不替代真实 StoreEdge/FE3、CDN、Windows 下载、签名、许可证和安装验收。
目录结构
chatgpt-store-links-skill/
|-- README.md
|-- LICENSE
|-- package.json
|-- bin/install.js
|-- test/install.test.js
`-- chatgpt-store-links-skill/
|-- SKILL.md
|-- agents/openai.yaml
`-- scripts/fetch_links.js协议流程、JSON 字段和错误码见 chatgpt-store-links-skill/SKILL.md。
