DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-chatgpt-price

c

dsh-chatgpt-price

Manifest valid

DeepSeek Harness plugin: ChatGPT subscription prices by country (Go/Plus/Pro), refreshed daily from each App Store, with USD and CNY conversion.

UI (client)hasBundlePatch

dsh-chatgpt-price

license: MIT

ChatGPT 各国订阅价格看板 — a DeepSeek Harness plugin that keeps a daily-refreshed table of what ChatGPT costs in each country's App Store (Go / Plus / Pro 100 / Pro 200 / Pro 500), converted to CNY at 7.2 CNY/USD and to USD, with a day-over-day change mark, plan selection and per-plan sorting.

ChatGPT prices by country

What it does

Sourceapps.apple.com/{storefront}/app/chatgpt/id6448311069 — public, fast, tax-inclusive in-app prices
PlansGo · Plus · Pro 100 · Pro 200 · Pro 500 (consumables such as N Credits are dropped)
Regions21 storefronts by default; HK / CN report "not sold there" instead of a fake price
Conversionlocal → USD (FX snapshot) → CNY (cnyPerUsd, default 7.2)
Refreshonce a day at refreshHour in timeZone, plus a boot refresh when the cache is older than 20 h
UIa Settings page, plus an optional dsh-better-sidebar tab
Agent toolschatgpt_price_board, refresh_chatgpt_prices

界面用法

  • 顶部档位按钮(Go / Plus / Pro 100 / Pro 200 / Pro 500)就是「当前档位」选择器: 摘要行的最低/最高/价差、相对美国列以及所有排序都按选中档位计算;再点一次已选 档位即回到「全部档位」,列出所有列。
  • 「排序」下拉:默认顺序 / 价格从低到高 / 价格从高到低 / 相对美国从低到高。没取到 价格的地区始终排在最后,选择会被记住。
  • 当前档位里最便宜的一格标「最便宜」,行首 # 是当前排序下的名次。

Why the App Store and not chatgpt.com

chatgpt.com/pricing renders its price numbers client-side: the server HTML contains plan cards with an empty price span, and the page is byte-identical for every ?country=. /backend-api/payments/checkout/prices answers 404. The App Store product page, in contrast, is public, fast and embeds every in-app purchase as a leadingText / trailingText pair ("ChatGPT Plus" → "¥3,000"). Two caveats the parser handles:

  • consumable rows (100 Credits …) are not plans and are dropped;
  • the list contains a duplicate ChatGPT Plus row carrying the Pro-200 price, so duplicates are resolved to the lowest amount.

Hong Kong and mainland China storefronts return 404 (the app is not sold there); those regions are reported as unavailable instead of being silently missing.

Install

The bundle is a normal file package; install the directory, not a tarball:

git clone https://github.com/chaolee111/dsh-chatgpt-price.git
dsh plugin --profile desktop add ./dsh-chatgpt-price

or from the Harness UI: Settings → Plugins → install bundle, choosing this folder. The bundle patch inserts one host row (id: chatgpt-price). Restart the app to mount it.

Config

Override the row in the profile's cordis.patch.yml (a patch replaces the whole config, so restate every key you keep):

- id: chatgpt-price
  config:
    regions: [US, JP, TW, SG, IN, GB, DE, BR, TR, AU]
    cnyPerUsd: 7.2
    refreshHour: 9
    timeZone: Asia/Shanghai
