Skip to content

feat(kilo): add Kilo CLI support#4443

Open
mondari wants to merge 12 commits into
farion1231:mainfrom
mondari:feat/kilo-support
Open

feat(kilo): add Kilo CLI support#4443
mondari wants to merge 12 commits into
farion1231:mainfrom
mondari:feat/kilo-support

Conversation

@mondari

@mondari mondari commented Jun 20, 2026

Copy link
Copy Markdown

Summary / 概述

Add full support for Kilo CLI (based on OpenCode) as a managed application in CC Switch.

Closes #4444

Screenshots / 截图

Provider Management / 供应商管理
Main Page / 主页面 Add MCP / 新增MCP
主页面显示 Kilo 新增MCP-启用到应用
MCP & Skills / MCP 与技能管理
MCP Servers / MCP 服务器管理 Skills / Skills 管理
MCP 服务器管理 Skills 管理
Prompts & Sessions / 提示词与会话
Prompts / 提示词管理 Sessions / 会话管理
提示词管理 会话管理
Settings / 设置
Usage Stats / 使用统计 Request Logs / 请求日志
设置-使用统计 设置-使用统计-请求日志
Visibility / 主页面显示 About / 关于
设置-通用-主页面显示 设置-关于

Changes / 改动

Backend (Rust)

  • Provider management: additive mode with kilo.jsonc config file (~/.config/kilo/)
  • MCP server: sync, import, and independent enabled_kilo toggle
  • Skills: management
  • Session manager: JSON + SQLite dual-mode support (session_manager/providers/kilo.rs)
  • Usage statistics: session_usage_kilo.rs with kilo_session data source
  • Usage stats SQL: added kilo_session to dedup/filter queries
  • Environment check: tool version detection, npm @kilocode/cli, GitHub Kilo-Org/kilocode
  • Database migration: v11→v12, added enabled_kilo column to mcp_servers and skills tables
  • Config module: kilo_config.rs for config/db path management
  • MCP module: mcp/kilo.rs for MCP format conversion and sync
  • Stream check: added Kilo to additive mode dispatch

Frontend (TypeScript)

  • App registration: AppType, AppId, VisibleApps, McpApps, SkillApps
  • Provider form: separate duplicate key check from OpenCode (own DB keys + live IDs)
  • Session manager: filter dropdown and icon support
  • Usage dashboard: Kilo in app filter, data source bar, hero theme
  • Settings: directory override, visibility toggle, about section tool check
  • MCP form: Kilo checkbox in add/edit MCP server dialog
  • Icon: Kilo SVG added to icon registry
  • i18n: en/zh/zh-TW/ja locale files updated

Checklist / 检查清单

  • pnpm typecheck passes
  • pnpm format:check passes
  • pnpm test:unit passes (338/338)
  • cargo fmt --check passes
  • cargo clippy passes (no Kilo-related warnings)
  • Updated i18n files for all 4 locales

mondari added 3 commits June 20, 2026 11:26
Add full support for Kilo CLI (based on OpenCode) as a managed app:
- Provider management with additive mode (kilo.jsonc config)
- MCP server sync and import
- Skills management
- Session manager integration (JSON + SQLite dual-mode)
- Usage statistics tracking (session_usage_kilo)
- Environment check and tool version detection
- Independent enabled_kilo DB column (v10→v11 migration)
- Separate provider key duplicate check from OpenCode
- i18n support (en/zh/zh-TW/ja)
- misc.rs: re-applied Kilo tool support (VALID_TOOLS, display name, npm, version fetch, etc.)
- schema.rs: bumped to v12, new v11→v12 migration for enabled_kilo columns (upstream owns v10→v11)
- stream_check.rs: added AppType::Kilo to resolve_base_url dispatch
- UsageDashboard.tsx: added kilo to APP_FILTER_ICON record
@farion1231

Copy link
Copy Markdown
Owner

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2b4956914c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/components/providers/forms/ProviderForm.tsx
Comment thread src-tauri/src/session_manager/mod.rs Outdated
Comment thread src-tauri/src/mcp/mod.rs Outdated
mondari added 7 commits June 20, 2026 21:18
- Remove Kilo from OMO category checks (Kilo doesn't support OMO)
- Fix Kilo JSON session deletion to use storage subdirectory as root
- Wire import_from_kilo into MCP import flow (startup + manual import)
- Rename internal base dir to get_kilo_base_dir() (private)
- get_kilo_data_dir() now returns base_dir/storage/ (like OpenCode)
- Remove redundant .join("storage") in session_manager provider_roots
The enabledApps state had kilo but no UI checkbox was rendered.
get_kilo_data_dir() now returns ~/.local/share/kilo/ without "storage",
matching opencode_config.rs. Session manager joins "storage" at call site.
- useDirectorySettings: add kilo to mock and expected resolvedDirs
- McpFormModal: add kilo: false to expected apps object
@mondari

mondari commented Jun 20, 2026

Copy link
Copy Markdown
Author

Uploading screenshots...

mondari added 2 commits June 22, 2026 11:53
Test creates v10 schema without mcp_servers table, causing migration
to fail. Add table_exists check consistent with skills table handling.
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.

feat: add Kilo CLI support

2 participants