前言¶
在 DeepSeek Harness(DSH)里做智能体或写订阅相关说明时,经常需要回答「某国 ChatGPT Go / Plus / Pro 大概多少钱、折合人民币多少」。官网 chatgpt.com/pricing 的价格由前端渲染,按国家切换时服务端 HTML 几乎不变;部分后端价格接口也不可用。手工查各国 App Store 页面再换算汇率,既慢又难保持口径一致。
下面介绍社区插件 dsh-chatgpt-price(维护者 chaolee111,分类:联网工具):从各国 App Store 公开商品页抓取含税 IAP 标价,按刷新当次的实时汇率换算 USD 与 CNY,默认每天定时更新,并在 Harness 内提供设置页与可选侧栏标签,同时暴露 Agent 工具供对话查询。
这是什么¶
dsh-chatgpt-price 是面向 DeepSeek Harness 的 bundle 插件(当前 package 版本 0.3.0,许可证 MIT)。它维护一张按国家/地区展开的 ChatGPT 订阅价格表,覆盖档位 Go、Plus、Pro 100、Pro 200、Pro 500(消耗型如 N Credits 会丢弃),默认跟踪 21 个 App Store 店面;香港、中国大陆店面返回 404 时会在表中标明「该地区未销售」,而不是填假价格。
数据来源为各店面的公开页面:
apps.apple.com/{storefront}/app/chatgpt/id6448311069
插件在宿主进程侧抓取、换算并写入本地快照;浏览器端只读缓存渲染,多窗口不会重复打外网。
核心功能¶
价格与换算¶
| 环节 | 说明 |
|---|---|
| 原价 | 各店面 App Store 内购标价(非美国地区一般为含税价) |
| 档位 | Go · Plus · Pro 100 · Pro 200 · Pro 500 |
| 换算 | 当地货币 → USD(按币种汇率)→ CNY(同一轮刷新拉取的 实时 USD/CNY) |
| 对比 | 界面支持相对美国同档位的比例;支持日环比标记 |
解析时会处理 App Store 列表中的重复行(例如重复的 ChatGPT Plus 行可能带 Pro 200 价格),对重复档位取 最低 金额。
刷新策略¶
- 在配置的
timeZone下,每天refreshHour执行一次全量抓取。 - 若缓存超过 20 小时,启动时也会触发刷新(
autoRefreshOnBoot默认为true)。 - 每轮刷新会重新请求汇率;默认依次尝试
open.er-api→exchangerate-api→frankfurter(配置项rateSources)。若所有汇率源失败,该次刷新的 CNY 列会留空,而不会用固定 7.2 之类数字冒充。
快照文件名为 chatgpt-price.json,位于 DSH 数据目录。
界面与 Agent¶
- Settings 页:档位按钮(Go / Plus / Pro 100 / Pro 200 / Pro 500)用于选择「当前档位」;再点已选档位可回到「全部档位」。排序支持默认顺序、价格升序/降序、相对美国从低到高;未取到价的地区排在最后,选择会被记住。当前档位最便宜一格标「最便宜」,行首
#为当前排序名次。 - 可选配合 dsh-better-sidebar 在侧栏增加标签页。
- Agent 工具:
chatgpt_price_board(按地区/档位读表)、refresh_chatgpt_prices(强制刷新并摘要结果)。
HTTP 路由(仅 loopback)¶
| 方法 | 路径 | 作用 |
|---|---|---|
GET |
/plugins/dsh-chatgpt-price/snapshot |
返回缓存快照 |
POST |
/plugins/dsh-chatgpt-price/refresh |
强制刷新并返回新快照 |
失败与容错¶
店面请求经代理发出时,偶发会拿到无商品结构的空壳页。插件不会把单次坏页当真:
- 单地区失败按
retries线性退避重试;404 不重试(视为该地区未销售)。 - 仍失败的地区 沿用上一轮价格 并标记
stale: true。 - 整轮失败或部分失败时,可在
retryMinutes后再次调度(0关闭);调度器每分钟检查。 - 快照先写临时文件再
rename,避免写一半崩溃留下残缺 JSON。
安装与启用¶
插件以目录 bundle 形式安装(不要装 tarball)。官方 README 给出的步骤如下。
先取得插件目录(示例使用克隆仓库;也可在 UI 中选择本地文件夹):
git clone https://github.com/chaolee111/dsh-chatgpt-price.git
dsh plugin --profile desktop add ./dsh-chatgpt-price
或在 Harness:Settings → Plugins → install bundle,选中该文件夹。bundle 的 patch 会插入一条宿主配置(id: chatgpt-price)。重启应用 后挂载生效。
社区目录页(与 DeepSeek / 幻方无官方从属关系):skillhub.cn/plugins/chaolee111/dsh-chatgpt-price。
配置¶
在 profile 的 cordis.patch.yml 中覆盖对应行(patch 会替换整个 config,需写全要保留的键):
- id: chatgpt-price
config:
regions: [US, JP, TW, SG, IN, GB, DE, BR, TR, AU]
refreshHour: 9
timeZone: Asia/Shanghai
| 键 | 默认 | 含义 |
|---|---|---|
regions |
21 个店面 | 要跟踪的 App Store 店面代码 |
timeZone / refreshHour |
Asia/Shanghai / 9 |
每日刷新时刻 |
rateSources |
见上文三家 | 汇率源,按序在每次刷新时尝试 |
requestTimeoutMs |
20000 |
单次请求超时 |
concurrency / requestsPerSecond |
4 / 6 |
并发与限速 |
retries |
2 |
单地区失败重试次数(404 除外) |
retryDelayMs |
800 |
重试退避基数 |
retryMinutes |
5 |
整轮失败后的再次尝试间隔 |
autoRefreshOnBoot |
true |
缓存过旧时启动即刷新 |
maxHistoryDays |
90 |
快照中保留的历史天数 |
典型用法¶
在设置页看板¶
安装并重启后,打开插件 Settings 页(或侧栏标签,若已装 sidebar 扩展)。先选档位再选排序,即可对比各国同档价格、USD/CNY 列及相对美国比例。
让 Agent 读表或刷新¶
在对话中由 Harness 调用工具(名称以宿主注册为准):
chatgpt_price_board:按region、plan过滤行。refresh_chatgpt_prices:触发一次抓取并返回摘要。
本地调试快照可用 loopback 路由:
GET /plugins/dsh-chatgpt-price/snapshot
POST /plugins/dsh-chatgpt-price/refresh
理解 CNY 列¶
README 说明:CNY 列为按实时汇率估算的 实际成本感,不是官网展示的「1 USD = 7.2 CNY」贴纸换算;未包含 部分国内卡境外交易手续费(常见约 1%–1.5%)。App Store IAP 标价在 US 以外通常含税,与网页结账页可能不一致时,以结账页为准。
适用场景与注意¶
适合:需要在 DSH 内快速对比各国 ChatGPT 订阅价、写文档/回答用户、或让 Agent 带数据说话的场景;依赖公开 App Store 页与第三方汇率 API,属于 联网工具。
注意:
- 插件以 当前 dsh 进程权限 运行,会访问外网抓取店面与汇率;安装前请阅读 源码与 MIT 许可证。
- 数字来自 App Store 展示价与当次汇率,不构成支付承诺;未销售地区会明确标注,勿与「漏抓」混淆。
- 社区目录与 GitHub 为独立维护入口,安装方式以 README 为准,不要凭插件名自行拼接未文档化的
dsh plugin add参数。
结尾¶
dsh-chatgpt-price 把「各国 App Store ChatGPT 订阅价 + 实时汇率换算 + 日更缓存」收进 DSH 插件:人可在设置页排序对比,Agent 可通过 chatgpt_price_board / refresh_chatgpt_prices 复用同一份快照。