dsh-connect-minimaxcode 0.5.0 → 0.5.1
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.
- package/README.en.md +14 -7
- package/README.md +14 -7
- package/lib/client.js +38 -7
- package/lib/index.d.ts +3 -1
- package/lib/index.js +1 -1
- package/package.json +2 -2
package/README.en.md
CHANGED
|
@@ -42,13 +42,13 @@ Another implementation in the same direction is **[dingminhua/dsh-connect-workbu
|
|
|
42
42
|
|
|
43
43
|
- **Zero configuration**: the login state of the MiniMax Code desktop app is read automatically, and no plaintext token is ever stored in DSH
|
|
44
44
|
- **Dynamic model catalog**: pulled live from the upstream API, so upstream adding or removing models needs no plugin update
|
|
45
|
-
- **Credit balance at a glance**: the pill
|
|
45
|
+
- **Credit balance at a glance**: the pill in the composer tool row (beside the model picker) shows the remaining MiniMax Code credits and the consumption accumulated on this machine
|
|
46
46
|
- **Live usage accounting**: the token usage of every request is taken from the upstream response itself, and can be converted to an equivalent cost using the official price list
|
|
47
47
|
- **Reuses the official adapter**: upstream speaks the standard Anthropic Messages protocol, so DSH's built-in provider is reused as is; tool calls, reasoning blocks and context compaction are all handled by DSH
|
|
48
48
|
- **Works without the desktop app**: the plugin can sign in on its own with the OAuth device code flow; you confirm in your own browser and the plugin never sees a password
|
|
49
49
|
- **Daily check-in**: MiniMax Code grants credits every day and the desktop app does **not** claim them for you; the plugin shows the seven-day cycle and can claim the day's grant
|
|
50
50
|
- **Read-mostly**: apart from "refreshing an expired desktop app login state" and the sign-in you start yourself, the plugin does not write to or modify any MiniMax file
|
|
51
|
-
- **
|
|
51
|
+
- **Follows the selected model**: the balance sits in the **composer tool row beside the model picker**, and is drawn **only while a MiniMax model is selected** — picking another connector's model hides it entirely instead of misleading you with MiniMax's balance
|
|
52
52
|
|
|
53
53
|
## Prerequisites
|
|
54
54
|
|
|
@@ -57,7 +57,7 @@ Either:
|
|
|
57
57
|
1. **The MiniMax Code desktop app (China region) installed and signed in** — the plugin reuses its sign-in (the easy way)
|
|
58
58
|
2. **Nothing installed** — press "Sign in to MiniMax Code" on the plugin page; the plugin starts an OAuth device code flow and you confirm with your own MiniMax account in a browser (this needs `account.minimax.cn` to be reachable)
|
|
59
59
|
|
|
60
|
-
Plus DSH desktop (built-in core in
|
|
60
|
+
Plus DSH desktop (built-in core `>=0.2.1-rc.2 <0.3.0`, see `engines.dsh` in `package.json`; tested on `0.2.1-rc.2`) or the Web profile.
|
|
61
61
|
|
|
62
62
|
## Installation
|
|
63
63
|
|
|
@@ -200,7 +200,7 @@ The automatic claim is deliberately restrained: it only asks when the upstream s
|
|
|
200
200
|
|
|
201
201
|
## Credit balance and usage
|
|
202
202
|
|
|
203
|
-
The pill
|
|
203
|
+
The pill in the composer tool row (beside the model picker) shows the **remaining MiniMax Code credits**; expanding it also shows the granted/purchased split, the consumption between the two reads, and the tokens and equivalent cost accumulated on this machine. The pill appears **only while a `minimaxcode` model is selected**.
|
|
204
204
|
|
|
205
205
|
### Where the balance comes from
|
|
206
206
|
|
|
@@ -243,7 +243,7 @@ GET https://agent.minimax.cn/minimax-cloud/api/v1/credit/details?page_number=1&p
|
|
|
243
243
|
|
|
244
244
|
Measured on this machine, 23 lots: the one granted on 09-20 expires on 10-20, the one granted on 09-21 expires on 10-21, and so on; one granted on 08-25 expires on 2027-08-25 (a one-year lot; `credit_type` 1 = purchased / 2 = check-in). **Always read the expiry date from `expire_at_ms`** instead of hardcoding a number of days — there are at least a 30-day and a 365-day scheme.
|
|
245
245
|
|
|
246
|
-
Based on that, the plugin shows, in the **plugin page** (Settings → Plugins → DSH Connect MiniMax Code) and in the pill
|
|
246
|
+
Based on that, the plugin shows, in the **plugin page** (Settings → Plugins → DSH Connect MiniMax Code) and in the pill in the composer tool row:
|
|
247
247
|
|
|
248
248
|
- The remaining credits **expiring within 7 days**, and the expiry date of the most recent lot
|
|
249
249
|
- The remaining credits **expiring within 30 days**
|
|
@@ -290,12 +290,17 @@ The OAuth token is valid for about an hour and is refreshed automatically by the
|
|
|
290
290
|
- **When the OAuth token expires the credit pill is temporarily unavailable**. With the desktop app's sign-in, open MiniMax Code once and let it refresh itself; with the plugin's own sign-in, the plugin renews it with its refresh token (the server rotates the refresh token, and the plugin writes the new pair back to its own file). This does not affect model traffic.
|
|
291
291
|
- **The check-in needs an account that is entitled to it.** The check-in is an upstream entitlement; the plugin only presses the button for you. When the server says "not claimable now", the plugin says so — it does not retry or work around it.
|
|
292
292
|
- **The automatic claim is off by default**, and it only asks when the server explicitly says the day can be claimed, at most once a day. Whether to turn it on, and whether that is within MiniMax's terms of service, is your call.
|
|
293
|
-
- **No settings card is provided**. The plugin does not register a card on the DSH settings page; the interface it adds is a single pill
|
|
293
|
+
- **No settings card is provided**. The plugin does not register a card on the DSH settings page; the interface it adds is a single pill in the composer tool row (**drawn only while this plugin's model is selected**) and a small card on the plugin page.
|
|
294
294
|
- **The upstream APIs are non-public** and may stop working when MiniMax updates its client. If the balance API breaks, the pill shows "credits unavailable", which does not affect model traffic.
|
|
295
295
|
- **The device code flow needs `account.minimax.cn` to be reachable**, and the browser that authorizes it has to be able to sign in to a MiniMax account. On some restricted networks the authorization page cannot be opened.
|
|
296
296
|
|
|
297
297
|
## Changelog
|
|
298
298
|
|
|
299
|
+
### 0.5.1 (2026-10-20)
|
|
300
|
+
|
|
301
|
+
- **The balance follows the selected model**: moved from the dock below the input box to the **composer tool row beside the model picker**, gated by the host's `modelSelection` projection — the readout is drawn **only while a `minimaxcode` model is selected**, and selecting another connector's model (workbuddy, for instance) hides it entirely, polling included (following `dsh-connect-trae`).
|
|
302
|
+
- **`engines.dsh` narrowed to `>=0.2.1-rc.2 <0.3.0-0`**: only the tier actually tested is claimed; the previous `>=0.1.7-rc.1` reached too far.
|
|
303
|
+
|
|
299
304
|
### 0.5.0 (2026-10-20)
|
|
300
305
|
|
|
301
306
|
- **Added "sign in on your own"**: the plugin can sign in to MiniMax Code with the OAuth device code flow, so it no longer depends on the desktop app being installed and signed in. You confirm in your own browser, the plugin never sees a password, and the credential lives in the plugin's own file rather than the client's directory.
|
|
@@ -343,7 +348,9 @@ The plugin ships an installable `dsh.bundle` manifest and is published to npm. T
|
|
|
343
348
|
|
|
344
349
|
Marketplace screenshots are declared, per the current convention, by the **`screenshots.json` in the plugin's own repository root** (the registry's `data/screenshots.json` is a fallback from the old convention, and no new keys are added there). This repository **does not ship screenshots yet**, so the file does not exist; once there are some, put `screenshots.json` in the repository root (an array of relative image paths) and the marketplace card will pick them up.
|
|
345
350
|
|
|
346
|
-
>
|
|
351
|
+
> **Since 0.5.1 the readout lives in the composer tool row (beside the model picker) and is gated by the host's `modelSelection` projection**: the balance belongs to the provider the next request will actually use, so it sits where that selection is made — and it hides entirely, polling included, when another connector's model (workbuddy, for example) is selected. This follows `dsh-connect-trae`, whose `ComposerPointsGate` returns null for every provider but its own.
|
|
352
|
+
>
|
|
353
|
+
> The tool row is a shared slot and can in principle be crowded out (a sibling plugin lost a reading this way in `workbuddy` issue #62; trae's answer is a second seat). **This plugin registers the tool-row seat only**; the ambient dock is a proven fallback should crowding ever occur.
|
|
347
354
|
|
|
348
355
|
## Uninstall
|
|
349
356
|
|
package/README.md
CHANGED
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
|
|
43
43
|
- **零配置**:自动读取 MiniMax Code 桌面 App 的登录态,不在 DSH 中存储任何明文 Token
|
|
44
44
|
- **动态模型目录**:从上游接口实时拉取,模型增减无需更新插件
|
|
45
|
-
-
|
|
45
|
+
- **积分余额可见**:在输入框工具行(模型选择器旁)的胶囊里显示 MiniMax Code 的剩余积分,以及本机累计消耗
|
|
46
46
|
- **实时消耗统计**:每次请求的 token 用量取自上游响应本身,可按官方价目表折算等效金额
|
|
47
47
|
- **复用官方适配器**:上游为标准 Anthropic Messages 协议,直接复用 DSH 自带 provider,工具调用、推理块、上下文压缩均由 DSH 托管
|
|
48
48
|
- **不用装桌面 App 也能用**:插件可以自己走 OAuth 设备码流登录,你在自己的浏览器里确认即可,插件从不接触密码
|
|
49
49
|
- **每日签到**:MiniMax Code 每天送积分,客户端**不会自动领**;插件可以显示七天一签的进度,并代领当天的额度
|
|
50
50
|
- **只读为主**:除「续期已过期的桌面 App 登录态」和「你自己发起的登录」外,不写入、不修改 MiniMax 的任何文件
|
|
51
|
-
-
|
|
51
|
+
- **跟随所选模型**:余额显示在**输入框工具行(模型选择器旁)**,且**只在选中 MiniMax 模型时出现** —— 切到其他反代插件的模型就整体隐藏,不会拿着 MiniMax 的余额误导你
|
|
52
52
|
|
|
53
53
|
## 前置条件
|
|
54
54
|
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
1. **已安装并登录 MiniMax Code 桌面 App(国内版)** —— 插件直接复用它的登录态(最省事)
|
|
58
58
|
2. **什么都不装** —— 在插件页面点「登录 MiniMax Code」,插件发起 OAuth 设备码流,你在浏览器里用自己的 MiniMax 账号确认,插件拿到自己的登录态(需要能访问 `account.minimax.cn`)
|
|
59
59
|
|
|
60
|
-
另外需要 DSH 桌面版(内置内核
|
|
60
|
+
另外需要 DSH 桌面版(内置内核 `>=0.2.1-rc.2 <0.3.0`,见 `package.json` 的 `engines.dsh`;实测 `0.2.1-rc.2`)或 Web profile。
|
|
61
61
|
|
|
62
62
|
## 安装
|
|
63
63
|
|
|
@@ -206,7 +206,7 @@ POST /minimax-cloud/api/v1/signin/claim?timezone_id=Asia/Shanghai # 领取当
|
|
|
206
206
|
|
|
207
207
|
## 积分余额与用量
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
输入框工具行(模型选择器旁)的胶囊会显示 MiniMax Code 的**剩余积分**;点开还能看到赠送/购买拆分、两次读取之间的消耗,以及本机累计的 token 与等效金额。胶囊**只在选中 `minimaxcode` 模型时出现**。
|
|
210
210
|
|
|
211
211
|
### 余额从哪里来
|
|
212
212
|
|
|
@@ -249,7 +249,7 @@ GET https://agent.minimax.cn/minimax-cloud/api/v1/credit/details?page_number=1&p
|
|
|
249
249
|
|
|
250
250
|
实测本机 23 笔:09-20 发的在 10-20 到期、09-21 发的在 10-21 到期……另有一笔 08-25 发的在 2027-08-25 到期(一年期批次,`credit_type` 1=购买 / 2=签到)。**到期日一律读 `expire_at_ms`**,不写死天数——至少存在 30 天与 365 天两种制式。
|
|
251
251
|
|
|
252
|
-
插件据此在**插件页面**(设置 → 插件 → DSH Connect MiniMax Code
|
|
252
|
+
插件据此在**插件页面**(设置 → 插件 → DSH Connect MiniMax Code)与输入框工具行的胶囊里给出:
|
|
253
253
|
|
|
254
254
|
- **7 天内到期**的剩余积分,以及最近一笔的到期日
|
|
255
255
|
- **30 天内到期**的剩余积分
|
|
@@ -296,12 +296,17 @@ OAuth 令牌有效期约 1 小时,由客户端自动续期。插件**只在自
|
|
|
296
296
|
- **OAuth 令牌过期时积分胶囊会暂时失效**。复用桌面 App 登录态时,打开一次 MiniMax Code 让它自行续期即可;用插件自己登录的,插件会用自己的 refresh token 续期(服务端会轮转 refresh token,插件会把新的一对写回自己的文件)。这不影响模型对话。
|
|
297
297
|
- **签到需要账号能领**。签到是上游给账号的权益,插件只是替你按那个按钮;服务端判定「暂不可签到」时插件只会如实显示,不会重试或绕过。
|
|
298
298
|
- **自动签到默认关闭**,且只在服务端明确说「当天可领」时才发请求、每天至多一次。是否开启、以及这样做是否符合 MiniMax 的服务条款,请自行判断。
|
|
299
|
-
- **不提供设置界面卡片**。插件不在 DSH
|
|
299
|
+
- **不提供设置界面卡片**。插件不在 DSH 设置页注册卡片;界面只在输入框工具行增加一枚胶囊(**仅选中本插件的模型时显示**),以及插件页面里的一张小卡片。
|
|
300
300
|
- **上游接口非公开**,MiniMax 客户端更新后可能失效。余额接口失效时胶囊会显示「积分不可用」,不会影响模型对话。
|
|
301
301
|
- **设备码流需要能访问 `account.minimax.cn`**,且授权时要在浏览器里能登录 MiniMax 账号。某些内网或受限网络下打不开授权页。
|
|
302
302
|
|
|
303
303
|
## 更新记录
|
|
304
304
|
|
|
305
|
+
### 0.5.1(2026-10-20)
|
|
306
|
+
|
|
307
|
+
- **余额读数跟随所选模型**:从输入框下方的 dock 移到**输入框工具行(模型选择器旁)**,并按宿主 `modelSelection` 投影门控 —— **只有选中 `minimaxcode` 模型时才显示**;切到其他反代插件(如 workbuddy)的模型即整体隐藏,且不轮询(学习 `dsh-connect-trae` 的做法)。
|
|
308
|
+
- **`engines.dsh` 收窄为 `>=0.2.1-rc.2 <0.3.0-0`**:只声明实测过的档位,此前的 `>=0.1.7-rc.1` 覆盖过宽。
|
|
309
|
+
|
|
305
310
|
### 0.5.0(2026-10-20)
|
|
306
311
|
|
|
307
312
|
- **新增「自己登录」**:插件可以自己走 OAuth 设备码流登录 MiniMax Code,**不再依赖本机已安装并登录的桌面 App**。你在自己的浏览器里确认,插件不接触密码;凭据存在插件自己的文件里,不写客户端的目录。
|
|
@@ -349,7 +354,9 @@ OAuth 令牌有效期约 1 小时,由客户端自动续期。插件**只在自
|
|
|
349
354
|
|
|
350
355
|
市场截图按当前约定由**插件自己仓库根目录的** `screenshots.json` 声明(注册表 `data/screenshots.json` 是旧约定下的回退,不再新增键)。本仓库目前**尚未提供截图**,所以还没有这个文件;补上截图后,在根目录放 `screenshots.json`(内容是图片相对路径的数组)即可被市场卡片取用。
|
|
351
356
|
|
|
352
|
-
>
|
|
357
|
+
> **0.5.1 起,读数移到输入框工具行(模型选择器旁)并按宿主 `modelSelection` 投影做门控**:余额属于「下一次请求真正会用的那个 provider」,所以它既该待在选模型的地方,也该在选中别的反代插件(如 workbuddy)时**整体隐藏、且不发轮询请求**——这是学习 `dsh-connect-trae` 的做法(其 `ComposerPointsGate` 对非自家 provider 一律 `return null`)。
|
|
358
|
+
>
|
|
359
|
+
> 工具行是共享插槽,理论上可能被其它插件挤掉(同族 `workbuddy` issue #62 就丢过一次读数,trae 的解法是双座位)。**本插件目前只注册工具行一个座位**;若真被挤掉,dock 常驻行是已验证的备选方案。
|
|
353
360
|
|
|
354
361
|
## 卸载
|
|
355
362
|
|
package/lib/client.js
CHANGED
|
@@ -20,6 +20,13 @@
|
|
|
20
20
|
const STATUS_PATH = '/plugins/dsh-connect-minimaxcode/status';
|
|
21
21
|
const ACTION_PATH = '/plugins/dsh-connect-minimaxcode/action';
|
|
22
22
|
const POLL_INTERVAL_MS = 20000;
|
|
23
|
+
/**
|
|
24
|
+
* The provider id the host side registers with `llm.registerAdapter`.
|
|
25
|
+
*
|
|
26
|
+
* Duplicated here on purpose: this half is a classic script that cannot
|
|
27
|
+
* import the host's module, and the id is the one the projection reports.
|
|
28
|
+
*/
|
|
29
|
+
const MINIMAX_PROVIDER_ID = 'minimaxcode';
|
|
23
30
|
const zh = {
|
|
24
31
|
title: 'MiniMax Code 积分',
|
|
25
32
|
balance: '积分 {total}',
|
|
@@ -201,7 +208,7 @@
|
|
|
201
208
|
? row(t('expiringSoon', { amount: credits(credits_.expiringSoon, 2) }), '')
|
|
202
209
|
: null, next !== undefined ? row(t('nextExpiry'), day(next)) : null);
|
|
203
210
|
}
|
|
204
|
-
/** The pill
|
|
211
|
+
/** The pill itself; the gate decides whether it is drawn at all. */
|
|
205
212
|
function CreditPill(props) {
|
|
206
213
|
const [status] = useStatus();
|
|
207
214
|
const [open, setOpen] = React.useState(false);
|
|
@@ -231,6 +238,27 @@
|
|
|
231
238
|
onClick: () => setOpen(!open),
|
|
232
239
|
}, label), open ? detail : null);
|
|
233
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* The pill, only while this plugin's own provider is selected.
|
|
243
|
+
*
|
|
244
|
+
* The balance belongs to the provider the next request will actually
|
|
245
|
+
* use, so another connector's model means this balance is the wrong
|
|
246
|
+
* number to show: the gate hides the readout and — because the pill is
|
|
247
|
+
* the only subscriber — the polling stops with it. The projection comes
|
|
248
|
+
* from the host's own `modelSelection`, which is what the model picker
|
|
249
|
+
* writes, so the readout cannot disagree with the model in effect.
|
|
250
|
+
*
|
|
251
|
+
* A host without the projection, or a session where the picker has not
|
|
252
|
+
* chosen yet, keeps the pill: "I do not know" must not hide a balance
|
|
253
|
+
* that is true either way.
|
|
254
|
+
*/
|
|
255
|
+
function CreditPillGate(props) {
|
|
256
|
+
const projection = props.useProjection?.('modelSelection');
|
|
257
|
+
const provider = (projection?.next ?? projection?.lastUsed)?.provider;
|
|
258
|
+
if (provider !== undefined && provider !== MINIMAX_PROVIDER_ID)
|
|
259
|
+
return null;
|
|
260
|
+
return h(CreditPill, props);
|
|
261
|
+
}
|
|
234
262
|
/** Ask the host to do something, and let the card read the result. */
|
|
235
263
|
async function act(action, body) {
|
|
236
264
|
try {
|
|
@@ -452,14 +480,17 @@
|
|
|
452
480
|
const context = ctx;
|
|
453
481
|
// Visible text goes through the host's locale service.
|
|
454
482
|
context.effect(() => context.locale.register(NAMESPACE, { zh, en }), `${BUNDLE_NAME}: locale`);
|
|
455
|
-
// The
|
|
456
|
-
//
|
|
457
|
-
|
|
458
|
-
|
|
483
|
+
// The tool row to the left of the composer — beside the model
|
|
484
|
+
// picker — rather than the ambient strip below it: the balance
|
|
485
|
+
// belongs to the provider that is selected, so it sits where that
|
|
486
|
+
// selection is made, and the gate hides it when another connector's
|
|
487
|
+
// model is in effect.
|
|
488
|
+
context.slots.inject('conversation.input.left', () => context.slots.register({
|
|
489
|
+
name: 'conversation.input.left',
|
|
459
490
|
id: 'minimax-credits',
|
|
460
|
-
order:
|
|
491
|
+
order: 4,
|
|
461
492
|
locale: NAMESPACE,
|
|
462
|
-
},
|
|
493
|
+
}, CreditPillGate));
|
|
463
494
|
// The plugin's own page, keyed by the package name, where the
|
|
464
495
|
// balance and the expiry schedule are spelled out.
|
|
465
496
|
context.slots.inject('plugins.bundle.config', () => context.slots.register({
|
package/lib/index.d.ts
CHANGED
|
@@ -719,6 +719,8 @@ declare function localDay(now?: number, timezone?: string): string;
|
|
|
719
719
|
//#region src/status-route.d.ts
|
|
720
720
|
/** Route this plugin mounts, matching its settings card. */
|
|
721
721
|
declare const MINIMAX_STATUS_PATH = "/plugins/dsh-connect-minimaxcode/status";
|
|
722
|
+
/** Route the card posts to when it wants something done rather than read. */
|
|
723
|
+
declare const MINIMAX_ACTION_PATH = "/plugins/dsh-connect-minimaxcode/action";
|
|
722
724
|
/** The daily check-in, as the card reads it. */
|
|
723
725
|
interface SigninStatus {
|
|
724
726
|
/** Whether the cycle could be read. */
|
|
@@ -949,4 +951,4 @@ declare const inject: string[];
|
|
|
949
951
|
*/
|
|
950
952
|
declare function apply(ctx: Context): void;
|
|
951
953
|
//#endregion
|
|
952
|
-
export { type AuthState, type CatalogModel, type CatalogSource, type Credential, type CreditSummary, DEVICE_CODE_GRANT, DEVICE_CODE_PATH, type DeviceLoginState, EMPTY_USAGE, FALLBACK_MODELS, MEMBERSHIP_PATH, MINIMAXCODE_PROVIDER_ID, MINIMAX_AUTH_FILENAME, MINIMAX_DATA_DIR, MINIMAX_GATEWAYS, MINIMAX_OAUTH_CLIENT_ID, MINIMAX_REGIONS, MINIMAX_STATUS_PATH, MINIMAX_STREAM_IDLE_TIMEOUT_MS, MODEL_PRICES, MinimaxCatalog, MinimaxCredits, type MinimaxRegion, type ModelUsage, type OAuthCredential, type OAuthState, PLUGIN_CREDENTIAL_FILENAME, PLUGIN_STATE_FILENAME, type PluginCredential, type PluginState, SIGNIN_CLAIM_PATH, SIGNIN_CLAIM_RESULT, SIGNIN_CYCLE_DAYS, SIGNIN_DAY_STATUS, SIGNIN_PANEL_PATH, type SigninClaim, type SigninDay, type SigninPanel, type StatusDocument, type TokenClaims, UsageMeter, apply, authPath, bearerToken, catalogUrl, chatBaseUrl, claimSignin, createMinimaxCodeAdapter, dataDir, daysRemaining, decodeClaims, dshHome, ensureOAuthCredential, estimateCny, expiresInMs, expiryLevel, fetchCreditSummary, fetchSigninPanel, inject, localDay, makePkce, name, parseAuthDocument, parseCatalog, parseCreditSummary, parseOAuthDocument, parseSigninClaim, parseSigninPanel, pluginCredentialPath, pluginStatePath, pollDeviceLogin, priceFor, readCredential, readOAuthCredential, readPluginCredential, readPluginState, refreshOAuthCredential, refreshPluginCredential, startDeviceLogin, statusDocument, timezoneId, writeOAuthCredential, writePluginCredential, writePluginState };
|
|
954
|
+
export { type AuthState, type CatalogModel, type CatalogSource, type Credential, type CreditSummary, DEVICE_CODE_GRANT, DEVICE_CODE_PATH, type DeviceLoginState, EMPTY_USAGE, FALLBACK_MODELS, MEMBERSHIP_PATH, MINIMAXCODE_PROVIDER_ID, MINIMAX_ACTION_PATH, MINIMAX_AUTH_FILENAME, MINIMAX_DATA_DIR, MINIMAX_GATEWAYS, MINIMAX_OAUTH_CLIENT_ID, MINIMAX_REGIONS, MINIMAX_STATUS_PATH, MINIMAX_STREAM_IDLE_TIMEOUT_MS, MODEL_PRICES, MinimaxCatalog, MinimaxCredits, type MinimaxRegion, type ModelUsage, type OAuthCredential, type OAuthState, PLUGIN_CREDENTIAL_FILENAME, PLUGIN_STATE_FILENAME, type PluginCredential, type PluginState, SIGNIN_CLAIM_PATH, SIGNIN_CLAIM_RESULT, SIGNIN_CYCLE_DAYS, SIGNIN_DAY_STATUS, SIGNIN_PANEL_PATH, type SigninClaim, type SigninDay, type SigninPanel, type StatusDocument, type TokenClaims, UsageMeter, apply, authPath, bearerToken, catalogUrl, chatBaseUrl, claimSignin, createMinimaxCodeAdapter, dataDir, daysRemaining, decodeClaims, dshHome, ensureOAuthCredential, estimateCny, expiresInMs, expiryLevel, fetchCreditSummary, fetchSigninPanel, inject, localDay, makePkce, name, parseAuthDocument, parseCatalog, parseCreditSummary, parseOAuthDocument, parseSigninClaim, parseSigninPanel, pluginCredentialPath, pluginStatePath, pollDeviceLogin, priceFor, readCredential, readOAuthCredential, readPluginCredential, readPluginState, refreshOAuthCredential, refreshPluginCredential, startDeviceLogin, statusDocument, timezoneId, writeOAuthCredential, writePluginCredential, writePluginState };
|
package/lib/index.js
CHANGED
|
@@ -2383,4 +2383,4 @@ async function readRequestBody(req) {
|
|
|
2383
2383
|
return text;
|
|
2384
2384
|
}
|
|
2385
2385
|
//#endregion
|
|
2386
|
-
export { DEVICE_CODE_GRANT, DEVICE_CODE_PATH, EMPTY_USAGE, FALLBACK_MODELS, MEMBERSHIP_PATH, MINIMAXCODE_PROVIDER_ID, MINIMAX_AUTH_FILENAME, MINIMAX_DATA_DIR, MINIMAX_GATEWAYS, MINIMAX_OAUTH_CLIENT_ID, MINIMAX_REGIONS, MINIMAX_STATUS_PATH, MINIMAX_STREAM_IDLE_TIMEOUT_MS, MODEL_PRICES, MinimaxCatalog, MinimaxCredits, PLUGIN_CREDENTIAL_FILENAME, PLUGIN_STATE_FILENAME, SIGNIN_CLAIM_PATH, SIGNIN_CLAIM_RESULT, SIGNIN_CYCLE_DAYS, SIGNIN_DAY_STATUS, SIGNIN_PANEL_PATH, UsageMeter, apply, authPath, bearerToken, catalogUrl, chatBaseUrl, claimSignin, createMinimaxCodeAdapter, dataDir, daysRemaining, decodeClaims, dshHome, ensureOAuthCredential, estimateCny, expiresInMs, expiryLevel, fetchCreditSummary, fetchSigninPanel, inject, localDay, makePkce, name, parseAuthDocument, parseCatalog, parseCreditSummary, parseOAuthDocument, parseSigninClaim, parseSigninPanel, pluginCredentialPath, pluginStatePath, pollDeviceLogin, priceFor, readCredential, readOAuthCredential, readPluginCredential, readPluginState, refreshOAuthCredential, refreshPluginCredential, startDeviceLogin, statusDocument, timezoneId, writeOAuthCredential, writePluginCredential, writePluginState };
|
|
2386
|
+
export { DEVICE_CODE_GRANT, DEVICE_CODE_PATH, EMPTY_USAGE, FALLBACK_MODELS, MEMBERSHIP_PATH, MINIMAXCODE_PROVIDER_ID, MINIMAX_ACTION_PATH, MINIMAX_AUTH_FILENAME, MINIMAX_DATA_DIR, MINIMAX_GATEWAYS, MINIMAX_OAUTH_CLIENT_ID, MINIMAX_REGIONS, MINIMAX_STATUS_PATH, MINIMAX_STREAM_IDLE_TIMEOUT_MS, MODEL_PRICES, MinimaxCatalog, MinimaxCredits, PLUGIN_CREDENTIAL_FILENAME, PLUGIN_STATE_FILENAME, SIGNIN_CLAIM_PATH, SIGNIN_CLAIM_RESULT, SIGNIN_CYCLE_DAYS, SIGNIN_DAY_STATUS, SIGNIN_PANEL_PATH, UsageMeter, apply, authPath, bearerToken, catalogUrl, chatBaseUrl, claimSignin, createMinimaxCodeAdapter, dataDir, daysRemaining, decodeClaims, dshHome, ensureOAuthCredential, estimateCny, expiresInMs, expiryLevel, fetchCreditSummary, fetchSigninPanel, inject, localDay, makePkce, name, parseAuthDocument, parseCatalog, parseCreditSummary, parseOAuthDocument, parseSigninClaim, parseSigninPanel, pluginCredentialPath, pluginStatePath, pollDeviceLogin, priceFor, readCredential, readOAuthCredential, readPluginCredential, readPluginState, refreshOAuthCredential, refreshPluginCredential, startDeviceLogin, statusDocument, timezoneId, writeOAuthCredential, writePluginCredential, writePluginState };
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "dsh-connect-minimaxcode",
|
|
3
3
|
"displayName": "DSH Connect MiniMax Code",
|
|
4
4
|
"description": "把本机已登录的 MiniMax Code 桌面 App 模型接入 DeepSeek Harness:零配置、Anthropic Messages 兼容、动态模型目录,并显示积分余额与到期 — bring MiniMax Code desktop app models into DSH with a dynamic model catalog and a credit balance with expiry details.",
|
|
5
|
-
"version": "0.5.
|
|
5
|
+
"version": "0.5.1",
|
|
6
6
|
"author": "JeffTsuiCUG",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"private": false,
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"type": "module",
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": "^22.19.0 || >=24.0.0",
|
|
24
|
-
"dsh": ">=0.1
|
|
24
|
+
"dsh": ">=0.2.1-rc.2 <0.3.0-0"
|
|
25
25
|
},
|
|
26
26
|
"main": "lib/index.js",
|
|
27
27
|
"types": "lib/index.d.ts",
|