keydefaultmeaning
regions21 storefrontsApp Store storefront codes to track
cnyPerUsd7.2CNY per USD used for the ¥ column (OpenAI's own rate)
timeZone / refreshHourAsia/Shanghai / 9when the daily refresh happens
rateSourcesopen.er-api → exchangerate-api → frankfurterFX providers, tried in order
requestTimeoutMs20000per-request timeout
concurrency / requestsPerSecond4 / 6politeness limits
autoRefreshOnBoottruerefresh at startup when the snapshot is older than 20 h
maxHistoryDays90days of history kept in the snapshot

Architecture

lib/index.js    host half: schedule tick, routes, agent tools, config schema
lib/board.js    snapshot store: scrape → convert → persist (tmp + rename) → history
lib/scrape.js   App Store page → { plan, amount, currency } pairs
lib/money.js    price parsing (comma/space decimals, ISO codes) + FX conversion
lib/shared.js   route names, plan ids, record shapes
lib/client.js   browser half: Settings page + optional sidebar tab
locale/         display strings for plugin search (zh / en)
  • Host half does one scrape per day for every tracked region plus one FX snapshot, writes an atomic JSON file, and exposes two routes and two agent tools. Every open window reads the cache, so ten windows cost zero extra requests.
  • Browser half only reads the cached snapshot from the host and renders it with theme tokens (--dsw-alias-*), so light and dark follow the shell.

Routes and tools

kindnamepurpose
GET/plugins/dsh-chatgpt-price/snapshotthe cached snapshot (loopback only)
POST/plugins/dsh-chatgpt-price/refreshforce a refresh, returns the new snapshot (loopback only)
toolchatgpt_price_boardread rows, filter by region / plan
toolrefresh_chatgpt_pricesforce a refresh and summarise the result

The snapshot file is chatgpt-price.json in the DSH data directory.

Notes on the numbers

App Store in-app purchase list prices include local tax outside the US, while the web checkout may show a different figure for the same plan — the checkout page wins. The ¥ column is a conversion for comparison, not a price you can pay.

The screenshot is regenerated from a real snapshot, with no hand-edited numbers:

python docs/make_screenshot.py "$env:USERPROFILE\.dsh\chatgpt-price.json" docs/screenshot.png

The script needs only Pillow. It re-applies the table's own ordering rules (plan selection, cheapest-first sort, vs-US ratio), so the picture matches what the plugin renders for the same data.

License

MIT

Comments

Loading…

Similar plugins

dsh-chatgpt-sub

by songoao25

ChatGPT Subscription - a DeepSeek Harness plugin: bind your ChatGPT account via official OAuth and chat with ChatGPT models inside DSH, using your Plus/Pro subscription quota

Development & InfrastructureManifest valid

★ 26

↓ 993/wk

MIT

JavaScript

Oct 17, 2026

dsh plugin --profile web add dsh-chatgpt-sub

by songoao25

ChatGPT Subscription - a DeepSeek Harness plugin: bind your ChatGPT account via official OAuth and chat with ChatGPT models inside DSH, using your Plus/Pro subscription quota

Workflow & AutomationDevelopment & InfrastructureModels & ProvidersManifest valid

★ 18

MIT

JavaScript

Sep 24, 2026

dsh plugin --profile web add dsh-chatgpt-subscription

by TheTianzz

DeepSeek Harness plugin: 账户余额 + 会话费用(/balance /cost 命令、deepseek_billing 工具、Web UI 双胶囊),官方价格每 12 小时自动同步

Models & ProvidersManifest valid

★ 6

↓ 62/wk

MIT

JavaScript

Aug 14, 2026

dsh plugin --profile web add dsh-billing

by Aa728848

DSH provider plugin for Codex access through a ChatGPT subscription.

Models & ProvidersManifest valid

★ 67

↓ 4.5k/wk

MIT

TypeScript

Oct 20, 2026

dsh plugin --profile web add @eddyskywalker/dsh-chatgpt-subscription

by boNeXY226

DeepSeek Harness (dsh) 插件:/cost 查看每个会话花费 + 可拖拽的悬浮费用胶囊

Manifest valid

★ 3

MIT

JavaScript

Aug 13, 2026

dsh plugin --profile web add dsh-cost-chip

by littlefish04

DeepSeek Harness (dsh) plugin: shows the CNY cost of every completed turn under the turn

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 0

MIT

JavaScript

Oct 7, 2026

dsh plugin --profile web add dsh-turn-price