Skip to content

Add AI Office (AI 事务所) MiniApp - #23

Open
cristinamadureira353-svg wants to merge 3 commits into
MiniMax-AI:mainfrom
cristinamadureira353-svg:add-ai-office
Open

cristinamadureira353-svg wants to merge 3 commits into
MiniMax-AI:mainfrom
cristinamadureira353-svg:add-ai-office

Conversation

@cristinamadureira353-svg

@cristinamadureira353-svg cristinamadureira353-svg commented Oct 16, 2026 •

Copy link
Copy Markdown

Adds AI Office / AI 事务所, a Chinese-language pixel office management game with five model-powered employees (M3, Flash, LongCat, Kimi and Step5). Players assign client work, review deliveries, chat with employees and arrange breaks and meetings. When a provider's quota is exhausted or credentials become invalid, the affected employee enters a visible offline state and stops work and further requests until the player repairs the configuration and manually reboots it.

Package

  • Adds the complete, independently installable plugins/cristinamadureira353-svg/ai-office/ package, version 0.5.10, plus entries in both root README tables.
  • Includes the Godot Web export, Python backend, generic first-run setup guidance, English/Chinese documentation, synthetic preview, tests outside the runtime payload, MIT license and required font/engine notices.
  • Uses the published v0.5.10 runtime. Runtime files remain byte-for-byte identical; this contribution adds documentation, a preview and author attribution. Tagged game source and build instructions are public.
  • Players need Python 3.9+ and the supplied Flask/requests/python-dotenv requirements, plus at least one employee provider's own API key. Optional Jev decisions use a separate OpenRouter key. Players need no Godot installation or source checkout.

Data and runtime access

  • Node binds only the Host-provided loopback listener and stores settings and progress under context.dataDir.
  • The player selects an existing environment file and, optionally, an initial JSON save; these external files are read only. No Host login credentials are read.
  • Starts one configured Python backend with argument arrays and a private JSON-lines protocol; setup also performs a short local Python dependency probe. The README documents both commands and lifecycle cleanup. API key values do not appear in process arguments, page APIs, logs or error responses.
  • Gameplay sends task/dialogue context to api.minimaxi.com, api.longcat.chat, api.kimi.com, api.stepfun.com, and optionally openrouter.ai. These calls use the player's own quota. Reading setup guidance and checking dependencies make no model calls.
  • No real keys, private saves, real conversations, virtual environments, caches or personal screenshots are included. The package and decompressed Web payload were checked for known real keys, credential formats and personal local identifiers; the preview uses synthetic game state.

Validation

  • npm run check: 0 errors, 55/55 repository checker tests passed.
  • This package: ai-office: OK, no warnings.
  • Full relocated-package tests: 34/34 passed, no failures or skips, using temporary Host-context fixtures and headless Chromium. Covers first setup, reopening, quota shutdown/manual recovery, five chats, all four conflict choices, failed-request recovery, rest seats, UI layout and HiDPI behavior.
  • Environment: macOS 26.4, Node.js 22.23.2, Python 3.9.6, Godot 4.4.1 Web export.
  • The source release separately recorded 54 isolated backend tests and 415 Godot headless checks. See the package's docs/VALIDATION.md for scope and reproducible commands.

The whole-repository validator reports four existing README_HEADING_MISSING warnings: plugins/amszuidas/mcode-token-usage-board/README.md and plugins/yanhy2000/mcode-usage-monitor/README.md each lack ## Tested environment and ## Data & access. Those packages are unchanged. The generated Godot HTML/JS retain the release exporter's whitespace; other staged files pass the whitespace check.

Manual host play and validation scope

Manual play with real model providers. The project author installed, opened and played AI Office in the real MiniMax Code desktop host on macOS using real provider-issued API keys, live model API calls and actual provider responses, and confirmed this test method on 2026-10-17. Recorded environment: macOS 26.4 / MiniMax Code 3.0.73; the installed host version and OS were rechecked for this documentation correction.

Existing host screenshots show the game running. The author's gameplay feedback covers employee controls and chat access, rest seating, conflict-choice buttons and HUD visibility, and informed the corresponding fixes and regression coverage. Both READMEs and the detailed validation record explicitly record live-provider manual play.

Additional automated regression. The submitted 0.5.10 package also passed 34/34 automated interaction checks, including first-run configuration, game entry, reopening and employee chat, using temporary Host-context fixtures and headless Chromium. This separate scripted suite substitutes provider replies to exercise repeatable success and failure cases. The author's manual playtesting above used real provider keys and live model responses. Windows/Linux host play, Chinese IME behavior and long-term balance remain outside the recorded test coverage.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@MyPrototypeWhat MyPrototypeWhat left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

感谢贡献,这个游戏做得很完整!我在本地按包内的方式跑了一遍:

  • Node 22 下 npm run check 55/55 通过;配置好环境变量后,包内 node --test tests/*.test.mjs 34/34 通过。
  • 用临时 dataDir 启动 server.mjs,保存配置后在 headless Chrome 里打开 /ai-office,Godot 能正常进入游戏,没有外部请求;没配 Key 的员工显示「脑袋宕机了」,也不会发请求。
  • 外来的 Host/Origin 会返回 403,pythonPath 指向非 python 可执行文件会被拒绝;Python 后端走 stdin/stdout,不监听端口;关闭后 Python 子进程会退出。
  • miniapp/ 目录和 v0.5.10 release 包逐字节一致,release 的 sha256 也对得上。
  • 首次运行由 Agent 在私有目录里建 venv 并安装 Flask、requests、python-dotenv,这种方式我们可以接受。

需要修改

  1. CONTRIBUTING 要求提交前在 MiniMax Code 里实际安装、打开并检查主要功能,并在 PR 里写明测试环境和结果。README 里目前写的是「has not been manually reinstalled and played in a real MiniMax Code host」(README.md 第 47 行)。麻烦在真实宿主里把首次配置、进入游戏、和员工聊天这些主流程走一遍,再把环境和结果补到 PR 描述和 README 的 Tested environment 里,同时更新第 47 行的这句话。

建议(可选)

  1. THIRD_PARTY_NOTICES.md 里 LICENSES/Godot-MIT.txt、LICENSES/Godot-COPYRIGHT.txt、godot/assets/fonts/OFL.txt 是源码仓库里的路径,这个包里没有,建议改成包内的 LICENSE-GODOT.txt、COPYRIGHT-GODOT.txt、LICENSE-NOTO.txt。
  2. 包内测试需要 AI_OFFICE_TEST_EVIDENCE、AI_OFFICE_TEST_NODE_MODULES 等几个环境变量,目前只在源码仓库里有说明。可以在 tests/ 下补一个简短说明,方便直接复现。
  3. 根目录两份 README 的表格里,新行可以放到末尾,和现有的顺序保持一致。


- Copyright (c) 2014-present Godot Engine contributors.
- Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
- License: LICENSES/Godot-MIT.txt

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里的 LICENSES/Godot-MIT.txt(以及下一行和第 21 行的路径)是源码仓库里的位置,这个插件包里没有 LICENSES/ 和 godot/ 目录。建议直接写包内的 LICENSE-GODOT.txt、COPYRIGHT-GODOT.txt、LICENSE-NOTO.txt。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants