Commit Graph
48 Commits
Author SHA1 Message Date
954801926@qq.com 084883a54a fix(update): 切换 check_for_update 至 GitHub Releases API
- URL: git.codingplan.site Gitea API -> api.github.com/repos/billowliu2/KimiSwitch
- 增加 User-Agent header (GitHub 403 without UA)
- User-Agent: KimiSwitch/<CARGO_PKG_VERSION>
- 包目标只跟随 v0.6.0+ 历史版本仍留在 git.codingplan.site
2026-07-29 23:57:03 +08:00
954801926@qq.com fb530c85ca docs: bump to v0.6.0, point historical versions to git.codingplan.site
- badge: v0.5.2 -> v0.6.0, link to GitHub releases
- release history: replace v0.5.1 'latest' with v0.6.0 notes
- history section: link git.codingplan.site for v0.5.x and earlier
- .gitignore: exclude .release* (private release-notes drafts)
- README_EN: same updates in English
2026-07-29 23:53:29 +08:00
954801926@qq.com 919b9e49f5 merge: integrate Dev_260708 into main 2026-07-29 23:36:42 +08:00
954801926@qq.com 549c8b5b13 chore: init main branch 2026-07-29 23:36:41 +08:00
KimiSwitch Dev 2614f80d0f v0.6.0: 预设供应商 + 供应商账单查询
## 新增

- 15 条主流供应商预设(Kimi Coding / Moonshot / Anthropic /
  DeepSeek / 智谱 GLM / z.ai / 阿里百炼 / MiniMax / StepFun /
  SiliconFlow / Novita / OpenRouter / OpenAI / Google AI Studio /
  火山方舟),通过 PresetPickerModal 一键填表
- 供应商余额/套餐查询(卡片底部 UsageFooter):余额类
  (DeepSeek / SiliconFlow / OpenRouter / StepFun / Novita) +
  套餐类(Kimi For Coding / 智谱 GLM / MiniMax),5min stale TTL +
  force_refresh + 并发 ≤3
- Rust 端 services/ 模块(balance / coding_plan / usage_types),
  参考 cc-switch(MIT,© Jason Young)实现
- query_provider_usage 命令:Rust 端从 config 加载 key,
  不经 IPC 序列化 API key
- usageKinds 持久化到 SQLite settings(JSON 数组),
  load 时合并回 config,导出 config.toml 时不写
- detect_provider 启发式:旧用户升级后自动获得账单支持
- save-time 校验:未完成供应商(缺 api_key / base_url / 模型)
  保存时弹 confirm 列出原因;新增未提交 back 时静默 drop
- docs/PROPOSAL-presets-and-usage.md(v0.4-draft 实施档)
- docs/VERIFICATION-CHECKLIST.md(70+ 项手动验证清单)

## 修复

- handleDuplicateProvider 的 alias.slice 漏洞:老数据
  非规范 alias 复制不再错位
- handleSelectPreset 不再 auto-save,半成品不会落盘
- handleSwitchProvider 校验取消时自动 refresh 回滚,
  不会出现内存改 / 盘没动的脏态

## 文档

- README / README_EN 致谢段补 cc-switch(预设 + 账单)
- README 已知限制与后续建议段(/reload 上游限制调研结论)
- i18n 补 5 条校验 key + 11 条预设 UI key + 12 条账单 key

