kimi-code/.changeset
qer 2727720f99 fix(agent-core-v2): harden plugin load, install, and update check paths
- Degrade plugin consumption reads to empty when installed.json fails to
  load, surface plugin.load_failed with a repair hint on management calls,
  and recover after an explicit reload; serialize the initial load and
  mutations so concurrent first callers share one load.
- Clean up zip temp dirs on every failure path, report the original
  source in zip/github manifest errors, and roll back to the previous
  managed copy when an install or persist fails.
- Restore managed Kimi endpoint env injection for stdio plugin MCP
  servers.
- Check plugin updates concurrently with per-repo failure isolation and
  10s timeouts, track branch installs by commit SHA, and stop false
  update reports for tag/SHA pins.
- Throw plugin.not_found from getPluginInfo and the manager's
  not-installed paths.
- Count plugin skills through the real skill discovery path.
- Re-sync context injection positions after silent wire replay so cold
  resumes do not duplicate injections, and fire plugin session-start
  reminders only when the plugin skill source finishes refreshing.
2026-07-12 18:58:11 +08:00
..
add-v2-session-export.md feat: add v2 session export 2026-07-06 21:40:12 +08:00
agent-runtime-phase.md feat(agent-core): track agent live phase in a single runtime model field 2026-07-08 15:02:47 +08:00
ask-user-dismiss-not-recommended.md fix(agent-core): treat dismissed AskUserQuestion as no answer, not recommended pick (#1550) 2026-07-11 16:01:13 +08:00
ask-user-question-v2-parity.md fix(agent-core-v2): align AskUserQuestion tool chain with v1 2026-07-08 18:14:01 +08:00
config.json chore(changelog): enable thanks credit in changelog (#1418) 2026-07-06 15:26:03 +08:00
de-barrel-agent-core-v2.md refactor(agent-core-v2): remove barrel re-exports in favor of direct imports 2026-07-07 16:13:52 +08:00
dynamically-loaded-tools-capability.md refactor(kosong): rename select_tools capability to dynamically_loaded_tools (#1488) 2026-07-10 22:12:54 +08:00
execution-environment-domains.md chore: reference @moonshot-ai/kap-server in v2 changesets 2026-07-08 10:56:31 +08:00
mcp-initial-load-race.md fix: align v2 model thinking and mcp startup 2026-07-06 20:34:10 +08:00
print-goal-cron-turns.md feat(cli): keep kimi -p running while a goal is active or cron tasks are pending (#1555) 2026-07-11 21:16:27 +08:00
README.md chore: remove unused kimi-migration-legacy package (#1415) 2026-07-06 15:09:27 +08:00
reroute-blob-storage.md chore: reference @moonshot-ai/kap-server in v2 changesets 2026-07-08 10:56:31 +08:00
server-v2-interaction-events.md fix(server-v2): broadcast interaction question/approval events over v1 WS 2026-07-06 16:34:38 +08:00
skill-discovery-diagnostics.md fix(agent-core-v2): report skill discovery diagnostics 2026-07-10 18:48:06 +08:00
tool-select-progressive-disclosure.md feat: add progressive tool disclosure 2026-07-09 23:27:52 +08:00
v2-fetch-moonshot-channel.md fix(agent-core-v2): route FetchURL through the Moonshot fetch service when logged in 2026-07-11 23:15:52 +08:00
v2-media-caption-reroute.md fix(agent-core-v2): align media reads with v1 note channel and EXIF handling (#1505) 2026-07-08 22:25:40 +08:00
v2-media-read-parity.md fix(agent-core-v2): align media reads with v1 note channel and EXIF handling (#1505) 2026-07-08 22:25:40 +08:00
v2-oauth-inflight-provider-change.md chore: reference @moonshot-ai/kap-server in v2 changesets 2026-07-08 10:56:31 +08:00
v2-plugin-robustness.md fix(agent-core-v2): harden plugin load, install, and update check paths 2026-07-12 18:58:11 +08:00
v2-search-host-headers.md fix(agent-core-v2): forward host identity headers with WebSearch requests 2026-07-11 23:15:52 +08:00
v2-server-host-headers.md fix(cli): seed host identity headers into the experimental v2 server 2026-07-11 23:18:18 +08:00
v2-video-upload-telemetry.md fix(agent-core-v2): align media reads with v1 note channel and EXIF handling (#1505) 2026-07-08 22:25:40 +08:00
v2-wire-record-parity.md fix(agent-core-v2): align v1.4 wire parity 2026-07-08 14:33:17 +08:00
v2-wire-v1-native-records.md refactor(agent-core-v2): persist wire records natively in the v1 vocabulary 2026-07-09 01:18:11 +08:00
web-resume-media-tool.md fix(web): keep ReadMediaFile media rendering after session resume (#1552) 2026-07-11 21:11:29 +08:00
webbridge-plugins-link.md fix: update the WebBridge install link in the /plugins panel (#1547) 2026-07-10 23:33:34 +08:00

Changesets

This repository uses changesets to manage npm package versions and releases.

Package Publishing Strategy

This repository uses an independent, manually-selected publishing strategy. When generating a changeset, only select the publishable packages that this change actually affects. The repository's .changeset/config.json already filters out internal workspace packages via ignore, so only the publishable packages listed below should appear in the pnpm changeset prompt.

Current publishable packages:

Package Directory Description
@moonshot-ai/kimi-code apps/kimi-code CLI / TUI application — provides the kimi command after install
@moonshot-ai/kimi-code-sdk packages/node-sdk Public TypeScript SDK

All other workspace packages are private internal packages, are not published to npm, and are excluded via ignore in .changeset/config.json:

  • @moonshot-ai/acp-adapter
  • @moonshot-ai/agent-core
  • @moonshot-ai/kaos
  • @moonshot-ai/kimi-code-oauth
  • @moonshot-ai/kimi-telemetry
  • @moonshot-ai/kimi-web
  • @moonshot-ai/kosong
  • @moonshot-ai/migration-legacy
  • @moonshot-ai/protocol
  • @moonshot-ai/server
  • @moonshot-ai/server-e2e
  • @moonshot-ai/vis
  • @moonshot-ai/vis-server
  • @moonshot-ai/vis-web

Version impact from internal dependencies must be judged manually. The published artifacts for CLI and SDK bundle internal workspace packages into the artifact itself; runtime dependencies of published packages must not include any @moonshot-ai/* internal workspace packages.

The repository's .changeset/config.json sets updateInternalDependencies: "patch". Because internal packages are not published, you still need to manually select all affected publishable packages in the changeset — do not rely solely on automatic dependency bumps to express user-visible changes.

Example scenarios:

Change Changeset selection
Only modifies TUI behavior in @moonshot-ai/kimi-code Add patch / minor / major to @moonshot-ai/kimi-code
Only modifies internal packages, no user-visible change in SDK / CLI Usually no changeset needed
Internal package fix changes the CLI user experience Add a changeset to @moonshot-ai/kimi-code describing the user-visible fix
Internal package adds a new capability exposed by the SDK Add a changeset to @moonshot-ai/kimi-code-sdk
SDK behavior change affects CLI user experience Add changesets to both @moonshot-ai/kimi-code-sdk and @moonshot-ai/kimi-code
Provider abstraction change affects SDK / CLI Add changesets to the affected @moonshot-ai/kimi-code-sdk and/or @moonshot-ai/kimi-code
Test-only, internal refactor, docs, or private debug tooling changes Usually no changeset needed
Bundled official plugin change under plugins/ (e.g. kimi-datasource) No changeset — the plugin is versioned via its own kimi.plugin.json / plugins/marketplace.json and shipped through the marketplace CDN, not the npm package

Prerequisite: NPM Trusted Publishing (OIDC)

This repository uses npm's Trusted Publishing (OIDC-based) for publishing — no NPM_TOKEN is required.

Configuration steps

  1. Open each publishable package's page on the npm website, e.g. https://www.npmjs.com/package/@moonshot-ai/kimi-code.
  2. Go to Settings -> Publishing access.
  3. Find Automate publishing with GitHub Actions or Add trusted publisher.
  4. Click Add a new trusted publisher.

Fill in the following:

Field Value
GitHub Organization MoonshotAI
GitHub Repository kimi-code
GitHub Workflow release.yml
Environment leave empty

Each publishable package needs its Trusted Publisher configured once. The current GitHub Actions workflow lives at .github/workflows/release.yml and already has id-token: write configured.

Development Workflow

1. Implement the feature or fix

Complete code, tests, and documentation changes as usual. A changeset is required when the change affects user-visible behavior, public API, dependency ranges, or release artifacts of a publishable package.

2. Generate a changeset

From the repository root:

pnpm changeset

Follow the prompts to choose:

  • Which publishable packages this change affects;
  • The version bump level:
    • patch: bug fixes, small changes, follow-up dependency updates;
    • minor: backward-compatible new features;
    • major: breaking changes;
  • A user-facing description of the change.

The command creates a .changeset/*.md file that must be committed alongside the code.

3. Commit the changeset

git add .changeset/
git commit -m "chore: add changeset for package release"
git push

Commit messages must follow Conventional Commit style. Do not include any author/agent identity in the commit message.

4. CI generates the release PR

Once the changeset file is merged into main, .github/workflows/release.yml uses changesets/action@v1 to create or update a release PR.

The release PR runs:

  • pnpm changeset version: bumps publishable package versions and updates changelogs;
  • Deletes the consumed .changeset/*.md files;
  • Uses the title [CI]: Release packages.

5. Merge the release PR

Once the release PR is merged into main, the same workflow runs:

  • pnpm install --frozen-lockfile
  • pnpm build
  • pnpm changeset publish

The packages are then published via npm Trusted Publishing, and a GitHub Release is created.

Only publish manually when CI is unavailable. Before publishing manually, make sure you are logged into npm locally and using the Node.js and pnpm versions required by the repository.

pnpm run version
pnpm run publish

The underlying changesets commands are:

pnpm changeset version
pnpm changeset publish

The root-level pnpm run publish first runs typecheck, lint, sherif, test, build, and package lint, then runs changeset publish.

Notes

  • Every PR that affects publishable-package behavior or public API should include a corresponding changeset.
  • Changes under plugins/ (the bundled official plugins such as kimi-datasource) do not need a changeset: each plugin carries its own version in kimi.plugin.json and plugins/marketplace.json and is distributed via the marketplace CDN, separately from the @moonshot-ai/kimi-code npm package.
  • Changeset files must be committed to the repository — release PRs are only triggered after they're merged.
  • Release PRs require human review and merge; they will not publish automatically.
  • Do not add release changesets for private internal packages; only select @moonshot-ai/kimi-code and @moonshot-ai/kimi-code-sdk.
  • If a change in an underlying internal package alters user-visible behavior or public API of a publishable package, add a changeset to the affected publishable package. For example, when a bug fixed in @moonshot-ai/agent-core resolves an issue CLI users encounter, add a changeset to @moonshot-ai/kimi-code describing the user-visible fix.
  • @moonshot-ai/kimi-code is the official CLI package name; after a global install it provides the kimi command.
  • Make sure each publishable package on npm has a Trusted Publisher configured.

References