Skip to content

v0.5.2

Choose a tag to compare

@hiyouga hiyouga released this 09 Oct 21:52
Immutable release. Only release title and notes can be modified.
790b270

MMSP 0.5.2 adds an MMSP server that serves a table of models over HTTP, the mmsp client that calls it, and a server page in the playground. It also supports Claude Haiku 5.5 and gives the official Gemini client its vendor's name, google-official.

Highlights

  • MMSP server.
    • Start: python -m mmsp.integration.server --config FILE or npm run server -- --config FILE.
    • What it serves: the models of one JSON table. Each row is model_id, api_key, server_model_id, plus an optional base_url and client_type.
    • Endpoints: GET /v1/models in OpenAI's list shape, and POST /v1/stream, which answers with MMSP streams over server-sent events.
    • Keys: clients authenticate with the bearer keys in api_keys. An empty list makes an open server.
    • Environment variables: $VAR cells are read from the environment (#247).
  • mmsp client. client_type="mmsp" calls an MMSP server and passes its stream through unchanged. An error the server reports comes back as the new UpstreamError (#247).
  • Server page in the playground. /server/ saves the table to a config file, starts and stops the server, and charts requests, success rate, p50 / p90 latency, tokens out and TPS over 15 minutes to 30 days.
    • Test: checks a row straight against its upstream and reports first token, total time and TPS.
    • Open-server banner: shown while the server runs without keys.
    • Confirmation: Start and Apply ask first (#247, #250).
  • Claude Haiku 5.5. anthropic-official serves claude-haiku-5-5.
    • Parameters: thinking_level="none" runs at low effort. As on the rest of the 5.5 family, a forced tool_choice and fast_mode raise UnsupportedParameterError.
    • Registry: lists it at $0.10 / $0.50 per million tokens (the price for prompts up to 100K tokens), plus OpenRouter's anthropic/claude-haiku-5.5. Sonnet 5.5 cache reads drop to $0.10 (#249).
  • google-official. The official Gemini client now takes its vendor's name, like openai-official and anthropic-official. gemini-official still works as an alias (#248).
  • Playground chat. A message sent to another model, client type or endpoint starts a new conversation under a divider, so the page shows what the model actually sees (#250).

Compatibility

  • Code that imported the Gemini client by module path now imports google_official / GoogleOfficialClient instead of gemini_official / GeminiOfficialClient. client_type="gemini-official" keeps working.
  • In the playground's /api/chat, a session keeps its history when the client options change (a new key, for example). /api/clear ends it.

Install

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

Full detail: changelog/0.5.2/README.md.