Skip to content

feat(agents): add MiniMax Code as a supported TUI agent - #14886

Open
hetaoBackend wants to merge 4 commits into
stablyai:mainfrom
hetaoBackend:feat/minimax-code-tui-agent
Open

hetaoBackend wants to merge 4 commits into
stablyai:mainfrom
hetaoBackend:feat/minimax-code-tui-agent

Conversation

@hetaoBackend

@hetaoBackend hetaoBackend commented Aug 16, 2026 •

Copy link
Copy Markdown

ELI5

Orca can now find, launch, label, and display MiniMax Code (mcode) as a supported terminal agent on desktop and mobile.

What Changed

  • Registers minimax-code in the shared agent configuration, desktop/mobile catalogs, telemetry schema, bundled icon maps, and all six translation catalogs.
  • Launches interactive prompts as mcode -- <prompt>, preserving prompts that begin with a subcommand name and POSIX/PowerShell argument quoting.
  • Recognizes the mcode launcher, Windows shims, minimax-code runtime process, and exact public @minimax-ai/code/cli.js and documented internal @minimax/code/cli.js entrypoints. The internal path is used only to recognize an existing process; launches still use mcode.
  • Excludes non-interactive init, exec, ACP, authentication, update, provider, and plugin commands from foreground TUI recognition.
  • Prioritizes exact CLI command matches in picker search so mcode ranks ahead of the fuzzy MiMo Code match.
  • Preserves MiniMax Code's sidebar identity and supports its emitted whole-title labels in the current pane identity resolver. Titles that merely mention MiniMax Code in task text remain insufficient evidence; foreground-process identity retains priority.
  • Integrates with the current shared desktop/mobile registry and split telemetry schemas, resolving the conflicts with main. Uses the shared launch defaults without a separate product configuration module.

Why

MiniMax Code uses the mcode command, but Orca previously had no catalog identity or process/title mappings for it. This integration follows Orca's existing local and remote TUI paths.

Linked Issue

Fixes #14051

Visual Proof

Before/after Electron screenshots remain pending. This update changes registry and identity behavior without changing the UI layout. The sidebar and icon rendering paths have automated coverage. Live Electron, Windows, and SSH-host acceptance were not rerun for this update.

Testing

Validated on macOS with Node 24.20.0 and pnpm 12.0.0:

  • Desktop typecheck: all three TypeScript projects passed using the repository's typecheck runner.
  • Desktop regression suites: 25 files, 746 tests passed, covering launch configuration and quoting, process detection, title evidence and published identity, telemetry, catalog links, picker search/combobox, sidebar rows, and icons.
  • Mobile typecheck: passed.
  • Mobile catalog, bundled icon, and agent selection suites: 3 files, 17 tests passed.
  • Changed-file Oxlint, React Doctor, and format checks: passed.
  • Changed-code quality gate, including type-aware checks: zero new findings across 32 source files.
  • Localization catalog, runtime English catalog, reliability, max-lines, and ts-nocheck checks: passed.
  • Complete build stages passed: relay, CLI, Electron main/preload/renderer, built skills CLI verification, Web projection, and macOS computer, keyboard-layout, and notification-status components.
  • git diff --check against the integrated main revision: passed.

GitHub CI for head f1ffefe80 currently reports action_required for PR Checks, Mobile Checks, and PR test LoC, with no jobs listed. Maintainer action is needed before remote CI can be confirmed.

The repository-wide test suite and the GitHub CI matrix are separate from these focused local checks. Windows command paths and PowerShell quoting are covered by automated tests; no live Windows or SSH host was used.

AI Disclosure

OpenAI Codex was used to implement the integration, resolve conflicts, add regression tests, run verification, and update this description.

Review

  • Security: executable and npm entrypoint recognition remains exact; free-text title mentions do not establish published pane identity, and stronger process evidence retains priority.
  • Cross-platform and SSH: uses shared command-based launch and detection paths without machine-local absolute paths. Tests cover POSIX, Windows shims, PowerShell quoting, and remote launch configuration.
  • Mobile and compatibility: shares desktop agent ordering, labels, and launch definitions while retaining bundled mobile icons. No RPC envelope or stream opcode changes.
  • Performance: adds bounded registry entries and preserves upstream title memoization and identity-evidence ranking.
  • UI: retains the product label and sidebar icon identity; live visual acceptance remains pending.

Agent skill upstream boundary

  • Not applicable: this change copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.

Notes

No ACP client, hook protocol, session-history scanner, or skill-installer source is added.

