Skip to content

v0.5.6

Latest

Choose a tag to compare

@hiyouga hiyouga released this 24 Oct 08:44
Immutable release. Only release title and notes can be modified.
afac919

MMSP 0.5.6 adds Kimi K3.1 Pro (#294), turns thinking off for ThinkingLevel.NONE on more Claude models (#293), types every error MMSP raises (#288, #290), and makes the history, concurrent calls and interruption behave the same in every client (#291, #292).

Highlights

  • Kimi K3.1 Pro: kimi-k3.1-pro and kimi-k3.1-pro-highspeed on Moonshot, moonshotai/kimi-k3.1-pro on OpenRouter and kimi-k3.1-pro on TokenDance, through moonshot-official in both packages. On the K3 series, kimi-k3 included, ThinkingLevel.NONE sends reasoning_effort: "none", which turns thinking off, and PromptCaching.ENHANCE sends prompt_cache_options with a 1h TTL (#294).
  • Claude thinking level none: anthropic-official turns thinking off for ThinkingLevel.NONE on Claude Sonnet 4.6, Opus 4.8, Sonnet 5 and Opus 5, and runs Fable 5 at its lowest effort (#293).
  • Typed errors: RoutingError, InvalidMessageError, UnsupportedContentError, UnknownEventError, ProviderStreamError and ConcurrentCallError, each a subclass of the built-in it replaces, so existing except ValueError / catch code keeps working. Every bare raise in both packages uses them, and the MMSP server relays every MMSP error with its fields (#288, #290).
  • Interruption: an abort, a closed generator or a left loop closes the provider's request at once in every client of both packages, and an interrupted turn is neither recorded nor traced. An aborted TypeScript stream throws the signal's reason (#292).
  • Usage: a token count of 0 stays 0, and a count the provider leaves out is null (#279).
  • Gateways: the Chat Completions client records a gateway's encrypted reasoning under the shared fidelity keys and still reads the blocks 0.5.5 recorded (#287); TokenDance's DeepSeek V4.1 Flash moves to openai-chat (#286).
  • Docs, site and playground: the configuration page states what each client sends, ignores or raises on for each UniConfig key (#289). The site's top bar becomes Overview, Docs, RFC, Model Index, Model Status and Changelog; the Model Index shows latency and throughput, the Model Status page pages through a year of history, and the RFC pages move to /rfcs/ with search (#282, #283, #284, #285). The playground's reply head names the model and the time (#281).

Breaking

get_history() and set_history() copy the history deeply, so editing a message they return or receive no longer changes the recorded history; change it through set_history() / setHistory(). A second streaming_response_stateful while one is in flight on the same client raises ConcurrentCallError: read the first stream to its stop event, abort it or close it first, or give each conversation its own client. A message with nothing a client can send, empty or thinking alone, raises InvalidMessageError naming its message_index / messageIndex, where it was dropped or sent empty (#291).

Install

pip install mmsp==0.5.6
npm install @prismshadow/mmsp@0.5.6

Full details: English · 中文.