详见 docs/PROPOSAL-presets-and-usage.md 与
docs/VERIFICATION-CHECKLIST.md
v0.6.0
2026-07-29 20:59:53 +08:00
KimiSwitch Dev a1fdc6c93d feat: v0.5.2 - daily trend refactor + provider/model two-level drill-down
- Dashboard: 用量趋势卡片改为外层 tab 容器(下划线 tab),移除卡片标题与内部 pill 切换器
- 用量趋势: 新增 供应商模型用量趋势 tab,与 模型用量趋势 并列
- 供应商 tab 弹窗: 每日用量详情改为两级(供应商 → 模型)分组
- 后端: DailyRow 新增 by_provider_model 嵌套聚合
- 前端: DailyBars 通用化(dimension/colorMap),DailyDetailModal 按 tab 维度渲染
- i18n: 新增 providerDistribution(中/英)
- 版本: 0.5.1 → 0.5.2(tauri.conf / Cargo.toml / package.json / README)
v0.5.2
2026-07-29 13:41:04 +08:00
KimiSwitch Dev 3dd1fd93fe fix: v0.5.1 - window/tray behavior, model table & capability UI polish
- Window: minimize keeps taskbar button (remove minimize-to-tray hook); close button hides to tray; tray left-click always shows + focuses window
- Dashboard model table: model column auto-width (whitespace-nowrap, no truncation)
- Capabilities editor: expose only thinking; image_in/video_in/tool_use still auto-derived from models.dev
- Model mapping table: theme-aware row divider (fix harsh dark line in light mode)
v0.5.1
2026-07-29 10:01:17 +08:00
954801926@qq.com 6f2b927914 docs: 新增界面截图,将 docs/superpowers 移出版本库
- 新增 docs/screenshots/ 5 张界面截图(仪表盘、会话、供应商列表、编辑供应商基本信息/模型映射)
- README.md / README_EN.md 新增截图章节与目录项,并在项目结构说明中补充 docs/screenshots/
- .gitignore 排除 docs/superpowers/,从索引中移除已跟踪的设计规范与实施计划文件(本地保留)
2026-07-28 18:57:54 +08:00
KimiSwitch Dev b1d137f072 feat: v0.5.0 - provider icon actions, duplicate & connectivity test, dashboard chart fixes
- ProviderList: icon buttons (edit/copy/test/delete) via lucide-react, speed-test badge before enable/switch button
- Duplicate provider: deep-copy provider + models as xxx-copy
- test_connectivity command (cc-switch semantics: GET base_url, any HTTP response = reachable), latency badge green/orange/red, auto-dismiss 6s
- Dashboard: daily bars anchored to panel bottom, Card flex height fix (heatmap stays content-height)
v0.5.0
2026-07-28 21:04:47 +08:00
KimiSwitch Dev 6b172914be fix: v0.4.1 - paginate model discovery for OpenAI / Anthropic / Google
- fetch_openai_models: loop on has_more + last_id (?after=) and fall back to next_page_token (?page_token=)

- fetch_anthropic_models: loop on has_more + last_id (?after_id=&limit=1000)

- fetch_google_genai_models: loop on nextPageToken (?pageToken=&pageSize=1000)

- Dedup by id across pages, MAX_PAGES safety cap per provider

- Bump version to 0.4.1
v0.4.1
2026-07-28 16:24:36 +08:00
KimiSwitch Dev ebf2dd28d5 feat: v0.4.0 - provider icon system, settings modal & polish
- Add provider icon system with extracted icon library (cc-switch based)

- Persist icon and icon_color in SQLite and config.toml

- Add Settings modal (theme / language / update check / silent download)

- Add useTheme and useUpdateCheck hooks

- Add provider icon picker (IconPicker) with search and grid

- Fix icon frame 2-layer color difference in ProviderEdit

- Dashboard heatmap and daily usage improvements

- Sessions page polish and adaptive layout

- Bump version to 0.4.0
v0.4.0
2026-07-28 16:01:11 +08:00
KimiSwitch Dev 14d48500bf docs: update README with v0.3.0 release notes, add dashboard & sessions features, thanks to kimicode-dashboard v0.3.0 2026-07-28 09:53:48 +08:00
KimiSwitch Dev 32de98bff5 feat: v0.3.0 re-release - add dashboard & sessions, hide pi option
- Usage dashboard: KPIs, model split, daily bars, year heatmap, recent requests
- Sessions management: list/preview/archive/delete with streaming preview
- Double-click daily bar opens per-model breakdown modal
- Paginated recent requests (30/page)
- Hide pi option from nav (kept code, just removed from UI)
- Timezone fixes: today/day_key/heatmap now use local calendar day
- Streaming preview with 20MB byte cap + 500-char frontend clip
- README attribution to kimicode-dashboard (MIT, JochenYang)
2026-07-28 09:16:21 +08:00
KimiSwitch Dev 139af18826 feat: v0.3.0 - fix provider data loss, oauth corruption & switch UX
Bug fixes:
- Fix config.toml wiped to single provider on switch (now writes all providers)
- Fix managed:kimi-code oauth key corruption (oauth/kimi-code was rewritten
  to oauth/managed-kimi-code, breaking the official subscription)
- Fix default_model not switching due to React 18 deferred state update
  (updateConfig now sets configRef synchronously before setConfig)
- Strip KimiSwitch-private default_model from config.toml provider output

Architecture:
- config.toml is now the authoritative source for Kimi Code provider data
- SQLite stores only metadata (notes, official URLs, remembered models)
- Load reconciles config.toml with SQLite for external /provider changes
- Activate is a no-op for KimiCode (save already writes config.toml)

Features:
- Selected provider moves to top of list on switch
- Add models-dev context size lookup
- Add tauri-plugin-single-instance

Tests:
- 3 new regression tests: oauth key round-trip, all-providers write,
  private default_model strip
2026-07-27 22:36:42 +08:00
KimiSwitch Dev 5806fac056 chore: sync Cargo.lock version to 0.2.0 2026-07-25 17:33:30 +08:00
KimiSwitch Dev 948e96352e feat: v0.2.0 - add system tray, clean up unused role field
- Replace text '+' icon with centered SVG plus icon for the add-provider button
- Add system tray: minimize-to-tray and quit-from-tray menu (minimize hides window, close exits app)
- Remove unused model role field (no functional effect, only stored/displayed)
- Fix multiple providers showing as active in Kimi Code mode: only the default_model's provider is marked active
- Copy /reload to clipboard after provider switch as a convenience hint
- Bump version to 0.2.0
v0.2.0
2026-07-25 16:39:20 +08:00
KimiSwitch Dev 0ce89b09d9 docs: add English README and cross-link both language versions
- New README_EN.md with full English documentation mirroring the Chinese README
- Add language switcher links (English | 中文) at the top of both files
2026-07-22 14:50:55 +08:00
KimiSwitch Dev 0bf0f50aaa docs: fix README inaccuracies found in audit
- Validation: validators.rs is a stub, i18n keys reserved but not wired.
  Reworded to 'reserved, not wired' instead of claiming active checks.
- Backup: actually 7-day retention by mtime, timestamp-based naming,
  stored in backups/ subdirectory (not 7 copies with .bak.N alongside).
- Wording: 'one edit, two effects' was wrong; Kimi Code and Pi have
  separate SQLite configs behind the agent tab.
- TOC: removed broken 'screenshot' anchor and stale 'License' anchor.
- Deduped the two trailing license lines.
- Rust version: drop unsupported '>= 1.77' claim; Cargo.toml has no
  rust-version field, so say 'stable latest'.
- Manual test list: removed Vertex validation item (validator not wired).
v0.1.0
2026-07-22 13:53:59 +08:00
KimiSwitch Dev dd22d769f4 docs: add MIT LICENSE and update README license reference
- Add LICENSE file under MIT, copyright 2026 CodingPlan.site
- Replace 'All rights reserved' note in README with link to LICENSE
- Switch License badge from 'Private' to 'MIT'
2026-07-22 13:35:02 +08:00
KimiSwitch Dev c32f3f458f docs: rewrite README with full project documentation
Cover what the project does, architecture, supported providers, storage
locations, dev workflow, Tauri commands, shortcuts, i18n, testing, build,
FAQ, and security notes.
2026-07-22 13:32:59 +08:00
PiSwitch Dev 4d120ad2bb chore: remove stray screenshot files 2026-07-22 13:18:19 +08:00
KimiSwitch Dev 211986a1e5 feat: update provider/model config handling 2026-07-15 19:15:04 +08:00
KimiSwitch Dev a394e5f730 refactor: auto-generate model role from model name[provider name] format 2026-07-09 11:00:36 +08:00
KimiSwitch Dev b01a5661b4 feat: unify provider active logic and add env field support for kimi_code_io 2026-07-09 08:44:11 +08:00
KimiSwitch Dev 3b12844342 docs: add design specs and implementation plans for reload hint and global settings panel 2026-07-09 08:41:28 +08:00
KimiSwitch Dev 675e8ba24d fix: correct effort type assertion in AgentSettingsPanel 2026-07-09 01:05:41 +08:00
KimiSwitch Dev 5fcdc333b1 feat: apply smart default max_context_size when adding models 2026-07-09 01:04:24 +08:00
KimiSwitch Dev 2b25c62ffc chore: pass rawOther to ProviderEdit 2026-07-09 01:02:59 +08:00
KimiSwitch Dev 0cd70b9dbc feat: render AgentSettingsPanel in ProviderEdit for Kimi Code 2026-07-09 01:02:26 +08:00
KimiSwitch Dev 70c52aeaca feat: add AgentSettingsPanel component 2026-07-09 01:01:13 +08:00
KimiSwitch Dev a0ec266129 i18n: add agent settings panel translations 2026-07-09 00:59:37 +08:00
KimiSwitch Dev 7296f322de feat: add agent settings read/write helpers 2026-07-09 00:58:55 +08:00
KimiSwitch Dev c564bda282 feat: add model default max_context_size lookup table 2026-07-09 00:58:20 +08:00
KimiSwitch Dev 35b6a9af4c types: add AgentSettings and related Kimi Code config types 2026-07-09 00:57:33 +08:00
KimiSwitch Dev fb72df6cfd chore: pass current agent to ProviderList 2026-07-09 00:06:21 +08:00
KimiSwitch Dev 43b7ad18d0 feat: show /reload hint next to switch provider button in Kimi Code tab 2026-07-09 00:06:03 +08:00
KimiSwitch Dev baa28b4df5 i18n: add switchReloadHint for Kimi Code reload reminder 2026-07-09 00:05:26 +08:00
KimiSwitch Dev 232949a701 feat(pi): preserve provider/model fields and sync Pi default provider/model on switch
- Fix stale configRef in useConfig so saves include the latest state.
- Preserve Pi models.json fields (headers, compat, cost, maxTokens,
  thinkingLevelMap, authHeader, modelOverrides, provider name) across edits.
- Add Pi settings.json I/O and update defaultProvider/defaultModel when
  activating a provider so Pi actually picks up the switch.
- Add round-trip and settings serialization tests.
2026-07-08 19:39:15 +08:00
KimiSwitch Dev 6eb57d2ac6 feat: store Pi Switch config in SQLite, activate on switch 2026-07-08 16:14:16 +08:00
KimiSwitch Dev 155efdf9f3 feat: keep provider records on switch, only mark active; filter on save 2026-07-08 14:25:05 +08:00
KimiSwitch Dev 8c515f42dc feat: switch provider cleans other custom providers and sets default model 2026-07-08 14:02:09 +08:00
KimiSwitch Dev 4fecf191da chore: ignore Snipaste screenshots 2026-07-08 09:39:38 +08:00
KimiSwitch Dev af991a7bda feat: implement Pi Switch i18n UI and agent config switch 2026-07-08 08:53:26 +08:00
KimiSwitch Dev 7d69aac08f chore: ignore worktrees directory 2026-07-06 17:42:23 +08:00
KimiSwitch Dev 9875e503a4 refactor: redact secrets in Debug output 2026-07-06 17:40:17 +08:00
KimiSwitch Dev 26adba78ba feat: define Rust models and lib exports 2026-07-06 17:31:44 +08:00
KimiSwitch Dev a81efe4317 chore: fix Task 1 scaffold quality issues 2026-07-06 17:26:04 +08:00
KimiSwitch Dev dd53e4fb20 chore: initialize Tauri v2 project scaffold 2026-07-06 17:12:28 +08:00