Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ The MiniMax Code Agent communicates through the host MCP client. Business reques
| [Session Trajectory](plugins/avatasia/mmc-trajectory/) | Browse a conversation's model trajectory: messages, reasoning, tool calls and results, Token usage, and per-turn timing | [avatasia](https://github.com/avatasia) |
| [CadQuery Viewer](plugins/hanzijie/cq-viewer/) | View STL / STEP models from your project (STEP keeps assembly part names, colours, and real CAD edges), watch models pushed from CadQuery scripts, and mark positions on the model to send to the conversation in one click; MCP tools let the AI add model folders and open models, and a CadQuery parametric-design skill is bundled | [HanZijie](https://github.com/HanZijie) · [flowful-ai](https://github.com/flowful-ai) |
| [MiniMax Bot](plugins/minimax-ai/minimax-bot/) | **Official plugin** that turns MiniMax Code into an always-on team of Bots: a Chief Bot builds the team, group chats hand work between members with `@` mentions, and every Bot has its own memory, scheduled tasks, and usage stats. Requires MiniMax Code 3.1.2 or later | [MiniMax-AI](https://github.com/MiniMax-AI) |
| [心屿 / Xinyu Island](plugins/yujiachen-y/xinyu-daily/) | A cozy daily-mood island that plays like an indie game: an inspiration card shaped by your answers, mood stickers, a joy jar, a decision slot machine, a Book of Answers, and 20 hidden secrets guarded by a grumpy crab. Optionally, Xiaoyu writes you a daily letter and chats with you using your model. Requires MiniMax Code 3.1.2 or later | [yujiachen-y](https://github.com/yujiachen-y) |

<details>
<summary>Preview: Token Usage Board</summary>
Expand Down
1 change: 1 addition & 0 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ MiniMax Code Agent 通过宿主 MCP 客户端与 MiniApp 协作。业务请求
| [会话轨迹](plugins/avatasia/mmc-trajectory/README.zh-CN.md) | 按轮次浏览一段会话的模型轨迹:消息流、思考过程、工具调用与结果、token 用量与每轮耗时 | [avatasia](https://github.com/avatasia) |
| [CadQuery Viewer](plugins/hanzijie/cq-viewer/README.zh-CN.md) | 本地查看项目里的 STL / STEP(保留装配零件名称、颜色和真实边线),实时显示 CadQuery 脚本推送的模型,在模型上标注位置后一键发给 AI;AI 可通过 MCP 工具添加模型文件夹、打开模型,并内置 CadQuery 参数化建模 skill | [HanZijie](https://github.com/HanZijie) · [flowful-ai](https://github.com/flowful-ai) |
| [MiniMax Bot](plugins/minimax-ai/minimax-bot/) | 【官方插件】把 MiniMax Code 变成常驻的 Bot 团队:总管 Bot 帮你组建团队,群聊里用 `@` 在成员之间交接工作,每个 Bot 有自己的记忆、定时任务和用量统计;需要 MiniMax Code 3.1.2 或更高版本(说明文档为英文) | [MiniMax-AI](https://github.com/MiniMax-AI) |
| [心屿](plugins/yujiachen-y/xinyu-daily/README.zh-CN.md) | 像独立小游戏的每日心情小岛:由你的回答决定的今日灵感卡、心情贴纸、小确幸罐子、纠结老虎机、答案之书,还有坏脾气螃蟹藏起来的 20 个秘密;可选开启小屿陪伴,借用你的模型每天写信、陪你聊天。需要 MiniMax Code 3.1.2 或更高版本 | [yujiachen-y](https://github.com/yujiachen-y) |

<details>
<summary>预览:Token 用量看板</summary>
Expand Down
18 changes: 18 additions & 0 deletions plugins/yujiachen-y/xinyu-daily/.minimax-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"schemaVersion": 1,
"name": "xinyu-daily",
"displayName": "心屿",
"version": "1.1.0",
"description": "每日心情与灵感小岛:心情打卡、今日灵感卡、心情手账、纠结粉碎机、答案之书和能量风格小测;开启小屿陪伴后,小屿每天给你写信、陪你聊天。",
"author": "yujiachen-y",
"icon": "icon.png",
"category": "Other",
"exampleQueries": [
"打开心屿,记录一下今天的心情",
"打开心屿看看今天的灵感卡",
"打开心屿,看看小屿今天给我写了什么"
],
"apps": [],
"mcpServers": [],
"skills": []
}
21 changes: 21 additions & 0 deletions plugins/yujiachen-y/xinyu-daily/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 yujiachen-y

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
144 changes: 144 additions & 0 deletions plugins/yujiachen-y/xinyu-daily/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# 心屿 Xinyu Island (`xinyu-daily`)

English | [简体中文](README.zh-CN.md)

A cozy daily-mood Mini App that plays like a small indie game. A floating island grows as you tell
its keeper, a cloud named Xiaoyu, more about yourself. Each day you can draw an inspiration card,
stick a mood sticker, drop small joys into a jar, settle indecision with a slot machine, and hunt
for 20 hidden secrets guarded by Hengheng, a grumpy crab who calls himself the island bully. If you
turn on Xiaoyu's companionship, Xiaoyu also writes you a letter every day, chats with you, and keeps
a notebook of what you asked it to remember.

The app makes no network requests of its own. Xiaoyu's letters and chat stay off until you turn
them on; only then does the app run Agent turns, which send the related records to the model you
use in MiniMax Code. The interface is in Chinese.

![Xinyu Island with synthetic data](docs/preview.jpg)

*Preview uses synthetic data.*

## What you can do

- **Today's inspiration card**: answer three light questions, then flip a collectible card with a
keyword, an energy score, four small stats, a colour, a number, things that suit today and things
to set aside. Your answers, your birthday, and what Xiaoyu knows about you change the card. Rare
cards are holographic. Content is generated by rules and is for fun and self-reflection only; it
makes no predictions and gives no advice.
- **Mood stickers and journal**: one sticker per day, a sticker calendar, a 30-day mood curve,
streak medals, a card collection album, and a wall of small joys.
- **Decision crusher**: a slot machine with a pullable lever, and a Book of Answers that gives the
same answer to the same question on the same day.
- **Self-exploration**: twelve "about you" questions that grow the island (flowers, a tree, a
house, a lighthouse, a windmill, a rainbow) and change its weather, season, and weekend props;
a birthday-flower portrait; an eight-question energy-style quiz.
- **Xiaoyu's mailbox (optional, uses your model)**: the first tap on the mailbox opens Xiaoyu's
invitation, which says what it would read and where that goes; nothing is sent until you accept.
Once it is on, Xiaoyu writes one letter a day from your recent moods and notes, small joys,
about-you answers, Book of Answers questions, and recent chats, so each letter follows what you
have shared lately. You can reply and chat (up to 20 messages a day), say "记住…" to have Xiaoyu
note something, review or forget every note in Xiaoyu's notebook, and get a one-line reply under
your mood sticker. Read letters stay in a letter box. If you decline, or the model is
unavailable, Xiaoyu leaves a rule-generated handwritten note instead.
- **Care message**: when a mood note or a chat message suggests self-harm, the app shows a fixed
message pointing to the national mental-health hotline 12356 (and 110 / 120 for immediate
danger). This text is part of the app; it is not generated by the model.
- **Exploration**: a wake-up opening, region banners, a daily journey checklist, and 20 secrets
hidden around the island (poke the cloud, tap the moon, squeeze a cloud, catch a shooting star,
and more). Each find makes Hengheng hand over a shell, tracked in a secrets log.
- Optional synthesized sound effects (Web Audio, no audio files), day/night sky that follows the
clock, and `prefers-reduced-motion` support.

## Install

Requires MiniMax Code 3.1.2 or later, because the package declares `agentAccess`; earlier versions
cannot install it.

Copy this directory, including the hidden `.minimax-plugin/`, into the MiniMax Code plugins
directory as `xinyu-daily/` (`~/.minimax/plugins/xinyu-daily/` by default; see the root README's
Install section). Restart MiniMax Code, then open 心屿 from the Mini App entry in the right panel or
ask the Agent to "打开心屿".

## Tested environment

- MiniMax Code 3.1.1-preview.4651 on macOS, an internal preview build that already ships the 3.1.2
Mini App Agent API (`context.agent`). Installed through the Host publish flow, opened in the
right panel. Exercised: the opening, Xiaoyu's introduction, the about-you dialogue and island
unlocks, daily questions and card flip, mood stickers and the 3-day streak celebration, the joy
jar (add and shake), the slot machine, the Book of Answers, the journal, the energy quiz,
discovering secrets and the secrets log, light and dark sky, and that the companion setting
appears when the Host provides an Agent. No console errors or failed requests.
- Xiaoyu's companionship was exercised against a mock Agent with the same `run` contract: the
invitation (accept, decline, and the offline version when no Agent is available), writing and
opening letters, the letter box, chat with typing replies, "记住…" and forgetting notes, mood
replies, turning the companion off and on, a failed letter falling back to a note and "请小屿重写",
cancelling a turn that starts a tool, timeouts, daily limits, session reuse and replacement, and
the care message.
- Not exercised end to end: Xiaoyu's companionship has not yet been run against a real model on a
device. Shooting stars and hot-air balloons appear at random times, the birthday cake only on the
user's birthday, and holographic cards only by chance. Sound output was not checked by ear.
Narrow layouts and reduced motion were checked by reading the CSS, not on a device.
- The loopback checks and state recovery were exercised with a Node 22 script: requests with a
forged `Host` or a cross-site `Origin` get `403`, a `text/plain` write gets `415`, and no data
changes; a truncated, `null`, or array state file is renamed aside and the app starts empty, and
fields of the wrong type fall back to defaults; when a disk write fails, the in-memory state
stays as it was. The page's own writes, including those without a body, pass these checks in
headless Chrome.

## Data & access

- Files: reads its own files under `miniapp/client/`. Writes one file, `xinyu-state.json`, inside
the Host-provided `context.dataDir` (atomic write through a temporary file). If that file is
corrupt and cannot be read, it is renamed to `xinyu-state.broken-<time>.json` in the same
directory and the app starts with empty state. Nothing else.
- Network: none from the app itself. The page only calls the app's own same-origin routes under
`/api/`. The server answers only requests from the local page: `Host` must be `127.0.0.1`,
`localhost`, or `[::1]`, and a browser `Origin`, when sent, must be this app's own address;
anything else gets `403`. Writes accept only `application/json`.
- Processes: none.
- Agent turns: declares `agentAccess: ["session.run"]` with `agentConcurrency: 1`, and runs turns
from the Node entry (`context.agent`) only after you turn on 小屿陪伴, in the mailbox invitation or
in Settings. It asks the Agent for plain text only, in three cases: today's letter (plus up to
eight short notes Xiaoyu keeps about you), a reply in the chat, and one line about today's mood
sticker. Each prompt holds the app's instructions plus your records, marked as data: today's
date, nickname, streak, days until your birthday (not the date itself), recent moods and notes,
small joys, about-you answers, energy style, today's card keyword, recent Book of Answers
questions, recent chat lines, the notebook, and the previous letter. Notes you forgot are never
sent again. Turns run in one session per day, hidden from your session list.
- No tools, no approvals: if a turn starts a tool, asks for a permission, or asks a question, the
app cancels the turn and never answers `allowOnce`; Xiaoyu falls back to a handwritten note or
an apology line. The cancel is sent when the `tool.started` event arrives, so a very fast
read-only tool may already have finished by then.
- Limits: 240 s for a letter, 120 s for a chat reply, 90 s for a mood reply; up to 20 chat
messages and 3 mood replies a day; one turn at a time. Agent output is checked for length and
format, and stripped of markup, before it is shown.
- Turning the companion off stops new turns; a reply that was still running is discarded, and a
letter that was still being written is replaced by a handwritten note.
- State stored in `xinyu-state.json`: nickname, birthday, daily mood check-ins and notes, drawn
cards and favourites, small joys, Book of Answers history, quiz result, about-you answers,
discovered secrets, one-time onboarding flags, and for the companion: the on/off choice, letters
(up to 60), chat lines of the last 3 days, Xiaoyu's notes, the list of forgotten notes, and
today's session id. The browser's `localStorage` keeps only view preferences (current tab, sky
mode, sound on/off, whether the opening has played).
- Reset: Settings → 清空所有数据 deletes all stored state and cancels running Agent turns.

## Files

```text
.minimax-plugin/plugin.json Plugin manifest
package.json Mini App declaration
miniapp/miniapp.json Payload roots, Node entry, page route, Agent access
miniapp/client/index.html Page shell served at /dashboard
miniapp/client/app.css Styles and animations
miniapp/client/app.js Page logic (no dependencies)
miniapp/node/server.mjs Node entry: start(context) → { dispose }, routes, SSE, Agent turns
miniapp/node/domain.mjs Validated state changes, persistence, card generation
miniapp/node/companion.mjs Companion prompts, output checks, handwritten notes, care message
miniapp/node/content.mjs Content pools: cards, answers, questions, quiz, birth flowers
miniapp/node/miniapp-api.ts Type declarations for the runtime context
icon.png Plugin icon
docs/preview.jpg README preview (synthetic data)
```

## License

[MIT](./LICENSE)
Loading
Loading