This repository has moved into one monorepo.
The whole MiniMax set — the credit proxy, the daily check-in, the model-list sync, the composer quota chip, the MiniMax Code bridge, and the shared grant reader — now lives in
borncode-app/dsh-minimax-kit, one repository with one Plugins entry.
this repo new home dsh-minimax-authpackages/dsh-minimax-authdsh-minimax-creditpackages/dsh-minimax-creditdsh-minimax-checkinpackages/dsh-minimax-checkindsh-minimax-model-syncpackages/dsh-minimax-model-syncdsh-minimax-bridgepackages/dsh-minimax-bridgedsh-model-quotapackages/dsh-model-quotaThe code and its history are unchanged; only the repository is shared. Install
dsh-minimax-kitinstead of the individual bundles. This repository stays open so the old links keep working.
Where the one-entry kit lives
This plugin, dsh-minimax-credit, dsh-minimax-model-sync, dsh-model-quota
and dsh-minimax-bridge are also published as one bundle:
dsh-minimax-kit.
Install the kit instead if you want the whole MiniMax set from a single Plugins entry. It ships these same packages as separate rows, so the code here is unchanged and each part keeps its own switch — this repository stays the home of the check-in client, the panel, the tool, and the routes.
Where the sign-in code lives now
The MiniMax Code grant reader — reading ~/.minimax/auth, refreshing it under
the app's own auth.lock, and the token/generation bookkeeping — moved to
dsh-minimax-auth.
This plugin and dsh-minimax-credit both import it, so one refresh path writes
the grant instead of two. The dependency is pinned to a commit; bump
@local/dsh-minimax-auth in package.json to take a newer one.
Nothing else moved: this repository still owns the check-in client, the request
signature, the panel, the tool, the routes, and the schedule. The MinimaxAuth
export remains here as a subclass that supplies this plugin's error class and
MINIMAX_CHECKIN_* codes.
What it does
MiniMax Code shows a Daily Check-in card in its own account menu — seven days, 400 credits each, 1,000 on the fourth and the seventh. The reward belongs to the account, not to the app, so there is no reason to open MiniMax Code for it.
This plugin reads and presses the same reward through MiniMax's API:
- it borrows the sign-in MiniMax Code already stored on this machine (
~/.minimax/auth), - reads the panel from
GET /minimax-cloud/api/v1/signin/status, - claims it with
POST /minimax-cloud/api/v1/signin/claim, - and signs both requests with the same OAuth bearer,
x-timestamp,x-signature, andyyheaders the desktop client sends.
The credit lands in the same account, so the MiniMax route in the Harness keeps working with it.
Features
- A tool —
minimax_daily_checkinwithaction: "status"(read the panel) oraction: "claim". - A composer chip — the current streak, the days left in this cycle, and a Check in for N button.
- Two routes —
GET /plugins/minimax-checkin/statusandPOST /plugins/minimax-checkin/claim, on the Web GUI's own origin. - A daily schedule —
autoCheckInclaims atautoCheckInHourlocal time; the plugin skips the run when today's reward was already taken. - Never signs in on its own — it reuses the grant MiniMax Code wrote, and refreshes it in place when it is
about to expire, taking the same
auth.lockthe app uses so the two never fight over one token. - Honest failures — a rejected sign-in, a second claim, and an unreachable service each get their own message instead of a generic error.
Requirements
| DeepSeek Harness | 0.2.x (Web GUI) |
| Runtime | Node 24, supplied by the Harness runtime |
| MiniMax Code | Signed in on this machine — the plugin borrows that sign-in and never opens a browser |
| Account | MiniMax Code account (the reward belongs to it) |
| Peer | dsh-minimax-auth — the shared grant reader (a link: dependency, not a bundle) |
Install
git clone https://github.com/borncode-app/dsh-minimax-checkin.git dsh-minimax-checkin
git clone https://github.com/borncode-app/dsh-minimax-auth.git dsh-minimax-auth
cd dsh-minimax-checkin && pnpm install
Then in DSH: Plugins → install the bundle from that directory, or:
plugin_manager install_bundle target=C:\path\to\dsh-minimax-checkin
Restart once. The chip appears next to the composer.
Configuration
| field | default | meaning |
|---|---|---|
enabled |
true |
Registers the tool, the routes, and the schedule |
minimaxHome |
'' |
MiniMax Code home; empty means $MINIMAX_HOME or ~/.minimax |
buildEnv |
prod |
OAuth build environment directory under the MiniMax home |
region |
en |
OAuth region directory under the MiniMax home |
apiBaseURL |
https://agent.minimax.io |
Origin that serves the MiniMax Code API |
oauthTokenURL |
'' |
OAuth token endpoint; empty derives it from the region |
appVersion |
3.1.14 |
MiniMax Code version reported to the API |
refreshSkewMs |
600000 |
Refresh the OAuth token this long before it expires |
timeoutMs |
20000 |
Milliseconds one API request may take |
statusPath |
/plugins/minimax-checkin/status |
Same-origin Web GUI path that reports the panel |
claimPath |
/plugins/minimax-checkin/claim |
Same-origin Web GUI path that claims the reward |
autoCheckIn |
false |
Claim the reward on a schedule |
autoCheckInHour |
9 |
Local hour of the day the scheduled claim runs |
appVersiontells MiniMax which client the request claims to come from. If MiniMax Code updates and the API starts refusing the request, this is the first value to raise.
How it works
tool call / composer chip / daily timer
│
â–¼
read the grant under ~/.minimax/auth ──► refresh in place when it is close to expiry
│ (same auth.lock the app uses)
â–¼
GET /minimax-cloud/api/v1/signin/status ──► the panel: days, points, streak
│
â–¼
POST /minimax-cloud/api/v1/signin/claim ──► day number and points granted
Both requests carry the OAuth bearer and the signature headers the desktop client sends, so the API sees the same shape of request it sees from MiniMax Code.
Files
| file | role |
|---|---|
index.js |
Host row: panel reading, claiming, the tool, the routes, the schedule; the grant reader comes from dsh-minimax-auth |
client.js |
the composer chip |
cordis.patch.yml |
the bundle patch that inserts the row |
locale/{en,th,zh}.json |
UI strings |
icon.svg |
plugin icon |
test/checkin.test.mjs |
the checks used while building it (no network) |
scripts/checkin-live.mjs |
a live call against the real API: node scripts/checkin-live.mjs status |
scripts/verify-tool.mjs |
runs the tool against the live API and passes the result through the Harness's own lossless-JSON validator |
Limitations
- The account must already be signed in to MiniMax Code on this machine. A rejected refresh token needs MiniMax Code's own sign-in; the plugin does not open a browser.
- MiniMax allows one claim per day. A second claim returns
AlreadyClaimedand grants nothing. - The API group and its signature scheme are MiniMax's own; a future change to them can stop this plugin from reading the panel until it is updated.
ภาษาไทย
Plugin นี้ à¸à¸”เครดิตรายวันให้à¸à¸±à¸•โนมัติ โดยไม่ต้à¸à¸‡à¹€à¸›à¸´à¸” MiniMax Code — à¸à¸”ให้ขà¸à¸‡à¸‚วัà¸à¸Šà¸¸à¸”เดียวà¸à¸±à¸šà¸—ี่ MiniMax Code à¹à¸ªà¸”งในเมนูบัà¸à¸Šà¸µ (7 วัน, วันละ 400 เครดิต, วันที่ 4 à¹à¸¥à¸° 7 ได้ 1,000)
- ยืม à¸à¸²à¸£ login ที่ MiniMax Code เà¸à¹‡à¸šà¹„ว้ ใน
~/.minimax/authมาใช้ (ไม่ต้à¸à¸‡ login ใหม่ ไม่เปิดเบราว์เซà¸à¸£à¹Œ) - ต่ภAPI ขà¸à¸‡ MiniMax ด้วย header เดียวà¸à¸±à¸šà¸—ี่à¹à¸à¸›à¹€à¸”สà¸à¹Œà¸—็à¸à¸›à¸ªà¹ˆà¸‡ (
x-timestamp,x-signature,yy) - มี tool
minimax_daily_checkin(action: "status" | "claim") à¹à¸¥à¸° ป้ายใต้ช่à¸à¸‡à¸žà¸´à¸¡à¸žà¹Œ ที่มีปุ่ม "Check in for N" - ตั้ง
autoCheckIn: trueให้à¸à¸”ขà¸à¸‡à¸‚วัà¸à¸à¸±à¸•โนมัติทุà¸à¸§à¸±à¸™à¹€à¸§à¸¥à¸²autoCheckInHour(ปà¸à¸•ิ 9 โมง) — ถ้าà¸à¸”ไปà¹à¸¥à¹‰à¸§à¸§à¸±à¸™à¸™à¸±à¹‰à¸™à¸¡à¸±à¸™à¸ˆà¸°à¸‚้าม - ตà¸à¸™ token ใà¸à¸¥à¹‰à¸«à¸¡à¸”à¸à¸²à¸¢à¸¸ มัน refresh เà¸à¸‡ ในไฟล์เดิมขà¸à¸‡ MiniMax Code พร้à¸à¸¡ lock เดียวà¸à¸±à¸™ → ไม่à¹à¸¢à¹ˆà¸‡ token à¸à¸±à¸™
âš ï¸ à¸‚à¹‰à¸à¸ˆà¸³à¸à¸±à¸”: ต้à¸à¸‡à¸¥à¹‡à¸à¸à¸à¸´à¸™ MiniMax Code ไว้บนเครื่à¸à¸‡à¸™à¸µà¹‰, MiniMax ให้à¸à¸”ได้วันละครั้ง (ครั้งที่สà¸à¸‡à¹„ด้ AlreadyClaimed),
à¹à¸¥à¸° appVersion ต้à¸à¸‡à¸•รงà¸à¸±à¸šà¹€à¸§à¸à¸£à¹Œà¸Šà¸±à¸™ MiniMax Code ที่ใช้à¸à¸¢à¸¹à¹ˆ — ถ้าà¹à¸à¸›à¸à¸±à¸›à¹€à¸”ตà¹à¸¥à¹‰à¸§à¹€à¸£à¸´à¹ˆà¸¡à¸–ูà¸à¸›à¸à¸´à¹€à¸ªà¸˜ ให้à¹à¸à¹‰à¸„่านี้à¸à¹ˆà¸à¸™
License
MIT © 2026 BornCode
No comments yet. Be the first to write one.