Checklist

  • Changes are focused on MiniMax Code TUI integration.
  • Explained what changed and why, with regression coverage.
  • Self-reviewed correctness, security, performance, and cross-platform/remote behavior.
  • Relevant local typechecks, tests, quality gates, and build stages passed.
  • Before/after Electron visual capture.
  • Repository-wide test suite and GitHub CI matrix confirmed.

Author

  • X / Twitter: N/A (not listed on the contributor's GitHub profile).

@hetaoBackend

Copy link
Copy Markdown
Author

@Jinwoo-H @brennanb2025 — would either of you be able to review this MiniMax Code TUI integration when you have time? It follows the same shared desktop/mobile agent surfaces as #6239 and #12935. The current head passes lint, desktop/mobile typechecks, build, and the focused regression suites. The main review areas are the real mcode/minimax-code process identities, filtering non-interactive subcommands, and the exact-command ranking needed to avoid the MiMo Code search collision. The PR is still draft only because the required Electron before/after visual capture is pending. Thanks!

Assisted-by: MiniMax Code
@hetaoBackend
hetaoBackend marked this pull request as ready for review August 17, 2026 03:01
@coderabbitai

coderabbitai Bot commented Aug 17, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 7e0951c8-c918-47f8-a98a-b66723f9544f

📥 Commits

Reviewing files that changed from the base of the PR and between 2e19342 and f1ffefe.

⛔ Files ignored due to path filters (1)
  • src/shared/agent-icons/minimax-code.png is excluded by !**/*.png
📒 Files selected for processing (38)
  • mobile/src/components/mobile-agent-icon-assets.ts
  • mobile/src/tasks/mobile-agent-catalog.test.ts
  • mobile/src/tasks/mobile-tui-agents.ts
  • src/renderer/src/components/sidebar/worktree-title-derived-agent-rows.test.ts
  • src/renderer/src/components/sidebar/worktree-title-derived-agent-rows.ts
  • src/renderer/src/i18n/locales/en.json
  • src/renderer/src/i18n/locales/es.json
  • src/renderer/src/i18n/locales/fr.json
  • src/renderer/src/i18n/locales/ja.json
  • src/renderer/src/i18n/locales/ko.json
  • src/renderer/src/i18n/locales/zh.json
  • src/renderer/src/lib/agent-catalog.tsx
  • src/renderer/src/lib/agent-favicon-assets.ts
  • src/renderer/src/lib/agent-picker-search.test.ts
  • src/renderer/src/lib/agent-picker-search.ts
  • src/renderer/src/lib/agent-status.ts
  • src/renderer/src/lib/tui-agent-startup.test.ts
  • src/shared/agent-detection.test.ts
  • src/shared/agent-headless-command.ts
  • src/shared/agent-kind.ts
  • src/shared/agent-name-token-match.ts
  • src/shared/agent-node-entrypoint-identities.ts
  • src/shared/agent-process-recognition.test.ts
  • src/shared/agent-status-types.ts
  • src/shared/agent-title-evidence.test.ts
  • src/shared/agent-title-evidence.ts
  • src/shared/agent-title-identity.ts
  • src/shared/agent-type-label.ts
  • src/shared/minimax-code-non-interactive-command.ts
  • src/shared/published-pane-agent-identity.test.ts
  • src/shared/skills-cli-agent-keys.ts
  • src/shared/telemetry-property-schemas.ts
  • src/shared/terminal-title-agent-type.test.ts
  • src/shared/terminal-title-agent-type.ts
  • src/shared/tui-agent-config.ts
  • src/shared/tui-agent-display-names.ts
  • src/shared/tui-agent-selection.ts
  • src/shared/tui-agent.ts
🚧 Files skipped from review as they are similar to previous changes (30)
  • src/shared/agent-kind.ts
  • mobile/src/components/mobile-agent-icon-assets.ts
  • src/shared/skills-cli-agent-keys.ts
  • src/renderer/src/lib/tui-agent-startup.test.ts
  • src/renderer/src/lib/agent-picker-search.ts
  • src/renderer/src/lib/agent-status.ts
  • src/shared/tui-agent-selection.ts
  • src/renderer/src/components/sidebar/worktree-title-derived-agent-rows.ts
  • src/shared/tui-agent-display-names.ts
  • src/renderer/src/lib/agent-picker-search.test.ts
  • src/shared/agent-name-token-match.ts
  • src/shared/tui-agent.ts
  • src/shared/agent-node-entrypoint-identities.ts
  • src/renderer/src/i18n/locales/en.json
  • src/shared/agent-status-types.ts
  • src/shared/terminal-title-agent-type.test.ts
  • src/renderer/src/lib/agent-catalog.tsx
  • src/shared/agent-type-label.ts
  • src/renderer/src/lib/agent-favicon-assets.ts
  • src/shared/agent-headless-command.ts
  • src/renderer/src/components/sidebar/worktree-title-derived-agent-rows.test.ts
  • src/shared/terminal-title-agent-type.ts
  • src/shared/minimax-code-non-interactive-command.ts
  • src/shared/agent-process-recognition.test.ts
  • src/shared/agent-title-identity.ts
  • src/shared/agent-detection.test.ts
  • src/renderer/src/i18n/locales/zh.json
  • src/renderer/src/i18n/locales/ja.json
  • src/renderer/src/i18n/locales/ko.json
  • src/renderer/src/i18n/locales/es.json

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

Adds MiniMax Code as a first-class TUI agent. The change covers mcode launch configuration, prompt handling, process and title recognition, non-interactive command filtering, telemetry, search ranking, localized labels, icons, desktop catalog presentation, and mobile catalog mappings. Tests cover startup behavior, process recognition, title identity, catalog data, and search collisions.

Merge Risk: 🔵 Low · up to f1ffe

MiniMax Code is added across launch, recognition, catalog, and telemetry paths. An unresolved command-classification edge case could incorrectly label unrelated Node CLI sessions as MiniMax Code, but the impact is bounded to agent identification behavior.

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 32 files. (6 skipped: 6… Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The description covers the required sections and provides detailed scope, rationale, linked issue, testing, review notes, and AI disclosure. However, the required visual proof is not attached, and the… Attach before-and-after Electron screenshots or video for the UI and behavior changes. If the change has no visual or interaction impact, replace the current visual-proof text with exactly N/A and briefly explain why.
Linked Issues check ❓ Inconclusive The changes address the linked MiniMax Code integration requirements, including registration, launch handling, process and title detection, non-interactive command filtering, search ranking, telemetry… Review src/shared/agent-icons/minimax-code.png outside the excluded !**/*.png path filter, and confirm that the asset exists and is valid. Then re-evaluate the display-name and icon requirement for issue #14051.
✅ Passed checks (2 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed The reviewed changes remain focused on adding MiniMax Code as a first-class desktop and mobile TUI agent. Localization, icon registration, search ranking, process detection, launch behavior, telemetry…
Title check ✅ Passed The title clearly and concisely summarizes the primary change: adding MiniMax Code as a supported TUI agent.
Full details: Linked Issues check

Explanation

The changes address the linked MiniMax Code integration requirements, including registration, launch handling, process and title detection, non-interactive command filtering, search ranking, telemetry, desktop/mobile parity, and automated coverage. Icon mapping is shown, but the referenced PNG asset is excluded by the !**/*.png path filter, so the actual bundled icon asset cannot be verified.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 32 files. (6 skipped: 6 unsupported.)

Full details: Description check

Explanation

The description covers the required sections and provides detailed scope, rationale, linked issue, testing, review notes, and AI disclosure. However, the required visual proof is not attached, and the description states that Electron screenshots remain pending instead of providing the required before/after proof or the exact N/A exception with a reason.

  • Fix all pre-merge checks with AI

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2


ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: bd3f225c-ac83-44fa-991f-121de7948976

📥 Commits

Reviewing files that changed from the base of the PR and between e4e54a1 and e4fbe3e.

⛔ Files ignored due to path filters (1)
  • src/shared/agent-icons/minimax-code.png is excluded by !**/*.png
📒 Files selected for processing (33)
  • mobile/src/components/mobile-agent-icon-assets.ts
  • mobile/src/tasks/mobile-agent-catalog.test.ts
  • mobile/src/tasks/mobile-tui-agents.ts
  • src/renderer/src/i18n/locales/en.json
  • src/renderer/src/i18n/locales/es.json
  • src/renderer/src/i18n/locales/ja.json
  • src/renderer/src/i18n/locales/ko.json
  • src/renderer/src/i18n/locales/zh.json
  • src/renderer/src/lib/agent-catalog.tsx
  • src/renderer/src/lib/agent-favicon-assets.ts
  • src/renderer/src/lib/agent-picker-search.test.ts
  • src/renderer/src/lib/agent-picker-search.ts
  • src/renderer/src/lib/agent-status.ts
  • src/renderer/src/lib/tui-agent-startup.test.ts
  • src/shared/agent-detection.test.ts
  • src/shared/agent-headless-command.ts
  • src/shared/agent-kind.ts
  • src/shared/agent-name-token-match.ts
  • src/shared/agent-node-entrypoint-identities.ts
  • src/shared/agent-process-recognition.test.ts
  • src/shared/agent-status-types.ts
  • src/shared/agent-title-identity.ts
  • src/shared/agent-type-label.ts
  • src/shared/minimax-code-non-interactive-command.ts
  • src/shared/minimax-code-tui-agent-config.ts
  • src/shared/skills-cli-agent-keys.ts
  • src/shared/telemetry-events.ts
  • src/shared/terminal-title-agent-type.test.ts
  • src/shared/terminal-title-agent-type.ts
  • src/shared/tui-agent-config.ts
  • src/shared/tui-agent-display-names.ts
  • src/shared/tui-agent-selection.ts
  • src/shared/tui-agent.ts

Included review availability: Your plan includes up to 10 reviews per rolling hour; 9 remain after this review.

@hetaoBackend

Copy link
Copy Markdown
Author

@Jinwoo-H — this PR is now ready for review. The latest head is mergeable, the focused desktop/mobile regression suites and relevant typechecks pass, and both CodeRabbit findings were verified and withdrawn with their threads resolved. When you have time, could you please continue the maintainer review? Thanks!

@hetaoBackend

Copy link
Copy Markdown
Author

@Jinwoo-H @brennanb2025 — a quick follow-up from my side: I’m responsible for MiniMax Code at MiniMax. MiniMax Code is our coding agent, and this PR adds first-class TUI support for it in Orca.

The latest head also fixes the missing MiniMax Code icon in the sidebar, with focused regression coverage. The relevant tests and typechecks pass, and the PR is currently mergeable.

Could you please help review, approve, and merge this PR when you have a chance? We’d really appreciate getting the integration landed. Thank you!

@weekbin

weekbin commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

I frequently use mcode for my development work. It would greatly enhance my workflow efficiency if Orca could natively recognize and manage it, similar to other TUI agents. I have verified the commits in this PR on my local branch and they function correctly. I very much look forward to seeing this feature merged into the main branch.
@AmethystLiang @hetaoBackend @Jinwoo-H

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@wurong98

Copy link
Copy Markdown

I frequently use mcode for my development work. It would greatly enhance my workflow efficiency if Orca could natively recognize and manage it, similar to other TUI agents. I have verified the commits in this PR on my local branch and they function correctly. I very much look forward to seeing this feature merged into the main branch.

@leike0813

Copy link
Copy Markdown

mcode is great. Looking forward to this PR being merged soon.

@HHU3637kr

Copy link
Copy Markdown

Hi @hetaoBackend — thanks for the work on this. The MiniMax Code support is genuinely useful, and I've kept your authorship on the rebased commit.

Why I opened a follow-up PR: this branch is now ~4.7k commits behind main (status: diverged, behind_by=4759), so GitHub can't merge it as-is and it would need a rebase before review. Rather than leave it sitting, I rebased the change onto current main (ba6599eabb) and opened #31023.

What I did:

  • Rebased the three feature commits (4c3d0bfb, e4fbe3e1, 68daf9b1) onto current main; the commit in feat(agents): add MiniMax Code as a supported TUI agent (rebase of #14886) #31023 keeps your author identity.
  • main refactored the touched surfaces since your base, so 11 files needed conflict resolution. The important ones:
    • the agent catalog moved to src/renderer/src/lib/agent-catalog-entries-primary.ts — the minimax-code entry now sits next to mimo-code there;
    • TITLE_AGENT_LABEL_TO_TYPE moved to title-derived-pane-agent-identity.ts — the 'MiniMax Code' mapping was added there;
    • WellKnownAgentType is now TerminalAgent | 'unknown', so the explicit union list is redundant and was dropped;
    • agent-headless-command.ts and agent-node-entrypoint-identities.ts keep both your entry and the ones main added since (dsh, dsb, muse, zcode, ante).
  • Net: 38 files, +283 / −6 (your original was 39 files, +284 / −6; the difference is the catalog entry moving into the file main split it out to).

What I did not change: the detection and launch semantics — detectCmd: 'mcode', promptInjectionMode: 'argv', argvPromptSeparator: '--', the minimax-code runtime process identity, and the npm-shim entrypoint patterns are all as you wrote them.

One gap I can help close: your PR notes that live Electron, Windows and SSH-host acceptance were not re-run. I re-based and reviewed this on Windows 11, where mcode resolves to a .cmd shim (C:\Users\18735\.minimax-code\mcode.cmd) rather than the Unix launcher — so the Windows shim path is the one exercised here. I'm running the test suite locally and will post the results on #31023. If you have macOS or Linux coverage you'd want added, that part is still open.

Since this is your contribution, please take a look at #31023 and either confirm it works for you or tell me what you'd like changed — happy to keep iterating on that PR. If you'd prefer to rebase your own branch instead, feel free to close #31023 and I'll delete the fork branch.

This branch has not been deployed

No deployments
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.

[Feature]: Support MiniMax Code as a first-class TUI agent

8 participants