Skip to main content

Kimi Agent Module API

The stable, host-independent contracts for building Kimi application modules: separately installed packages that add commands, LLM tools, background jobs, event handlers, per-guild settings, and durable data to a Kimi deployment.

This package contains no bot runtime, Discord client, database implementation, or module loader. It exports:

  • ModuleSpec, ModuleLoadContext, ModuleRuntimeContext: the declaration a module publishes and the two contexts the host hands it.
  • kimi_agent_module_api.contracts: every runtime port as a typing.Protocol (storage, scheduler, events, Discord actions, interactions, HTTP, services, trust, proposals, health) plus the validators the host runs at preflight.
  • kimi_agent_module_api.events: the normalized discord.* event payloads.
  • kimi_agent_module_api.testing: a fake for every port, load_context() for exercising create(), and MemoryStorage (install the testing extra) so a module can unit test itself with only this package installed.

A module exposes a ModuleSpec through the kimi_agent.modules entry-point group:

[project]
dependencies = ["kimi-agent-module-api>=2,<3"]

[project.entry-points."kimi_agent.modules"]
my_module = "my_module_package:SPEC"

The source must pin the API contract it implements when constructing the specification:

from kimi_agent_module_api import ModuleSpec

SPEC = ModuleSpec(
    name="my_module",
    version="0.1.0",
    create=create,
    api_version=2,
)

api_version is a required keyword. Keep it as a literal rather than deriving it from the installed SDK's MODULE_API_VERSION; unchanged module source must not silently claim compatibility merely because it was rebuilt with a newer SDK.

The module guide documents installation, declarations, lifecycle, and every runtime port. The reference module is a complete, commented example that exercises most ports; start there.

Guild-scoped live command replacement was added in 1.1. Modules using InteractionRouter.replace_guild_commands() should require the host capability discord.guild_commands.v1.

Version 1.2 adds typed modal forms and a narrow Components V2 layout model. Once a response uses that layout model, Discord requires every later edit of the same message to remain a layout. Modules using them should require discord.modals.v1 and/or discord.components_v2.v1.

Version 1.3 adds cached author classification to message-deletion events: MessageDeleteEvent.author_is_bot and MessageBulkDeleteEvent.bot_message_ids. The values remain unknown for messages that were absent from Discord's cache.

Version 2 requires an explicit, source-pinned ModuleSpec.api_version, and removes the temporary guild-settings legacy flag and module table aliases. Modules must use namespaced guild documents and migrate legacy tables to the physical names returned by ctx.storage.table() before upgrading.

Testing the SDK

From this package directory, run its tests without installing the Kimi application:

uv run --isolated --group test python -m pytest -q

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kimi_agent_module_api-2.0.0.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kimi_agent_module_api-2.0.0-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

Details for the file kimi_agent_module_api-2.0.0.tar.gz.

File metadata

  • Download URL: kimi_agent_module_api-2.0.0.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kimi_agent_module_api-2.0.0.tar.gz
Algorithm Hash digest
SHA256 843cf39ce2aa264f8102a6aa7dc8f976d20d6b9dcfb61856f935761b89fab2c5
MD5 0e4814a023a0a4aa14252ef6f73ad503
BLAKE2b-256 cde1661a5a877e34b549699fcaff674ea5e593be329d1bf38afba5ba8e5625e9

See more details on using hashes here.

File details

Details for the file kimi_agent_module_api-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: kimi_agent_module_api-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kimi_agent_module_api-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8dc8103ffc762fbbc9d2b14abe0ac951882fd59762eeaee0156523b54bd03080
MD5 48ce4ff332390ece3e0cd36de76366da
BLAKE2b-256 df913a33e45cf50185dd8cdc61c4f9e851113fc68952bcc41dfe2da1c07bcea9

See more details on using hashes here.

Release history Release notifications | RSS feed

2.2.0

2 files

2.1.0

2 files

This release

2.0.0 This release

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page