Skip to content

feat: Adding kimchi CLI option - #5376

Open
bentleyvk wants to merge 9 commits into
nexu-io:mainfrom
bentleyvk:vilius-kimchi-cli
Open

feat: Adding kimchi CLI option#5376
bentleyvk wants to merge 9 commits into
nexu-io:mainfrom
bentleyvk:vilius-kimchi-cli

Conversation

@bentleyvk

@bentleyvk bentleyvk commented Jul 9, 2026

Copy link
Copy Markdown

Fixes #

Why

  • Using kimchi for day to day coding, so wanted to also use it inside Open Design so I could finally switch way from Claude Code.

What users will see

  • "Settings" -> "Execution mode" they will see kimchi CLI if they have it installed.

Surface area

  • UI — new page / dialog / panel / menu item / setting / empty state in apps/web or apps/desktop (including Electron menu bar)
  • Keyboard shortcut — new or changed
  • CLI / env var — new od subcommand or flag, new tools-dev / tools-pack / tools-pr flag, or new OD_* env var
  • API / contract — new /api/* endpoint, new SSE event, or changed shape in packages/contracts
  • Extension point — new entry under skills/, design-systems/, design-templates/, or craft/, or change to the skills protocol
  • i18n keys — added new translation keys (see TRANSLATIONS.md for the locale workflow)
  • New top-level dependency — adding any new entry to the root package.json (dependencies or devDependencies); workspace-package package.json files are out of scope. Include a paragraph on what we get vs. what bytes we ship (see CONTRIBUTING.md → Code style)
  • Default behavior change — changes what existing users experience without opting in (default model, default setting, file/SQLite schema, auto-network on startup, auto-install)
  • None — internal refactor, docs, tests, or translation update only

Screenshots

image image

Validation

  • Created a website prototype using kimchi
  • pnpm guard - passed
  • pnpm typecheck - passed
  • pnpm --filter @open-design/daemon test - passed

@lefarcen
lefarcen requested a review from PerishCode July 9, 2026 12:11
@lefarcen lefarcen added size/XS PR changes <20 lines risk/medium Medium risk: regular code changes type/feature New feature needs-design-review Awaiting design review (external UI change); cleared by the Odcrew App applying design-approved labels Jul 9, 2026

@lefarcen lefarcen 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.

Hey @bentleyvk! 👋 Thanks for adding Kimchi as a new agent option.

Could you fill out the PR template before pool review? The body is currently empty except for the template comments. We need:

  • Why — what made you add Kimchi today? (Did you hit a use case where Kimchi was the right fit, or are you speculatively adding it for others?)
  • What users will see — "Settings → AI Providers now shows a new 'Kimchi' option" + where else the Kimchi icon/name appears (HandoffButton CLI dropdown, agent picker, etc.)
  • Surface area — tick UI (agent icon + picker) and New top-level dependency if this adds any new runtime dependency
  • Validation — what you ran (pnpm guard + pnpm typecheck + the relevant package tests)

The info helps pool review scope the change quickly.

@bentleyvk
bentleyvk marked this pull request as ready for review July 9, 2026 13:20

@PerishCode PerishCode 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.

Found one non-blocking docs consistency issue in the Kimchi adapter catalog. The runtime wiring itself follows the existing Pi RPC path I reviewed.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Comment thread docs/agent-adapters.md Outdated
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Visual regression review

Head: ac36111 · Base: c670485

0 changed · 53 unchanged · 0 new without baseline · 0 failed

Unchanged cases
Case Main PR Diff
visual-avatar-local-agent-list
0 px (0.00%)
main pr diff
visual-avatar-local-agent-list-panel
0 px (0.00%)
main pr diff
visual-avatar-menu
0 px (0.00%)
main pr diff
visual-avatar-menu-panel
0 px (0.00%)
main pr diff
visual-avatar-open-design-account
0 px (0.00%)
main pr diff
visual-critical-settings
0 px (0.00%)
main pr diff
visual-critical-workspace
0 px (0.00%)
main pr diff
visual-critical-workspace-preview
0 px (0.00%)
main pr diff
visual-design-system-detail
0 px (0.00%)
main pr diff
visual-design-systems
0 px (0.00%)
main pr diff
visual-home
209 px (0.02%)
main pr diff
visual-home-catalog
0 px (0.00%)
main pr diff
visual-home-context-picker
0 px (0.00%)
main pr diff
visual-home-context-picker-popover
0 px (0.00%)
main pr diff
visual-home-plugin-filter
0 px (0.00%)
main pr diff
visual-home-plugin-use-staged
0 px (0.00%)
main pr diff
visual-home-plugin-use-with-query
0 px (0.00%)
main pr diff
visual-home-staged-attachment
0 px (0.00%)
main pr diff
visual-integrations
0 px (0.00%)
main pr diff
visual-integrations-mcp
0 px (0.00%)
main pr diff

Visual diff is advisory only and does not block merging.

@lefarcen lefarcen added the needs-validation Runtime change detected; needs human or /explore agent validation. label Jul 9, 2026
@lefarcen

lefarcen commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

🧪 This PR adds user-visible runtime/UI behavior, so it needs a manual QA pass before merge. Please hold off self-merging for now — once design/product sign-off is in and the PR is merge-ready, we'll queue QA here.

@PerishCode PerishCode 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.

Found one non-blocking documentation mismatch after the latest Kimchi model-list fix. The runtime code now reads stdout and uses the updated fallback model id, but the adapter docs still describe the previous behavior.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Comment thread docs/agent-adapters.md Outdated
@lefarcen

lefarcen commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Hey @bentleyvk — PerishCode already caught the one follow-up I'd point to on this head: please align the Kimchi adapter docs with the runtime change so model discovery reads as stdout and the fallback model matches kimi-k2.7.

Once that docs note is updated, this head looks ready to keep moving through the design/QA gates.

@bentleyvk

Copy link
Copy Markdown
Author

Hey @bentleyvk — PerishCode already caught the one follow-up I'd point to on this head: please align the Kimchi adapter docs with the runtime change so model discovery reads as stdout and the fallback model matches kimi-k2.7.

Once that docs note is updated, this head looks ready to keep moving through the design/QA gates.

Fixed comments

@lefarcen

lefarcen commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Thanks @bentleyvk — I checked the docs update on this head and the Kimchi note now matches the runtime change (stdout model discovery + kimi-k2.7 fallback).

No further bot follow-up from my side here; this can keep moving through the remaining design / QA gates once the pending checks finish.

@open-design-crew open-design-crew Bot added the design-approved Design signed off (must be applied by the Odcrew App open-design-crew[bot]) label Jul 10, 2026
@bentleyvk

Copy link
Copy Markdown
Author

@lefarcen any news regarding review?

@lefarcen lefarcen removed the needs-design-review Awaiting design review (external UI change); cleared by the Odcrew App applying design-approved label Jul 15, 2026
@lefarcen
lefarcen requested a review from PerishCode July 15, 2026 12:10
@lefarcen

Copy link
Copy Markdown
Contributor

Hey @bentleyvk — I took another pass over the current head and I don't have a new bot follow-up beyond the docs fix that's already been addressed.

I re-requested review on this head and cleaned up the stale pending design label, since design is already signed off. The main thing still showing on GitHub right now is that the PR is in a merge-conflict state (CONFLICTING), so once it's rebased cleanly it should be in a much better spot for the final human review.

@bentleyvk

Copy link
Copy Markdown
Author

Hey @bentleyvk — I took another pass over the current head and I don't have a new bot follow-up beyond the docs fix that's already been addressed.

I re-requested review on this head and cleaned up the stale pending design label, since design is already signed off. The main thing still showing on GitHub right now is that the PR is in a merge-conflict state (CONFLICTING), so once it's rebased cleanly it should be in a much better spot for the final human review.

@lefarcen Thanks, fixed it!

@lefarcen

Copy link
Copy Markdown
Contributor

Thanks — the rebase looks clean now, and I don't see the earlier merge-conflict state anymore. From here it's just waiting on the pending human review for this head.

@PerishCode

Copy link
Copy Markdown
Contributor

@bentleyvk I'm holding off on generating review comments for #5376 because this pull request has merge conflicts right now.

Please resolve the conflicts with main and push the updated branch. Once that's done, request or wait for the review to run again and I'll take another look.

🔁 Powered by Looper · runner=reviewer · agent=claude-code · An autonomous AI dev team for your GitHub repos.

@lefarcen lefarcen added needs-product-review Feature PR awaiting product sign-off before merge (see roadmap) size/M PR changes 100-300 lines and removed size/XS PR changes <20 lines labels Jul 21, 2026

@PerishCode PerishCode 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.

The Kimchi runtime wiring is coherent with the existing Pi RPC path, but the new API-key override crosses the app-config secret boundary without the matching browser-side protection. This needs to be fixed before merge.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Location: apps/daemon/src/app-config.ts RIGHT line 207

Treat KIMCHI_API_KEY as a secret across the full app-config path before allowing it here. This changed line makes the daemon accept and return the key in agentCliEnv, but apps/web/src/state/config.ts::AGENT_CLI_SECRET_ENV_KEYS does not include it, so sanitizeAgentCliEnv() can copy the credential into browser localStorage when config is persisted. The existing Claude/Codex keys are explicitly excluded there and are also tracked by the daemon/web auth-key sets; Kimchi currently bypasses those protections. Please either remove KIMCHI_API_KEY from this allowlist and rely on the daemon process environment/config file, or add it consistently to the daemon auth classification and web secret sanitizer (plus a regression test proving persisted web config omits it).

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Inline comment could not be anchored: anchor_outside_complete_diff

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

Labels

design-approved Design signed off (must be applied by the Odcrew App open-design-crew[bot]) needs-product-review Feature PR awaiting product sign-off before merge (see roadmap) needs-validation Runtime change detected; needs human or /explore agent validation. risk/medium Medium risk: regular code changes size/M PR changes 100-300 lines type/feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants