Commit graph

184 commits

Author SHA1 Message Date
github-actions[bot]
20f7aa337a
ci: release packages (#491)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-09 11:54:52 +08:00
Luyu Cheng
41ebe9fb9f
fix: polish goal lifecycle messaging (#555) 2026-06-09 11:47:00 +08:00
liruifengv
d7407b0ecf
feat: release experimental features (#569)
* feat: release experimental features

* refactor: remove redundant goal runtime gate

* refactor: remove unused skill flag plumbing

* feat: keep micro compaction opt-out
2026-06-09 11:42:50 +08:00
_Kerman
db82e33a20
fix: restore goal resume state from agent records (#552) 2026-06-09 10:02:19 +08:00
liruifengv
3765a49163
feat: rework TUI file references (#547)
* feat: rework TUI file references

* fix: respect fd file reference filtering

* chore: adjust file reference changeset

* fix: harden fd helper downloads

* fix: avoid symlink recursion in file fallback
2026-06-08 20:48:56 +08:00
Haozhe
879a7eeb33
fix(acp): restore legacy permission compatibility and stabilize ACP (#395)
* feat(acp-adapter): support embedded resource prompts

- advertise embeddedContext support in ACP capabilities and docs
- convert file:// resource_link blocks into decoded paths with optional line ranges
- keep XML wrappers for non-file or unparseable resource_link URIs
- update adapter tests for the new resource link behavior

* feat(acp-adapter): add ACP built-in slash command routing and UNC path support

- add local execution for /compact, /status, /usage, /mcp, /tasks, /help in ACP sessions
- surface unknown slash commands as local errors instead of forwarding to model\n- export ACP_BUILTIN_SLASH_COMMANDS from acp-adapter for CLI reuse
- fix file:// URI conversion for Windows UNC paths
- rebuild agent builtin tools on session tool kaos rebind
2026-06-08 19:27:20 +08:00
liruifengv
5cff6d6027
fix: honor KIMI_CODE_HOME for global agent resources (#544) 2026-06-08 17:42:03 +08:00
MicroGrey
3787c3016a
fix(tui): support exit shortcuts in startup session picker (#473)
* fix(tui): support exit shortcuts in startup session picker

* fix(tui): clear picker exit confirmation on close

---------

Co-authored-by: liruifengv <liruifeng1024@gmail.com>
2026-06-08 17:02:16 +08:00
liruifengv
0c3d556778
chore: add changeset for PR #486 (#543) 2026-06-08 16:35:10 +08:00
liruifengv
2db1bd9675
fix(tui): subagent thinking text and tool output display (#541) 2026-06-08 16:19:15 +08:00
Davy
b47734ca0b
docs: add Homebrew installation (#531)
* docs: add Homebrew installation instructions

Add Homebrew as an installation option for macOS/Linux users in both
English and Chinese READMEs.

Closes #130

* feat(cli): detect Homebrew installs and use brew upgrade for updates

When kimi-code is installed via Homebrew, the update system now detects
the installation source and uses 'brew upgrade kimi-code' instead of
falling back to 'npm install -g'. This prevents duplicate installations
when Homebrew users receive update prompts.

* chore: add changeset for Homebrew update detection

* fix(cli): tighten Homebrew detection and disable auto-update

- Only match /cellar/ path segment (not /homebrew/) to avoid false
  positives on Apple Silicon where npm global installs live under
  /opt/homebrew/lib/node_modules/
- Disable background auto-update for Homebrew: brew upgrade may mutate
  dependents silently and the formula can lag behind CDN releases

* fix(cli): add homebrew to InstallSource Zod schema

Keeps the persistence schema in sync with the TypeScript type. Currently
harmless since Homebrew auto-install is disabled, but prevents a silent
state reset if it is ever enabled later.

---------

Co-authored-by: liruifengv <liruifeng1024@gmail.com>
2026-06-08 16:11:31 +08:00
liruifengv
b785e2698a
feat: show full plan cards (#536)
* feat: show full plan cards

* chore: patch plan card changeset
2026-06-08 15:35:49 +08:00
liruifengv
8d0c91faa1
fix(cli): wrap long approval shell commands (#537) 2026-06-08 15:06:25 +08:00
_Kerman
72c4b0adaa
feat: agent swarm (#424) 2026-06-08 14:26:56 +08:00
7Sageer
3b62b123e6
fix: detect Scoop Git Bash on Windows (#529)
* fix: detect Scoop Git Bash on Windows

* fix: harden Git Bash shim detection

* fix(kaos): preserve Git Bash PATH priority
2026-06-08 14:00:11 +08:00
caiji
9aba465fd8
fix(tui): keep the /mcp panel border intact on multi-line server errors (#521) 2026-06-08 13:50:00 +08:00
_Kerman
f09ec7bbb5
fix: remove auto-compaction turn limit (#506) 2026-06-06 23:16:34 +08:00
Kai
4d113949c8
feat: honor HTTP_PROXY/HTTPS_PROXY/NO_PROXY for all outbound traffic (#487)
* feat: honor HTTP_PROXY/HTTPS_PROXY/NO_PROXY for all outbound traffic

Install a global undici dispatcher at CLI startup so every in-process fetch
(LLM APIs, MCP HTTP, web tools, telemetry, sign-in, update checks) honors the
standard proxy variables, and propagate NODE_USE_ENV_PROXY to spawned stdio
MCP child processes. Loopback hosts always bypass the proxy; an invalid proxy
URL is reported and ignored rather than aborting startup.

* feat: support SOCKS proxies via ALL_PROXY

Recognize SOCKS proxies (socks5/socks5h/socks4/socks alias) from ALL_PROXY or a
socks-scheme HTTP(S)_PROXY, routing traffic through a custom undici connector
backed by the socks client (reusing undici's own TLS handling for https).
HTTP(S) proxies keep precedence; NO_PROXY and loopback are honored for the SOCKS
path too. Child stdio MCP node processes honor HTTP(S) proxies via
NODE_USE_ENV_PROXY; SOCKS applies to the main process only.

* fix: address proxy review comments (env masking, child NO_PROXY, nix hash)

- Resolve HTTP(S)_PROXY explicitly via the first non-blank casing so a blank
  lowercase var can no longer mask a populated uppercase one (the dispatcher
  installed but went direct), and coerce a SOCKS-scheme value sitting in an
  HTTP(S) var to '' so it is never handed to EnvHttpProxyAgent.
- Reconcile a child's NO_PROXY override across both casings using the first
  non-blank value run through resolveNoProxy, so a per-server config override
  is not shadowed by the injected lowercase value, keeps the loopback bypass,
  and passes '*' through verbatim.
- Update flake.nix pnpmDeps hash for the added socks/undici dependencies.

* fix(proxy): honor http ALL_PROXY, match port-qualified NO_PROXY, note child Node version

- Honor an http-scheme ALL_PROXY as the catch-all fallback for both http and
  https (scheme-specific HTTP(S)_PROXY still wins), so an ALL_PROXY-only setup
  no longer installs a no-op dispatcher and connects direct.
- Make the SOCKS-path NO_PROXY matcher port-aware: a `host:port` entry now
  matches only that port (with IPv6-safe parsing for `::1` / `[::1]:443`).
- Document that child stdio MCP proxying via NODE_USE_ENV_PROXY only applies on
  Node versions that support it (>= 22.21 / >= 24.5).

* fix(proxy): IPv6 + wildcard NO_PROXY and per-server child proxy edges

- Strip IPv6 brackets from a SOCKS proxy host (e.g. ALL_PROXY=socks5://[::1]:1080)
  so the socks client connects to the bare address.
- Add the bracketed [::1] to the loopback bypass: undici's EnvHttpProxyAgent
  only exempts IPv6 loopback when the NO_PROXY entry is bracketed (it mis-parses
  bare ::1). The SOCKS-path matcher normalizes brackets on both sides.
- Match *.domain wildcard (and host:port) NO_PROXY entries in the SOCKS matcher.
- Compute the child stdio proxy env from the MERGED env so a proxy declared only
  in a server's config.env also enables NODE_USE_ENV_PROXY.

* fix(proxy): synthesize HTTP(S)_PROXY from ALL_PROXY for child processes

proxyEnvForChild now hands spawned stdio MCP children the resolved
HTTP_PROXY/HTTPS_PROXY (in both casings), synthesizing them from an http-scheme
ALL_PROXY when no scheme-specific variable is set. Node's --use-env-proxy reads
HTTP_PROXY/HTTPS_PROXY (not ALL_PROXY), so an ALL_PROXY-only parent now proxies
the child consistently with the main process. Shared resolveHttpProxyUrls helper
is reused by createProxyDispatcher and proxyEnvForChild.

* chore(changeset): tighten proxy changeset wording
2026-06-06 01:44:54 +08:00
luren
d995928681
fix(cli): show migration failure reason (#210)
Co-authored-by: Kai <me@kaiyi.cool>
2026-06-06 01:41:03 +08:00
github-actions[bot]
696b46ed11
ci: release packages (#453)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-05 18:25:21 +08:00
Luyu Cheng
658e4653fc
fix(tui): refine goal queue workflows (#474)
* fix(tui): harden goal startup flow

* fix(tui): refine upcoming goal handling

* fix(tui): accent upcoming goal confirmation

* docs: update goal queue guidance

* docs: address goal queue review comments

* fix(tui): avoid goal autocomplete before text

* fix(tui): highlight goal queue subcommands

* fix(tui): address goal queue review nits

* Remove useless docs

---------

Signed-off-by: Luyu Cheng <2239547+chengluyu@users.noreply.github.com>
2026-06-05 18:02:39 +08:00
liruifengv
f555c89de7
feat: prioritize built-in skill slash commands (#480) 2026-06-05 17:27:01 +08:00
7Sageer
2af19e29b9
fix: refresh provider model capabilities (#461)
* fix: refresh provider model capabilities

* refactor: build provider refresh target once and compare generically
2026-06-05 17:22:30 +08:00
Haozhe
df4f2d6e86
feat(skills): add experimental sub-skill discovery (#468)
- Add sub-skill feature flag and recursive bundle discovery behind KIMI_CODE_EXPERIMENTAL_SUB_SKILL.
- Register builtin sub-skill review and consolidate helpers as inline hidden skills.
2026-06-05 16:10:41 +08:00
_Kerman
aa610e247d
feat: use fixed 30-minute subagent timeout (#470) 2026-06-05 15:59:10 +08:00
Kai
93eb70a727
feat(env): migrate kimi-cli model request params and auto-update toggle (#458)
* feat(env): migrate kimi-cli model request params and auto-update toggle

Migrate still-relevant environment variables from kimi-cli:

- KIMI_MODEL_TEMPERATURE / KIMI_MODEL_TOP_P: sampling params applied
  globally to any kimi provider (not tied to KIMI_MODEL_NAME).
- KIMI_MODEL_THINKING_KEEP: Moonshot preserved-thinking passthrough
  (thinking.keep), injected only while Thinking is on.
- KIMI_CODE_NO_AUTO_UPDATE (legacy alias KIMI_CLI_NO_AUTO_UPDATE):
  fully disables the update preflight.

Wires env -> provider in Agent.get llm() via applyKimiEnvGenerationParams,
reusing kosong's existing GenerationKwargs / thinking.keep support.
KIMI_MODEL_MAX_TOKENS is intentionally untouched: it already flows through
the completion-budget path.

* fix(env): apply Kimi sampling params to compaction requests too

Sink KIMI_MODEL_TEMPERATURE / KIMI_MODEL_TOP_P into ConfigState.provider so
every request built from config.provider — main loop and full-history
compaction alike — carries them, matching kimi-cli where these live on the
shared create_llm provider. thinking.keep stays in Agent.llm because it
depends on the runtime thinking state (compaction runs thinking-off and
correctly skips it).

Splits applyKimiEnvGenerationParams into applyKimiEnvSamplingParams (applied
at provider construction) and applyKimiEnvThinkingKeep (applied in Agent.llm).

Addresses PR review feedback about compaction requests bypassing the wrapped
provider.
2026-06-05 14:54:24 +08:00
_Kerman
4f9977d4dc
fix: preserve thinking during compaction (#464) 2026-06-05 14:25:32 +08:00
7Sageer
1fe5d5549c
fix(kosong): clamp OpenAI chat xhigh effort by model (#457) 2026-06-05 14:01:50 +08:00
_Kerman
3a98713050
fix: show concise filtered response errors (#456) 2026-06-05 12:48:35 +08:00
Yifan Song
960a0e2885
fix(cli): show unknown command error for invalid subcommands (#442)
Co-authored-by: liruifengv <liruifeng1024@gmail.com>
2026-06-05 11:54:16 +08:00
github-actions[bot]
b64f3b4bca
ci: release packages (#444)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-05 01:34:13 +08:00
Luyu Cheng
15a4c64e5c
fix: preserve TUI context when starting goals (#443) 2026-06-05 01:26:13 +08:00
github-actions[bot]
12d062d48e
ci: release packages (#390)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-04 21:45:01 +08:00
liruifengv
85338e9f7d
feat: add built-in update-config skill (#433)
Inline, model-invocable skill to inspect and safely edit kimi-code's own config.toml and tui.toml (copy to a candidate, Edit, validate with kimi doctor, timestamped backup, then overwrite). Also documents tui.toml on the config files page (en + zh).
2026-06-04 21:41:54 +08:00
liruifengv
6a4e4c75d4
feat(cli): add doctor command for config validation (#431)
* feat(cli): add doctor command for config validation

* fix(cli): format doctor validation errors

* fix(cli): validate doctor config through SDK RPC

* chore(changeset): simplify doctor release note
2026-06-04 21:15:18 +08:00
Luyu Cheng
beb12ac021
feat: add upcoming goal queue (#393) 2026-06-04 20:43:04 +08:00
7Sageer
be0da5ff39
fix: fail early when Git Bash is missing (#430)
* docs: mention Windows Git Bash requirement

* docs: add Windows Git Bash changeset

* fix: fail early when Git Bash is missing

* test: update goal prompt harness mock
2026-06-04 20:16:12 +08:00
Haozhe
853c5fc437
fix(nix): expose ripgrep and fd to wrapped kimi (#428)
* fix(nix): expose ripgrep and fd to wrapped kimi

- make wrapper available to the Nix build
- wrap kimi binary with ripgrep and fd on PATH
- include rg and fd in the dev shell packages

* chore(nix): add changeset for ripgrep and fd
2026-06-04 19:45:45 +08:00
liruifengv
86a42a26a1
feat: Add persistent experimental feature toggles and a TUI panel (#420)
* feat: Add persistent experimental feature toggles and a TUI panel

* test(agent-core): isolate experimental flag tests

* fix(tui): block experiments panel while busy

* refactor(experimental): merge feature query APIs
2026-06-04 18:35:41 +08:00
7Sageer
d0f8e24e9b
docs: mention Windows Git Bash requirement (#419)
* docs: mention Windows Git Bash requirement

* docs: add Windows Git Bash changeset
2026-06-04 17:04:02 +08:00
7Sageer
459826292f
fix: normalize malformed responses rate limit errors (#411) 2026-06-04 16:21:25 +08:00
liruifengv
6303bd2936
fix(tui): point error diagnostics to export debug zip (#408) 2026-06-04 14:44:41 +08:00
liruifengv
07609b41a3
fix(cli): set process title to kimi-code (#407) 2026-06-04 14:13:42 +08:00
liruifengv
15d71b5130
feat: add reload commands (#383)
* Create CONFIG_RELOAD_RESEARCH.md

* feat: add reload commands for session and tui

* Delete CONFIG_RELOAD_RESEARCH.md

* fix(tui): refresh terminal title on reload

---------

Co-authored-by: qer <wbxl2000@outlook.com>
2026-06-04 13:29:12 +08:00
7Sageer
232ed874d4
fix: scope managed OAuth credentials (#399)
* fix: scope managed OAuth credentials

* refactor: centralize managed OAuth auth resolution
2026-06-04 13:14:18 +08:00
liruifengv
07e2e0f094
fix(update): refresh target before foreground prompts (#405) 2026-06-04 13:10:20 +08:00
liruifengv
d645d7e443
fix(update): start automatic installs after fresh version checks (#403) 2026-06-04 12:29:20 +08:00
liruifengv
b2801c4dbf
fix(tui): set terminal title without renaming process (#398) 2026-06-04 11:39:46 +08:00
Nekof
6e74027fdc
fix: lowercase edit stale-content message (#387) 2026-06-03 23:20:27 +08:00
github-actions[bot]
6c0afc4d9c
ci: release packages (#360)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-03 22:00:17 +08:00