kimi-code/packages/agent-core/CHANGELOG.md
github-actions[bot] dfcd6c8ed5
ci: release packages (#1355)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-04 19:17:47 +08:00

45 KiB

@moonshot-ai/agent-core

0.15.3

Patch Changes

  • #1372 d111c02 - Apply the 16 MiB output cap to background shell commands too, so a runaway background command can no longer fill the disk or crash the process; it is now terminated with the same guidance to redirect large output to a file.

0.15.2

Patch Changes

  • #1349 e9db9ca - Record model response ids in session wire logs to make individual model requests easier to trace.

0.15.1

Patch Changes

  • #1285 c434b4c - Cap the output a single foreground shell command may stream so a runaway command can no longer crash the process. A command that produces a very large or unbounded amount of output (e.g. b3sum --length 18446744073709551615) previously grew the live-output buffer until Node aborted with a JavaScript heap out-of-memory error; it is now gracefully terminated once its output exceeds 16 MiB, and the result explains how to redirect large output to a file instead. The per-task output ring buffer is also maintained in O(1) per chunk rather than O(n²). Background tasks are unaffected.

  • #1308 4dd926b - Drop orphan tool results at the projection boundary so a malformed history cannot brick a session. A tool result whose assistant tool_call is nowhere in the history (e.g. an older session whose compaction cut fell inside a tool exchange, restored via the legacy path) is now removed from every projected request, not only on the post-400 strict resend. The stored history is left faithful to the wire records — so consumers that model it, like the transcript fold length, stay in sync — while a strict provider (OpenAI / DeepSeek) always receives a valid request. The drop is surfaced via the projection-repair log rather than done silently.

  • #1296 021de54 - Align model-facing prompts with actual tool behavior. Fix descriptions that drifted from the implementation (Grep glob matching against absolute paths, Glob accepting relative path, FetchURL extraction modes, files-only Glob results, cron pinned-date recurrence), disclose enforced-but-silent behavior (idle-only cron delivery, the 5-year no-fire rejection, VCS directories always excluded, sensitive-file exemptions, image downsampling, the subagent summary-length floor, background rejection before launch), resolve cross-surface contradictions (AskUserQuestion background polling guidance, AgentSwarm resume typing, && chaining vs parallel calls, dangling optional-tool names in the shared system prompt), and add missing guidance (denied-call handling for the root agent, read-only role statement for the plan subagent, coder handoff requirements, web/gh routing, a dual-use content-safety boundary, scope discipline, and dependency-verification norms).

  • Updated dependencies [93ec6cb, 4dd926b]:

    • @moonshot-ai/kosong@0.5.2

0.15.0

Minor Changes

  • #1260 e47ca10 - WebSearch now sends only the query and returns lightweight result summaries (title, source site, date, URL, snippet) instead of inlined page content; fetch a result's full page content on demand with FetchURL. Both tools now include a citation reminder in their results.

Patch Changes

  • #1258 b905dd4 - Show draft pull requests with a distinct draft status instead of displaying them as open.

  • #1269 bf35f63 - Honor base_url for the google-genai and vertexai providers. A configured base URL was previously ignored and requests always went to generativelanguage.googleapis.com; it is now forwarded to the Google GenAI SDK (with GOOGLE_GEMINI_BASE_URL / GOOGLE_VERTEX_BASE_URL env fallbacks), so Gemini-compatible proxies and gateways can be used. Give the host root only — the SDK appends the API version segment itself.

  • Updated dependencies [b905dd4, bf35f63, 074bb9b]:

    • @moonshot-ai/protocol@0.3.2
    • @moonshot-ai/kosong@0.5.1

0.14.3

Patch Changes

  • #1221 a3f9cec - Fix duplicate workspaces showing in the web sidebar when the same folder is registered more than once.

  • Updated dependencies [ceb27f5]:

    • @moonshot-ai/protocol@0.3.1

0.14.2

Patch Changes

  • #1068 c82dcf9 - Glob now uses ripgrep, so it respects .gitignore by default, supports brace patterns, returns only files, and keeps partial results with a warning when some directories are unreadable.

  • #1209 0635387 - Align malformed tool call argument handling with schema validation fallback.

0.14.1

Patch Changes

  • #1131 76c643b - Cap completion tokens to the remaining context window for chat-completions providers, avoiding context-overflow and invalid max_tokens errors.

  • Updated dependencies [76c643b]:

    • @moonshot-ai/kosong@0.5.0

0.14.0

Minor Changes

  • #812 c0eeca2 - Added the ability to add extra workspace directories:

    • Use the /add-dir <path> command to add extra working directories to the current session, or remember them for the project.
    • Use kimi --add-dir <path> to add them on startup.
    • Project-level local config is now managed in .kimi-code/local.toml; we recommend adding it to your .gitignore.

Patch Changes

  • #970 2730079 - Detect the real image format from file contents when reading media, so a mismatched filename extension no longer produces a data URL the model API rejects.

0.13.1

Patch Changes

  • #813 7b5b818 - Fix repeated compaction handling when context remains over the blocking threshold.

  • #805 3e6196e - Project session replay ranges over rendered replay records instead of raw persisted records.

  • #804 299b9fc - Prevent session shutdown from resuming the agent when stopping background tasks.

  • #823 90fc04b - Remove redundant LLM request logging context plumbing.

  • Updated dependencies [d0d5821, b45672c]:

    • @moonshot-ai/kosong@0.4.6
    • @moonshot-ai/kaos@0.1.6

0.13.0

Minor Changes

  • #744 18f299f - Add support for legacy SSE MCP servers alongside stdio and streamable HTTP transports.

Patch Changes

  • #777 4516f62 - Clarify AGENTS.md prompt guidance and mark truncated instruction files.

  • #780 8a92db6 - Prompt the CLI to show one brief same-language status sentence before non-trivial tool calls.

  • #786 e10b25f - Stop writing resume version markers into persisted agent metadata.

  • #768 c6a9967 - Recover resumed sessions when an interrupted tool call result was not recorded.

  • #777 4516f62 - Collapse hidden directories in the workspace prompt and explain how to inspect them.

  • #766 9cef896 - Clarify that compaction summaries must be emitted in the final answer.

  • #765 046856b - Read media files using header-detected types before falling back to media extensions.

  • #785 4578f05 - Include the skill's directory on the loaded-skill context block so the agent can locate a skill's bundled resources (scripts, templates) after it is invoked.

  • #784 a562ef5 - Decouple agent skill access from session-specific registry implementations.

  • #776 ecd7a0a - Resolve model capabilities through a static lookup instead of instantiating a temporary provider.

  • #787 1eb363f - Extend the same-language rule to the model's reasoning, so thinking follows the user's language while keeping code and technical terms in their original form.

  • Updated dependencies [73be7ba, 18f299f, ecd7a0a]:

    • @moonshot-ai/kosong@0.4.5
    • @moonshot-ai/protocol@0.3.0

0.12.3

Patch Changes

  • #651 c39c625 - Qualify sub-skill names with their parent prefix and expose sub-skills as dotted slash commands in the TUI.

  • #617 911e7c3 - Show completed and cancelled compaction records correctly when resuming a session.

  • #676 dcf3075 - Stream foreground Bash stdout and stderr while commands are still running.

  • #689 8d251f8 - Drop invalid config.toml sections with a warning instead of failing to start.

0.12.2

Patch Changes

  • #643 4e5043b - Require AgentSwarm tool calls to run alone in a model response.

  • #661 0927f79 - Cancel active turns during session shutdown so foreground shell commands do not outlive prompt-mode exits.

  • #604 7ec738c - Fix premature stream close errors when shell processes time out or are killed.

  • #644 a58b5b2 - Polish builtin skills.

  • #649 a2c5e1b - Add runtime support for dynamic MCP server updates, reference skills, replay timestamps, and Node file uploads.

  • #641 30459af - Stop background tasks by default when sessions close.

  • Updated dependencies [d8cdebf, 0381329, ff80327, a2c5e1b]:

    • @moonshot-ai/kosong@0.4.4
    • @moonshot-ai/kaos@0.1.5

0.12.1

Patch Changes

  • #615 494554e - Add an interactive undo selector and clearer undo-limit messages.

  • #598 32d7080 - Clarify active skill prompts so loaded skills are no longer represented as system reminders.

  • #595 1580f35 - Fix Kimi Datasource to use the matching OAuth credentials and service endpoint for the active Kimi Code environment.

  • #612 4603d8a - Prevent forking sessions during active turns and consolidate wire protocol definitions into a shared internal package.

  • #540 2ebe387 - Tighten file tool guidance to route incremental edits through Edit.

  • #606 a1b419a - YOLO mode no longer asks before writing or editing files outside the working directory.

  • Updated dependencies [b747c6a, 4603d8a]:

    • @moonshot-ai/kosong@0.4.2
    • @moonshot-ai/protocol@0.2.0

0.12.0

Minor Changes

  • #582 d85dc0b - Add /import-from-cc-codex to import selected Claude Code and Codex instructions, Skills, and MCP settings.

0.11.1

Patch Changes

  • #584 11bb62c - Allow obsolete experimental config entries to remain without blocking startup.

  • Updated dependencies [aa3471f]:

    • @moonshot-ai/kosong@0.4.1

0.11.0

Minor Changes

  • #569 d7407b0 - Enable micro compaction by default while keeping its opt-out flag.

  • #487 4d11394 - Honor the standard HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY environment variables, including SOCKS proxies, for all outbound traffic.

  • #569 d7407b0 - Make goals, background questions, and sub-skill discovery available without experimental opt-ins.

  • #424 72c4b0a - Add the /swarm command for running agent swarms with live progress and rate-limit-aware retries.

Patch Changes

  • #395 879a7ee - Fix ACP slash skill routing, bootstrap context reads, file and permission edge cases, subagent event handling, and stale-file edit messaging.

  • #552 db82e33 - Fix goal resume behavior by restoring goal state from agent records.

  • #544 5cff6d6 - Load Kimi-specific user Skills and global agent instructions from KIMI_CODE_HOME when it is set.

  • #555 41ebe9f - Improve goal mode outcome handling with follow-up messages, safer error pauses, and clearer TUI transcript display.

  • #506 f09ec7b - Remove the per-turn auto-compaction limit so long conversations can keep compacting instead of failing early.

  • Updated dependencies [3b62b12, 72c4b0a]:

    • @moonshot-ai/kaos@0.1.4
    • @moonshot-ai/kosong@0.4.0

0.10.0

Minor Changes

  • #468 df4f2d6 - Add experimental sub-skill discovery gated by the KIMI_CODE_EXPERIMENTAL_SUB_SKILL environment variable. Ships the sub-skill builtin bundle (sub-skill.review, sub-skill.consolidate) for inventorying and consolidating skills into hierarchical groups.

  • #458 93eb70a - Migrate still-relevant environment variables from kimi-cli:

    • KIMI_MODEL_TEMPERATURE, KIMI_MODEL_TOP_P — sampling parameters 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 (no check, background install, or prompt).
  • #470 aa610e2 - Use a fixed 30-minute timeout for subagents and show concise resume instructions when they time out.

Patch Changes

  • #456 3a98713 - Show concise provider filtering errors when responses are blocked before visible output.

  • #464 4f9977d - Preserve thinking effort when compacting long conversations.

  • Updated dependencies [3a98713, 93eb70a]:

    • @moonshot-ai/kosong@0.3.4

0.9.0

Minor Changes

  • #433 85338e9 - Add the built-in update-config skill — you can now have Kimi edit its own config files.

  • #420 86a42a2 - Add persistent experimental feature toggles and a TUI panel that applies confirmed changes by reloading the current session.

  • #383 15d71b5 - Add /reload to reload the current session and apply updated config files, plus /reload-tui to reload only TUI preferences.

Patch Changes

  • #393 beb12ac - Stop carrying active and queued goals into forked sessions.

  • #387 6e74027 - Lowercase the stale file content message in edit tool errors.

  • #399 232ed87 - Keep managed OAuth credentials scoped to their configured authentication and API endpoints.

  • #430 be0da5f - Fail early when Git Bash is missing on Windows before starting CLI sessions.

  • Updated dependencies [4598262]:

    • @moonshot-ai/kosong@0.3.3

0.8.0

Minor Changes

  • #338 ba7dd73 - Add /btw for side-channel conversations without steering the active main turn.

  • #357 179aecf - Log enabled experimental flags at startup.

Patch Changes

  • #365 6a22523 - Fix goal budget tool schemas for OpenAI-compatible providers.

  • #380 8639105 - Resume saved subagents lazily when they are accessed.

  • #365 6a22523 - Use configured model output limits for completion token caps.

  • Updated dependencies [6a22523]:

    • @moonshot-ai/kosong@0.3.2

0.7.0

Minor Changes

  • #319 fe7db4a - Append the current todo list as markdown to compaction summaries before writing them to history.

  • #270 ac37d74 - Add experimental goal mode for longer tasks that need more than one turn. Turn it on with KIMI_CODE_EXPERIMENTAL_GOAL_COMMAND=1 before you start Kimi.

    Use /goal <objective> in the TUI when you want Kimi to keep working on one task across turns. For example:

    /goal Fix the failing checkout test
    

    Kimi shows the goal in the TUI and keeps progress visible while it works. Use /goal status, /goal pause, /goal resume, /goal cancel, and /goal replace <objective> to manage the goal. This feature is still experimental. Try it and tell us what would make it more useful.

  • #315 191059d - Add background structured questions so agents can continue while waiting for user answers.

  • #277 a217ff0 - Add /undo slash command to withdraw the last prompt from conversation history, and keep replay records in sync when a prompt is undone.

  • #336 7cda9c3 - Add approval lifecycle hook events for observing pending and completed permission prompts.

Patch Changes

  • #285 573c56e - Consolidate background task management under the agent background runtime.

  • #311 80164c2 - Normalize glob patterns before brace expansion to prevent incorrect path matching.

  • #283 91b292e - Allow glob searches to target explicit absolute paths outside the workspace.

  • #135 0071b63 - Fix slash-activated skills not being recognized by the model due to missing system reminder wrapper.

  • #330 7a47045 - Allow subagents to use custom tools registered on their parent agent.

  • #333 1178c5c - Remind the model to refresh TodoList during long-running tasks and strengthen TodoList progress-tracking guidance.

  • Updated dependencies [8809f3e]:

    • @moonshot-ai/kosong@0.3.1

0.6.0

Minor Changes

  • #232 a24bfb1 - Add KIMI_MODEL_ADAPTIVE_THINKING (and a matching adaptive_thinking model-alias field) to force adaptive thinking (thinking: { type: 'adaptive' }) on or off, overriding the Anthropic model-name version inference. This lets custom-named compatible endpoints that back an adaptive-capable model opt in even when the model name does not encode a parseable Claude version.

  • #204 ee69d0a - Render scheduled reminders distinctly in the TUI, expose cron fired events to SDK clients, and report cron fire times with local timezone offsets.

Patch Changes

  • #282 a580cd3 - Fix glob pattern backslash escaping and include match count in truncation messages.

  • #267 e2e1728 - Report truncated compaction summaries clearly and apply valid completion token budgets across supported providers.

  • Updated dependencies [a24bfb1, a580cd3, e2e1728]:

    • @moonshot-ai/kosong@0.3.0
    • @moonshot-ai/kaos@0.1.3

0.5.0

Minor Changes

  • #212 2bbea75 - Add a KIMI_MODEL_* environment-variable channel that lets you run Kimi Code against a specific model (provider type, base URL, API key, context size, capabilities, and thinking settings) without editing config.toml.

  • #205 96bbc47 - Add an experimental feature-flag system: a central registry (flags/registry.ts) plus an env-driven resolver. Gate a feature with flags.enabled('id'), toggled via KIMI_CODE_EXPERIMENTAL_<NAME> or the KIMI_CODE_EXPERIMENTAL_FLAG master switch. No flags are defined yet.

  • #221 bab2da7 - Install plugins directly from GitHub repository URLs, and surface each install's origin and trust level (kimi-official, curated, third-party) in the plugin manager.

  • #118 8913440 - Support querying sessions by sessionId or workDir in listSessions, and show a helpful cd command when resuming a session from a different working directory.

  • #186 537cf20 - Remove the default per-turn step limit of 1000. Users can still set max_steps_per_turn in config to enforce a custom limit.

Patch Changes

  • #197 f3269ea - Show the real terminal status of background agents in the transcript so lost, failed, and killed ones no longer appear as completed, and include the resume agent id and recovery instructions in the failure notification so the model can resume reliably.

  • #211 54590d3 - Back off failed compaction retries by a fixed slice of the model context window.

  • #167 b5981a5 - Introduce ModelProvider interface and SingleModelProvider to decouple Agent from ProviderManager.

  • #213 2388f20 - Handle context overflow errors consistently across provider responses.

  • #198 8c77cfa - Fix automatic ripgrep installation when temporary files are on another filesystem.

  • #195 3a0e060 - Project persisted hook and blocked prompt messages into model context.

  • #221 bab2da7 - Restrict plugin trust badges to Kimi-hosted plugin CDN URL patterns.

  • #207 e280f33 - Recover from provider model token limit errors during long conversations.

  • #190 1873859 - Slim the LLM diagnostic logs with fewer, more compact fields.

  • #185 114777e - Split RuntimeConfig into Kaos and ToolServices and update all references accordingly.

  • #189 564721f - Clarify subagent and background task stop messages as user-initiated.

  • #206 07d51e4 - Relocate shared tool service typing to the tool support layer.

  • #200 5159af3 - Keep blocked prompt hook conversations available to subsequent model turns.

  • Updated dependencies [2388f20, 13e0fff, e280f33, 3da4dae]:

    • @moonshot-ai/kosong@0.2.3

0.4.0

Minor Changes

  • #157 971fce6 - Add scheduled tasks:

    You can now ask the assistant to remind you at a specific time, run a task on a recurring cron schedule (for example, check a deploy every 5 minutes or run a daily report every weekday at 9am), or come back on its own in a few minutes to continue what it was doing.

    Schedules use the standard 5-field cron syntax.

Patch Changes

  • #120 8515472 - Fix compaction to handle edge cases where no messages are compactable and improve retry logic.

  • #139 50251a1 - Show file content and diff in Write and Edit approval prompts, and open them in a dedicated full-screen viewer on ctrl+e instead of expanding inline.

  • #117 a6d379b - Offload large base64 media payloads from wire.jsonl into external blob files to reduce wire size and memory pressure during session replay. Includes an in-memory read-through cache on BlobStore so repeated rehydration avoids redundant disk reads.

0.3.0

Minor Changes

  • #26 2b74025 - Rework tool permissions: reads outside cwd no longer prompt, session approvals match the exact call, and path-based rules are case-insensitive.

  • #119 ebf6e81 - Add user-global plugin installation, interactive plugin management, plugin-provided skills, and plugin-owned MCP servers.

Patch Changes

  • #105 d599183 - Enhance kimi export to include more diagnostic information in the manifest.

  • #119 ebf6e81 - Restrict plugin zip installs to manifests at the archive root or a single wrapper directory.

  • #102 6f55f1d - Route session-tagged log entries exclusively to the session sink instead of duplicating them to the global sink. Consistently omit stable main-agent context keys from all session log lines that carry agentId=main.

  • #92 4e458d6 - Use one retry classification for transient LLM failures across regular turns and compaction.

  • #84 e5717b7 - Unify path normalization by replacing ad-hoc toForwardSlashes helpers with pathe. Remove unnecessary node:path/win32 branching in path-access policies and tools, and inline unused joinPath wrappers. Platform-specific path separators are now handled consistently through a single module.

  • Updated dependencies [4e458d6, e5717b7]:

    • @moonshot-ai/kosong@0.2.2
    • @moonshot-ai/kaos@0.1.2

0.2.1

Patch Changes

  • #62 e2b2b46 - Make AgentRecords hold the Agent instance directly and inline the restore dispatch logic.

  • #70 d95b013 - Preserve catalog-declared interleaved reasoning fields for OpenAI-compatible models configured through /connect.

  • #72 0ce0072 - Fix user skills in ~/.agents/ not being loaded.

  • #86 5e354d0 - Restore real-time token display for running subagents in the TUI.

  • #83 7d9216d - Always emit a paired tool result when a tool returns a malformed or missing result, preventing the next request from failing with a missing tool_call_id error.

  • #85 2bb50a3 - Avoid overly small local completion caps that can truncate reasoning before summaries are produced.

  • Updated dependencies [d95b013, 61f7d0e]:

    • @moonshot-ai/kosong@0.2.1

0.2.0

Minor Changes

  • #25 c4dd1c7 - Flatten tool call data by inlining tool names and arguments at the top level, and limit legacy record migration so it only rewrites matching tool call payloads.

Patch Changes

  • #22 2004aed - Add wire record migration handling during session replay.

  • #24 7858821 - Persist model selections from the terminal UI to the default configuration, and honor the configured default thinking state for new sessions.

  • #14 0da6073 - Move wire metadata handling into the record layer and keep persistence backends limited to storage operations.

  • #12 89ea895 - Retry compaction responses that do not contain a summary before updating conversation history.

  • #49 cf2227e - Resume sessions with a newer wire protocol version instead of failing. A warning is now shown in the TUI and records are replayed without migration.

  • #17 bfbd522 - Let Kimi requests use the remaining context window for completion tokens by default while keeping explicit environment limits as hard caps.

  • Updated dependencies [a200a29, c4dd1c7, df7a9ca]:

    • @moonshot-ai/kosong@0.2.0