dsh-cloud 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dsh_cloud-0.2.0.dist-info/METADATA +27 -0
- dsh_cloud-0.2.0.dist-info/RECORD +23 -0
- dsh_cloud-0.2.0.dist-info/WHEEL +4 -0
- dsh_cloud-0.2.0.dist-info/entry_points.txt +2 -0
- dsh_cloud-0.2.0.dist-info/licenses/LICENSE +264 -0
- dsh_cloud_cli/__init__.py +1 -0
- dsh_cloud_cli/__main__.py +5 -0
- dsh_cloud_cli/cli.py +367 -0
- dsh_cloud_cli/release-manifest.json +22 -0
- dsh_cloud_cli/templates/Caddyfile +67 -0
- dsh_cloud_cli/templates/compose.build.yml +10 -0
- dsh_cloud_cli/templates/compose.postgres.yml +36 -0
- dsh_cloud_cli/templates/config/i18n/en.json +583 -0
- dsh_cloud_cli/templates/config/i18n/zh.json +583 -0
- dsh_cloud_cli/templates/config/models.curated.txt +37 -0
- dsh_cloud_cli/templates/config/models.json +227 -0
- dsh_cloud_cli/templates/config/pricing.cny.json +96 -0
- dsh_cloud_cli/templates/config/pricing.eur.json +96 -0
- dsh_cloud_cli/templates/config/pricing.gbp.json +96 -0
- dsh_cloud_cli/templates/config/pricing.hkd.json +96 -0
- dsh_cloud_cli/templates/config/pricing.jpy.json +96 -0
- dsh_cloud_cli/templates/config/pricing.usd.json +96 -0
- dsh_cloud_cli/templates/docker-compose.yml +159 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "由 server/scripts/gen_models.py 生成,请勿手改——手写的价目表迟早会漂。倍率以 claude-sonnet-5 为 1.00x 基准(倍率是相对值);1.00x = 1000 积分 / 1M tokens;$1 = 100 积分。混合单价 = 输入 × 0.75 + 输出 × 0.25。实际扣费再乘 MODEL_PRICE_MARKUP。",
|
|
3
|
+
"baseline_model": "claude-sonnet-5",
|
|
4
|
+
"credits_per_baseline_m": 1000,
|
|
5
|
+
"models": [
|
|
6
|
+
{
|
|
7
|
+
"id": "deepseek-v4-flash",
|
|
8
|
+
"upstream_model": "deepseek-v4-flash",
|
|
9
|
+
"display_name": "DeepSeek-V4-Flash",
|
|
10
|
+
"provider": "DeepSeek",
|
|
11
|
+
"input_usd_per_m": 0.98,
|
|
12
|
+
"output_usd_per_m": 1.96,
|
|
13
|
+
"multiplier": 0.044,
|
|
14
|
+
"credits_per_m": 44,
|
|
15
|
+
"default": true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "gemini-3.6-flash",
|
|
19
|
+
"upstream_model": "gemini-3.6-flash",
|
|
20
|
+
"display_name": "Gemini-3.6-Flash",
|
|
21
|
+
"provider": "Google",
|
|
22
|
+
"input_usd_per_m": 10.5,
|
|
23
|
+
"output_usd_per_m": 52.5,
|
|
24
|
+
"multiplier": 0.75,
|
|
25
|
+
"credits_per_m": 750,
|
|
26
|
+
"default": false
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "mimo-v2-omni",
|
|
30
|
+
"upstream_model": "mimo-v2-omni",
|
|
31
|
+
"display_name": "MiMo-V2-Omni",
|
|
32
|
+
"provider": "Xiaomi",
|
|
33
|
+
"input_usd_per_m": 0.98,
|
|
34
|
+
"output_usd_per_m": 1.96,
|
|
35
|
+
"multiplier": 0.044,
|
|
36
|
+
"credits_per_m": 44,
|
|
37
|
+
"default": false
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "MiniMax-M2.7",
|
|
41
|
+
"upstream_model": "MiniMax-M2.7",
|
|
42
|
+
"display_name": "MiniMax-M2.7",
|
|
43
|
+
"provider": "MiniMax",
|
|
44
|
+
"input_usd_per_m": 2.1,
|
|
45
|
+
"output_usd_per_m": 8.4,
|
|
46
|
+
"multiplier": 0.13,
|
|
47
|
+
"credits_per_m": 131,
|
|
48
|
+
"default": false
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "Qwen/Qwen3-Omni-30B-A3B-Instruct",
|
|
52
|
+
"upstream_model": "Qwen/Qwen3-Omni-30B-A3B-Instruct",
|
|
53
|
+
"display_name": "Qwen3-Omni-30B-A3B",
|
|
54
|
+
"provider": "Alibaba",
|
|
55
|
+
"input_usd_per_m": 0.7,
|
|
56
|
+
"output_usd_per_m": 2.8,
|
|
57
|
+
"multiplier": 0.044,
|
|
58
|
+
"credits_per_m": 44,
|
|
59
|
+
"default": false
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "Qwen/Qwen3-VL-32B-Instruct",
|
|
63
|
+
"upstream_model": "Qwen/Qwen3-VL-32B-Instruct",
|
|
64
|
+
"display_name": "Qwen3-VL-32B",
|
|
65
|
+
"provider": "Alibaba",
|
|
66
|
+
"input_usd_per_m": 1.4,
|
|
67
|
+
"output_usd_per_m": 4.2,
|
|
68
|
+
"multiplier": 0.075,
|
|
69
|
+
"credits_per_m": 75,
|
|
70
|
+
"default": false
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "deepseek-v4-pro",
|
|
74
|
+
"upstream_model": "deepseek-v4-pro",
|
|
75
|
+
"display_name": "DeepSeek-V4-Pro",
|
|
76
|
+
"provider": "DeepSeek",
|
|
77
|
+
"input_usd_per_m": 3.045,
|
|
78
|
+
"output_usd_per_m": 6.09,
|
|
79
|
+
"multiplier": 0.14,
|
|
80
|
+
"credits_per_m": 136,
|
|
81
|
+
"default": false
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "kimi-k2.7-code",
|
|
85
|
+
"upstream_model": "kimi-k2.7-code",
|
|
86
|
+
"display_name": "Kimi-K2.7-Code",
|
|
87
|
+
"provider": "Moonshot",
|
|
88
|
+
"input_usd_per_m": 5.2,
|
|
89
|
+
"output_usd_per_m": 21.6,
|
|
90
|
+
"multiplier": 0.33,
|
|
91
|
+
"credits_per_m": 332,
|
|
92
|
+
"default": false
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "MiniMax-M3",
|
|
96
|
+
"upstream_model": "MiniMax-M3",
|
|
97
|
+
"display_name": "MiniMax-M3",
|
|
98
|
+
"provider": "MiniMax",
|
|
99
|
+
"input_usd_per_m": 2.1,
|
|
100
|
+
"output_usd_per_m": 8.4,
|
|
101
|
+
"multiplier": 0.13,
|
|
102
|
+
"credits_per_m": 131,
|
|
103
|
+
"default": false
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "glm-5.2",
|
|
107
|
+
"upstream_model": "glm-5.2",
|
|
108
|
+
"display_name": "GLM-5.2",
|
|
109
|
+
"provider": "Zhipu",
|
|
110
|
+
"input_usd_per_m": 9.8,
|
|
111
|
+
"output_usd_per_m": 30.8,
|
|
112
|
+
"multiplier": 0.54,
|
|
113
|
+
"credits_per_m": 538,
|
|
114
|
+
"default": false
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "qwen3.8-max",
|
|
118
|
+
"upstream_model": "qwen3.8-max",
|
|
119
|
+
"display_name": "Qwen3.8-Max",
|
|
120
|
+
"provider": "Alibaba",
|
|
121
|
+
"input_usd_per_m": 12.0,
|
|
122
|
+
"output_usd_per_m": 36.0,
|
|
123
|
+
"multiplier": 0.64,
|
|
124
|
+
"credits_per_m": 643,
|
|
125
|
+
"default": false
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "doubao-seed-2-0-pro-260215",
|
|
129
|
+
"upstream_model": "doubao-seed-2-0-pro-260215",
|
|
130
|
+
"display_name": "Doubao-Seed-2.0-Pro",
|
|
131
|
+
"provider": "ByteDance",
|
|
132
|
+
"input_usd_per_m": 5.474,
|
|
133
|
+
"output_usd_per_m": 27.132,
|
|
134
|
+
"multiplier": 0.39,
|
|
135
|
+
"credits_per_m": 389,
|
|
136
|
+
"default": false
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": "kimi-k3",
|
|
140
|
+
"upstream_model": "kimi-k3",
|
|
141
|
+
"display_name": "Kimi-K3",
|
|
142
|
+
"provider": "Moonshot",
|
|
143
|
+
"input_usd_per_m": 20.0,
|
|
144
|
+
"output_usd_per_m": 100.0,
|
|
145
|
+
"multiplier": 1.43,
|
|
146
|
+
"credits_per_m": 1429,
|
|
147
|
+
"default": false
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "gpt-5.6-luna",
|
|
151
|
+
"upstream_model": "gpt-5.6-luna",
|
|
152
|
+
"display_name": "GPT-5.6-Luna",
|
|
153
|
+
"provider": "OpenAI",
|
|
154
|
+
"input_usd_per_m": 1.4,
|
|
155
|
+
"output_usd_per_m": 8.4,
|
|
156
|
+
"multiplier": 0.11,
|
|
157
|
+
"credits_per_m": 112,
|
|
158
|
+
"default": false
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"id": "gpt-5.6-terra",
|
|
162
|
+
"upstream_model": "gpt-5.6-terra",
|
|
163
|
+
"display_name": "GPT-5.6-Terra",
|
|
164
|
+
"provider": "OpenAI",
|
|
165
|
+
"input_usd_per_m": 14.0,
|
|
166
|
+
"output_usd_per_m": 84.0,
|
|
167
|
+
"multiplier": 1.12,
|
|
168
|
+
"credits_per_m": 1125,
|
|
169
|
+
"default": false
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"id": "gpt-5.6-sol",
|
|
173
|
+
"upstream_model": "gpt-5.6-sol",
|
|
174
|
+
"display_name": "GPT-5.6-Sol",
|
|
175
|
+
"provider": "OpenAI",
|
|
176
|
+
"input_usd_per_m": 35.0,
|
|
177
|
+
"output_usd_per_m": 210.0,
|
|
178
|
+
"multiplier": 2.81,
|
|
179
|
+
"credits_per_m": 2812,
|
|
180
|
+
"default": false
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"id": "grok-4.5",
|
|
184
|
+
"upstream_model": "grok-4.5",
|
|
185
|
+
"display_name": "Grok-4.5",
|
|
186
|
+
"provider": "xAI",
|
|
187
|
+
"input_usd_per_m": 14.0,
|
|
188
|
+
"output_usd_per_m": 42.0,
|
|
189
|
+
"multiplier": 0.75,
|
|
190
|
+
"credits_per_m": 750,
|
|
191
|
+
"default": false
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"id": "claude-sonnet-5",
|
|
195
|
+
"upstream_model": "claude-sonnet-5",
|
|
196
|
+
"display_name": "Claude-Sonnet-5",
|
|
197
|
+
"provider": "Anthropic",
|
|
198
|
+
"input_usd_per_m": 14.0,
|
|
199
|
+
"output_usd_per_m": 70.0,
|
|
200
|
+
"multiplier": 1.0,
|
|
201
|
+
"credits_per_m": 1000,
|
|
202
|
+
"default": false
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"id": "claude-opus-5",
|
|
206
|
+
"upstream_model": "claude-opus-5",
|
|
207
|
+
"display_name": "Claude-Opus-5",
|
|
208
|
+
"provider": "Anthropic",
|
|
209
|
+
"input_usd_per_m": 35.0,
|
|
210
|
+
"output_usd_per_m": 175.0,
|
|
211
|
+
"multiplier": 2.5,
|
|
212
|
+
"credits_per_m": 2500,
|
|
213
|
+
"default": false
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"id": "claude-fable-5",
|
|
217
|
+
"upstream_model": "claude-fable-5",
|
|
218
|
+
"display_name": "Claude-Fable-5",
|
|
219
|
+
"provider": "Anthropic",
|
|
220
|
+
"input_usd_per_m": 70.0,
|
|
221
|
+
"output_usd_per_m": 350.0,
|
|
222
|
+
"multiplier": 5.0,
|
|
223
|
+
"credits_per_m": 5000,
|
|
224
|
+
"default": false
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "由 server/scripts/gen_pricing.py 生成,请勿手改。基准 1 USD = 7 CNY = 100 积分;其余币种按对美元汇率折算后取整(日元取整到 100)。三档 $10 / $50 / $100,年付一律 7 折、首月一律 7.5 折(名义值;美元档要取整到整元,$10 的 7.5 折是 $7.5 → $8,实际 8 折。其余币种一律按**美元卡上的实际比例**折算,不重新套名义值,否则同一个促销在不同币种上力度不同)。积分包不再多送——100 积分/美元是公示承诺,包的价值在于不随月清零,同价的包也绝不能比同价套餐给得多,否则最高档被自己的加油包压制。",
|
|
3
|
+
"currency": "CNY",
|
|
4
|
+
"tiers": {
|
|
5
|
+
"free": {
|
|
6
|
+
"name": "Free",
|
|
7
|
+
"monthly_cents": 0,
|
|
8
|
+
"monthly_credits": 0,
|
|
9
|
+
"concurrency": 1,
|
|
10
|
+
"work_minutes": 180,
|
|
11
|
+
"signup_credits": 500
|
|
12
|
+
},
|
|
13
|
+
"plus": {
|
|
14
|
+
"name": "Plus",
|
|
15
|
+
"monthly_cents": 7000,
|
|
16
|
+
"monthly_credits": 1000,
|
|
17
|
+
"concurrency": 2,
|
|
18
|
+
"work_minutes": 6000,
|
|
19
|
+
"yearly_list_cents": 84000,
|
|
20
|
+
"yearly_cents": 58800,
|
|
21
|
+
"yearly_per_month_cents": 4900,
|
|
22
|
+
"monthly_intro_cents": 5600
|
|
23
|
+
},
|
|
24
|
+
"pro": {
|
|
25
|
+
"name": "Pro",
|
|
26
|
+
"monthly_cents": 35000,
|
|
27
|
+
"monthly_credits": 5000,
|
|
28
|
+
"concurrency": 5,
|
|
29
|
+
"work_minutes": 21600,
|
|
30
|
+
"yearly_list_cents": 420000,
|
|
31
|
+
"yearly_cents": 294000,
|
|
32
|
+
"yearly_per_month_cents": 24500,
|
|
33
|
+
"monthly_intro_cents": 26600
|
|
34
|
+
},
|
|
35
|
+
"max": {
|
|
36
|
+
"name": "Max",
|
|
37
|
+
"monthly_cents": 70000,
|
|
38
|
+
"monthly_credits": 10000,
|
|
39
|
+
"concurrency": 10,
|
|
40
|
+
"work_minutes": 32400,
|
|
41
|
+
"yearly_list_cents": 840000,
|
|
42
|
+
"yearly_cents": 588000,
|
|
43
|
+
"yearly_per_month_cents": 49000,
|
|
44
|
+
"monthly_intro_cents": 52500
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"packs": {
|
|
48
|
+
"pack1000": {
|
|
49
|
+
"name": "1,000 credits",
|
|
50
|
+
"cents": 7000,
|
|
51
|
+
"base_credits": 1000,
|
|
52
|
+
"bonus_pct": 0,
|
|
53
|
+
"credits": 1000,
|
|
54
|
+
"valid_days": 365,
|
|
55
|
+
"name_key": "pricing.pack.pack1000"
|
|
56
|
+
},
|
|
57
|
+
"pack5000": {
|
|
58
|
+
"name": "5,000 credits",
|
|
59
|
+
"cents": 35000,
|
|
60
|
+
"base_credits": 5000,
|
|
61
|
+
"bonus_pct": 0,
|
|
62
|
+
"credits": 5000,
|
|
63
|
+
"valid_days": 365,
|
|
64
|
+
"name_key": "pricing.pack.pack5000"
|
|
65
|
+
},
|
|
66
|
+
"pack10000": {
|
|
67
|
+
"name": "10,000 credits",
|
|
68
|
+
"cents": 70000,
|
|
69
|
+
"base_credits": 10000,
|
|
70
|
+
"bonus_pct": 0,
|
|
71
|
+
"credits": 10000,
|
|
72
|
+
"valid_days": 365,
|
|
73
|
+
"name_key": "pricing.pack.pack10000"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"team": {
|
|
77
|
+
"seat_cents": 17500,
|
|
78
|
+
"min_seats": 3,
|
|
79
|
+
"seat_credits": 2500,
|
|
80
|
+
"seat_minutes": 1200,
|
|
81
|
+
"volume_tiers": [
|
|
82
|
+
[
|
|
83
|
+
10,
|
|
84
|
+
10
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
25,
|
|
88
|
+
15
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
50,
|
|
92
|
+
20
|
|
93
|
+
]
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "由 server/scripts/gen_pricing.py 生成,请勿手改。基准 1 USD = 7 CNY = 100 积分;其余币种按对美元汇率折算后取整(日元取整到 100)。三档 $10 / $50 / $100,年付一律 7 折、首月一律 7.5 折(名义值;美元档要取整到整元,$10 的 7.5 折是 $7.5 → $8,实际 8 折。其余币种一律按**美元卡上的实际比例**折算,不重新套名义值,否则同一个促销在不同币种上力度不同)。积分包不再多送——100 积分/美元是公示承诺,包的价值在于不随月清零,同价的包也绝不能比同价套餐给得多,否则最高档被自己的加油包压制。",
|
|
3
|
+
"currency": "EUR",
|
|
4
|
+
"tiers": {
|
|
5
|
+
"free": {
|
|
6
|
+
"name": "Free",
|
|
7
|
+
"monthly_cents": 0,
|
|
8
|
+
"monthly_credits": 0,
|
|
9
|
+
"concurrency": 1,
|
|
10
|
+
"work_minutes": 180,
|
|
11
|
+
"signup_credits": 500
|
|
12
|
+
},
|
|
13
|
+
"plus": {
|
|
14
|
+
"name": "Plus",
|
|
15
|
+
"monthly_cents": 900,
|
|
16
|
+
"monthly_credits": 1000,
|
|
17
|
+
"concurrency": 2,
|
|
18
|
+
"work_minutes": 6000,
|
|
19
|
+
"yearly_list_cents": 10800,
|
|
20
|
+
"yearly_cents": 7200,
|
|
21
|
+
"yearly_per_month_cents": 600,
|
|
22
|
+
"monthly_intro_cents": 700
|
|
23
|
+
},
|
|
24
|
+
"pro": {
|
|
25
|
+
"name": "Pro",
|
|
26
|
+
"monthly_cents": 4500,
|
|
27
|
+
"monthly_credits": 5000,
|
|
28
|
+
"concurrency": 5,
|
|
29
|
+
"work_minutes": 21600,
|
|
30
|
+
"yearly_list_cents": 54000,
|
|
31
|
+
"yearly_cents": 38400,
|
|
32
|
+
"yearly_per_month_cents": 3200,
|
|
33
|
+
"monthly_intro_cents": 3400
|
|
34
|
+
},
|
|
35
|
+
"max": {
|
|
36
|
+
"name": "Max",
|
|
37
|
+
"monthly_cents": 9000,
|
|
38
|
+
"monthly_credits": 10000,
|
|
39
|
+
"concurrency": 10,
|
|
40
|
+
"work_minutes": 32400,
|
|
41
|
+
"yearly_list_cents": 108000,
|
|
42
|
+
"yearly_cents": 75600,
|
|
43
|
+
"yearly_per_month_cents": 6300,
|
|
44
|
+
"monthly_intro_cents": 6800
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"packs": {
|
|
48
|
+
"pack1000": {
|
|
49
|
+
"name": "1,000 credits",
|
|
50
|
+
"cents": 900,
|
|
51
|
+
"base_credits": 1000,
|
|
52
|
+
"bonus_pct": 0,
|
|
53
|
+
"credits": 1000,
|
|
54
|
+
"valid_days": 365,
|
|
55
|
+
"name_key": "pricing.pack.pack1000"
|
|
56
|
+
},
|
|
57
|
+
"pack5000": {
|
|
58
|
+
"name": "5,000 credits",
|
|
59
|
+
"cents": 4500,
|
|
60
|
+
"base_credits": 5000,
|
|
61
|
+
"bonus_pct": 0,
|
|
62
|
+
"credits": 5000,
|
|
63
|
+
"valid_days": 365,
|
|
64
|
+
"name_key": "pricing.pack.pack5000"
|
|
65
|
+
},
|
|
66
|
+
"pack10000": {
|
|
67
|
+
"name": "10,000 credits",
|
|
68
|
+
"cents": 9000,
|
|
69
|
+
"base_credits": 10000,
|
|
70
|
+
"bonus_pct": 0,
|
|
71
|
+
"credits": 10000,
|
|
72
|
+
"valid_days": 365,
|
|
73
|
+
"name_key": "pricing.pack.pack10000"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"team": {
|
|
77
|
+
"seat_cents": 2300,
|
|
78
|
+
"min_seats": 3,
|
|
79
|
+
"seat_credits": 2500,
|
|
80
|
+
"seat_minutes": 1200,
|
|
81
|
+
"volume_tiers": [
|
|
82
|
+
[
|
|
83
|
+
10,
|
|
84
|
+
10
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
25,
|
|
88
|
+
15
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
50,
|
|
92
|
+
20
|
|
93
|
+
]
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "由 server/scripts/gen_pricing.py 生成,请勿手改。基准 1 USD = 7 CNY = 100 积分;其余币种按对美元汇率折算后取整(日元取整到 100)。三档 $10 / $50 / $100,年付一律 7 折、首月一律 7.5 折(名义值;美元档要取整到整元,$10 的 7.5 折是 $7.5 → $8,实际 8 折。其余币种一律按**美元卡上的实际比例**折算,不重新套名义值,否则同一个促销在不同币种上力度不同)。积分包不再多送——100 积分/美元是公示承诺,包的价值在于不随月清零,同价的包也绝不能比同价套餐给得多,否则最高档被自己的加油包压制。",
|
|
3
|
+
"currency": "GBP",
|
|
4
|
+
"tiers": {
|
|
5
|
+
"free": {
|
|
6
|
+
"name": "Free",
|
|
7
|
+
"monthly_cents": 0,
|
|
8
|
+
"monthly_credits": 0,
|
|
9
|
+
"concurrency": 1,
|
|
10
|
+
"work_minutes": 180,
|
|
11
|
+
"signup_credits": 500
|
|
12
|
+
},
|
|
13
|
+
"plus": {
|
|
14
|
+
"name": "Plus",
|
|
15
|
+
"monthly_cents": 800,
|
|
16
|
+
"monthly_credits": 1000,
|
|
17
|
+
"concurrency": 2,
|
|
18
|
+
"work_minutes": 6000,
|
|
19
|
+
"yearly_list_cents": 9600,
|
|
20
|
+
"yearly_cents": 7200,
|
|
21
|
+
"yearly_per_month_cents": 600,
|
|
22
|
+
"monthly_intro_cents": 600
|
|
23
|
+
},
|
|
24
|
+
"pro": {
|
|
25
|
+
"name": "Pro",
|
|
26
|
+
"monthly_cents": 3900,
|
|
27
|
+
"monthly_credits": 5000,
|
|
28
|
+
"concurrency": 5,
|
|
29
|
+
"work_minutes": 21600,
|
|
30
|
+
"yearly_list_cents": 46800,
|
|
31
|
+
"yearly_cents": 32400,
|
|
32
|
+
"yearly_per_month_cents": 2700,
|
|
33
|
+
"monthly_intro_cents": 3000
|
|
34
|
+
},
|
|
35
|
+
"max": {
|
|
36
|
+
"name": "Max",
|
|
37
|
+
"monthly_cents": 7800,
|
|
38
|
+
"monthly_credits": 10000,
|
|
39
|
+
"concurrency": 10,
|
|
40
|
+
"work_minutes": 32400,
|
|
41
|
+
"yearly_list_cents": 93600,
|
|
42
|
+
"yearly_cents": 66000,
|
|
43
|
+
"yearly_per_month_cents": 5500,
|
|
44
|
+
"monthly_intro_cents": 5900
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"packs": {
|
|
48
|
+
"pack1000": {
|
|
49
|
+
"name": "1,000 credits",
|
|
50
|
+
"cents": 800,
|
|
51
|
+
"base_credits": 1000,
|
|
52
|
+
"bonus_pct": 0,
|
|
53
|
+
"credits": 1000,
|
|
54
|
+
"valid_days": 365,
|
|
55
|
+
"name_key": "pricing.pack.pack1000"
|
|
56
|
+
},
|
|
57
|
+
"pack5000": {
|
|
58
|
+
"name": "5,000 credits",
|
|
59
|
+
"cents": 3900,
|
|
60
|
+
"base_credits": 5000,
|
|
61
|
+
"bonus_pct": 0,
|
|
62
|
+
"credits": 5000,
|
|
63
|
+
"valid_days": 365,
|
|
64
|
+
"name_key": "pricing.pack.pack5000"
|
|
65
|
+
},
|
|
66
|
+
"pack10000": {
|
|
67
|
+
"name": "10,000 credits",
|
|
68
|
+
"cents": 7800,
|
|
69
|
+
"base_credits": 10000,
|
|
70
|
+
"bonus_pct": 0,
|
|
71
|
+
"credits": 10000,
|
|
72
|
+
"valid_days": 365,
|
|
73
|
+
"name_key": "pricing.pack.pack10000"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"team": {
|
|
77
|
+
"seat_cents": 2000,
|
|
78
|
+
"min_seats": 3,
|
|
79
|
+
"seat_credits": 2500,
|
|
80
|
+
"seat_minutes": 1200,
|
|
81
|
+
"volume_tiers": [
|
|
82
|
+
[
|
|
83
|
+
10,
|
|
84
|
+
10
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
25,
|
|
88
|
+
15
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
50,
|
|
92
|
+
20
|
|
93
|
+
]
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "由 server/scripts/gen_pricing.py 生成,请勿手改。基准 1 USD = 7 CNY = 100 积分;其余币种按对美元汇率折算后取整(日元取整到 100)。三档 $10 / $50 / $100,年付一律 7 折、首月一律 7.5 折(名义值;美元档要取整到整元,$10 的 7.5 折是 $7.5 → $8,实际 8 折。其余币种一律按**美元卡上的实际比例**折算,不重新套名义值,否则同一个促销在不同币种上力度不同)。积分包不再多送——100 积分/美元是公示承诺,包的价值在于不随月清零,同价的包也绝不能比同价套餐给得多,否则最高档被自己的加油包压制。",
|
|
3
|
+
"currency": "HKD",
|
|
4
|
+
"tiers": {
|
|
5
|
+
"free": {
|
|
6
|
+
"name": "Free",
|
|
7
|
+
"monthly_cents": 0,
|
|
8
|
+
"monthly_credits": 0,
|
|
9
|
+
"concurrency": 1,
|
|
10
|
+
"work_minutes": 180,
|
|
11
|
+
"signup_credits": 500
|
|
12
|
+
},
|
|
13
|
+
"plus": {
|
|
14
|
+
"name": "Plus",
|
|
15
|
+
"monthly_cents": 7800,
|
|
16
|
+
"monthly_credits": 1000,
|
|
17
|
+
"concurrency": 2,
|
|
18
|
+
"work_minutes": 6000,
|
|
19
|
+
"yearly_list_cents": 93600,
|
|
20
|
+
"yearly_cents": 66000,
|
|
21
|
+
"yearly_per_month_cents": 5500,
|
|
22
|
+
"monthly_intro_cents": 6200
|
|
23
|
+
},
|
|
24
|
+
"pro": {
|
|
25
|
+
"name": "Pro",
|
|
26
|
+
"monthly_cents": 39000,
|
|
27
|
+
"monthly_credits": 5000,
|
|
28
|
+
"concurrency": 5,
|
|
29
|
+
"work_minutes": 21600,
|
|
30
|
+
"yearly_list_cents": 468000,
|
|
31
|
+
"yearly_cents": 327600,
|
|
32
|
+
"yearly_per_month_cents": 27300,
|
|
33
|
+
"monthly_intro_cents": 29600
|
|
34
|
+
},
|
|
35
|
+
"max": {
|
|
36
|
+
"name": "Max",
|
|
37
|
+
"monthly_cents": 78000,
|
|
38
|
+
"monthly_credits": 10000,
|
|
39
|
+
"concurrency": 10,
|
|
40
|
+
"work_minutes": 32400,
|
|
41
|
+
"yearly_list_cents": 936000,
|
|
42
|
+
"yearly_cents": 655200,
|
|
43
|
+
"yearly_per_month_cents": 54600,
|
|
44
|
+
"monthly_intro_cents": 58500
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"packs": {
|
|
48
|
+
"pack1000": {
|
|
49
|
+
"name": "1,000 credits",
|
|
50
|
+
"cents": 7800,
|
|
51
|
+
"base_credits": 1000,
|
|
52
|
+
"bonus_pct": 0,
|
|
53
|
+
"credits": 1000,
|
|
54
|
+
"valid_days": 365,
|
|
55
|
+
"name_key": "pricing.pack.pack1000"
|
|
56
|
+
},
|
|
57
|
+
"pack5000": {
|
|
58
|
+
"name": "5,000 credits",
|
|
59
|
+
"cents": 39000,
|
|
60
|
+
"base_credits": 5000,
|
|
61
|
+
"bonus_pct": 0,
|
|
62
|
+
"credits": 5000,
|
|
63
|
+
"valid_days": 365,
|
|
64
|
+
"name_key": "pricing.pack.pack5000"
|
|
65
|
+
},
|
|
66
|
+
"pack10000": {
|
|
67
|
+
"name": "10,000 credits",
|
|
68
|
+
"cents": 78000,
|
|
69
|
+
"base_credits": 10000,
|
|
70
|
+
"bonus_pct": 0,
|
|
71
|
+
"credits": 10000,
|
|
72
|
+
"valid_days": 365,
|
|
73
|
+
"name_key": "pricing.pack.pack10000"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"team": {
|
|
77
|
+
"seat_cents": 19500,
|
|
78
|
+
"min_seats": 3,
|
|
79
|
+
"seat_credits": 2500,
|
|
80
|
+
"seat_minutes": 1200,
|
|
81
|
+
"volume_tiers": [
|
|
82
|
+
[
|
|
83
|
+
10,
|
|
84
|
+
10
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
25,
|
|
88
|
+
15
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
50,
|
|
92
|
+
20
|
|
93
|
+
]
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
}
|