@yakumoryo/minimax-plan-usage 0.2.6 → 0.2.8

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.
Files changed (3) hide show
  1. package/README.md +12 -6
  2. package/package.json +1 -1
  3. package/query.js +35 -7
package/README.md CHANGED
@@ -11,13 +11,22 @@ npm install -g @yakumoryo/minimax-plan-usage
11
11
  ## Usage
12
12
 
13
13
  ```bash
14
- minimax-plan-usage
14
+ # Configure API Key (required first time)
15
+ minimax-plan-usage setup <your-token>
16
+
17
+ # Configure API URL (optional, for non-default endpoints)
18
+ minimax-plan-usage setup-url https://api.minimaxi.com/anthropic
19
+
20
+ # Query usage
21
+ minimax-plan-usage query
15
22
  ```
16
23
 
17
24
  Or with npx:
18
25
 
19
26
  ```bash
20
- npx @yakumoryo/minimax-plan-usage
27
+ npx @yakumoryo/minimax-plan-usage setup <your-token>
28
+ npx @yakumoryo/minimax-plan-usage setup-url https://api.minimaxi.com/anthropic
29
+ npx @yakumoryo/minimax-plan-usage query
21
30
  ```
22
31
 
23
32
  ## Requirements
@@ -30,7 +39,4 @@ These are typically already configured in your Claude Code settings.
30
39
 
31
40
  ## How it works
32
41
 
33
- The CLI uses the same `ANTHROPIC_AUTH_TOKEN` and `ANTHROPIC_BASE_URL` that Claude Code uses. Based on the base URL, it determines the correct MiniMax API endpoint:
34
-
35
- - If `ANTHROPIC_BASE_URL` contains `minimax.io` → uses `https://minimax.io`
36
- - Otherwise → uses `https://api.minimaxi.com` (default)
42
+ The CLI reads settings from `~/.claude/settings.json` and uses the same `ANTHROPIC_AUTH_TOKEN` and `ANTHROPIC_BASE_URL` that Claude Code uses.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yakumoryo/minimax-plan-usage",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "MiniMax Coding Plan usage query CLI tool",
5
5
  "type": "module",
6
6
  "keywords": [
package/query.js CHANGED
@@ -27,23 +27,30 @@ function saveSettings(settings) {
27
27
  writeFileSync(SETTINGS_PATH, JSON.stringify(settings, null, 2));
28
28
  }
29
29
 
30
- function setup(token) {
30
+ function setup(token, url) {
31
31
  if (!token || !token.startsWith('sk-cp-')) {
32
32
  console.error('Error: Invalid token format. Token should start with "sk-cp-"');
33
33
  console.error('');
34
- console.error('Usage: npx @yakumoryo/minimax-plan-usage setup <your-token>');
34
+ console.error('Usage: npx @yakumoryo/minimax-plan-usage setup <your-token> [api-url]');
35
35
  console.error('');
36
- console.error('Example:');
36
+ console.error('Examples:');
37
37
  console.error(' npx @yakumoryo/minimax-plan-usage setup sk-cp-YOUR_TOKEN_HERE');
38
+ console.error(' npx @yakumoryo/minimax-plan-usage setup sk-cp-YOUR_TOKEN_HERE https://api.minimaxi.com/anthropic');
38
39
  process.exit(1);
39
40
  }
40
41
 
42
+ // Validate URL if provided
43
+ let apiUrl = url || `${API_HOST}/anthropic`;
44
+ if (url && !url.startsWith('http')) {
45
+ apiUrl = `https://${url}`;
46
+ }
47
+
41
48
  const settings = getSettings();
42
49
 
43
50
  if (!settings.env) settings.env = {};
44
51
 
45
52
  settings.env.ANTHROPIC_AUTH_TOKEN = token;
46
- settings.env.ANTHROPIC_BASE_URL = `${API_HOST}/anthropic`;
53
+ settings.env.ANTHROPIC_BASE_URL = apiUrl;
47
54
 
48
55
  if (!settings.env.ANTHROPIC_MODEL) settings.env.ANTHROPIC_MODEL = 'MiniMax-M2.7';
49
56
  if (!settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL) settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = 'MiniMax-M2.7';
@@ -190,7 +197,26 @@ const command = process.argv[2];
190
197
 
191
198
  if (command === 'setup') {
192
199
  const token = process.argv[3];
193
- setup(token);
200
+ const url = process.argv[4];
201
+ setup(token, url);
202
+ } else if (command === 'setup-url') {
203
+ const url = process.argv[3];
204
+ if (!url) {
205
+ console.error('Error: URL required');
206
+ console.error('Usage: npx @yakumoryo/minimax-plan-usage setup-url <api-url>');
207
+ console.error('Example:');
208
+ console.error(' npx @yakumoryo/minimax-plan-usage setup-url https://api.minimaxi.com/anthropic');
209
+ process.exit(1);
210
+ }
211
+ let apiUrl = url.startsWith('http') ? url : `https://${url}`;
212
+ const settings = getSettings();
213
+ if (!settings.env) settings.env = {};
214
+ settings.env.ANTHROPIC_BASE_URL = apiUrl;
215
+ saveSettings(settings);
216
+ console.log('');
217
+ console.log('✅ API URL configured successfully!');
218
+ console.log(` ANTHROPIC_BASE_URL: ${apiUrl}`);
219
+ console.log('');
194
220
  } else if (command === 'query') {
195
221
  console.log('MiniMax API Host:', API_HOST);
196
222
  queryUsage()
@@ -203,10 +229,12 @@ if (command === 'setup') {
203
229
  console.log('MiniMax Coding Plan Helper');
204
230
  console.log('');
205
231
  console.log('Usage:');
206
- console.log(' npx @yakumoryo/minimax-plan-usage setup <your-token> # 配置API Key');
207
- console.log(' npx @yakumoryo/minimax-plan-usage query # 查询用量');
232
+ console.log(' npx @yakumoryo/minimax-plan-usage setup <your-token> # 配置API Key');
233
+ console.log(' npx @yakumoryo/minimax-plan-usage setup-url <api-url> # 配置API URL');
234
+ console.log(' npx @yakumoryo/minimax-plan-usage query # 查询用量');
208
235
  console.log('');
209
236
  console.log('Examples:');
210
237
  console.log(' npx @yakumoryo/minimax-plan-usage setup sk-cp-YOUR_TOKEN_HERE');
238
+ console.log(' npx @yakumoryo/minimax-plan-usage setup-url https://api.minimaxi.com/anthropic');
211
239
  console.log(' npx @yakumoryo/minimax-plan-usage query');
212
240
  }