Skip to content

feat(happy-app): add Kimi agent support#731

Open
oymy wants to merge 1 commit intoslopus:mainfrom
oymy:feat/kimi-app-support
Open

feat(happy-app): add Kimi agent support#731
oymy wants to merge 1 commit intoslopus:mainfrom
oymy:feat/kimi-app-support

Conversation

@oymy
Copy link

@oymy oymy commented Feb 23, 2026

Summary

  • Add Kimi as a new agent option in the Happy App, alongside Claude, Codex, and Gemini
  • Kimi uses the same permission mode pattern as Gemini (default, read-only, safe-yolo, yolo)
  • Kimi models: kimi-k2-0711-preview (default), kimi-k1.6-preview, kimi-k1.5-preview

Changes

  • sync/typesRaw.ts: Add 'kimi' to ACP provider enum
  • components/modelModeOptions.ts: Add getKimiPermissionModes() and getKimiModelModes() functions; update dispatchers for permission modes, model modes, and default model key
  • sync/settings.ts: Add Kimi compatibility flag and dismissedCLIWarnings support
  • sync/profileUtils.ts: Add Kimi built-in profile (uses KIMI_API_KEY env var)
  • components/Avatar.tsx: Add Kimi avatar icon (placeholder, copied from Gemini)
  • assets/images/icon-kimi{,@2x,@3x}.png: Placeholder icon files (to be replaced with real Kimi icons)
  • hooks/useCLIDetection.ts: Add kimi to CLIAvailability interface and detection logic
  • sync/persistence.ts, utils/tempDataStore.ts, components/AgentInput.tsx, sync/ops.ts, app/(app)/new/index.tsx: Add 'kimi' to agent type unions throughout
  • text/_default.ts + 10 translation files (en, zh-Hans, zh-Hant, ru, pt, pl, ja, it, es, ca): Add agent.kimi and kimiPermissionMode translation keys

Test plan

  • Run yarn typecheck — passes with zero errors
  • Verify Kimi profile appears in New Session screen agent picker
  • Verify Kimi permission modes render correctly (Default, Read Only, Safe YOLO, YOLO)
  • Verify Kimi models render correctly in model selector
  • Verify avatar icon shows for Kimi sessions (replace placeholder icon before production)
  • Verify KIMI_API_KEY env var is picked up from built-in Kimi profile

⚠️ UI tests above have not been run — manual testing on device/simulator required before merge.

Notes

🤖 Generated with Claude Code

- Add 'kimi' to ACP provider enum in typesRaw.ts
- Add Kimi permission modes (default, read-only, safe-yolo, yolo) and
  model modes (kimi-k2-0711-preview, kimi-k1.6-preview, kimi-k1.5-preview)
  in modelModeOptions.ts
- Add Kimi compatibility flag and dismissedCLIWarnings support in settings.ts
- Add Kimi built-in profile with KIMI_API_KEY env var in profileUtils.ts
- Add Kimi avatar icon (placeholder copied from Gemini) in Avatar.tsx
- Add kimi agent type to NewSessionAgentType, CLIAvailability, SpawnSessionOptions,
  tempDataStore, AgentInput, and new session screen (index.tsx)
- Add kimiPermissionMode translation block to all 10 language files
  (en, zh-Hans, zh-Hant, ru, pt, pl, ja, it, es, ca)
- Update CLIDetection to detect kimi CLI availability on remote machines

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant