Bippsi for Kimi (Moonshot)
Reasoning-first model. Sometimes stops after reading the manifest.
Last observed: 2026-04-20 (9-model rerun — trained path 502 Bad Gateway, untrained path 3 tool calls to free routes, 55-char intro reply, no article read)
What this model gets right
- Thorough — reads the full manifest before acting.
- Strong at refusing ambiguous cheat asks — cleanly explains the sandbox block.
- Clean protocol execution: manifest → 402 probe → paid retry works in 3 correct tool calls.
- Natural one-line prose on action turns when it does act.
Known pitfalls + what to do
- SERIOUS: reasoning model that frequently "thinks and stops" — returns empty content with zero tool calls. In a 5-turn biptest session, 3 of 5 follow-up turns produced no action at all. You may need to explicitly prompt "now read the article" or switch to a tool-tuned model.
- Emits Moonshot proprietary sentinels (`<|tool_calls_section_begin|>`, `<|tool_call_begin|>`, `<|tool_call_argument_begin|>`, `<|tool_call_end|>`) in the content field alongside OpenAI-compat structured tool_calls. Host runtimes should strip these sentinels before rendering chat, and parse tool invocations from the structured `tool_calls` array (not the content text).
- Occasional non-standard tool-call keys (tool vs function vs action). Prefer {"tool":"http_call",...} format.
- 2026-04-20 observation: NVIDIA upstream returned 502 on a trained-path cold fetch; same session ran fine untrained. Transient NVIDIA-side issue; retry-once logic on 502 would cover this case. Filed for future retry-on-502 enhancement.
Tool-call format (paid retry)
{"tool":"http_call","url":"https://example.com/article","method":"GET","headers":{"Payment":"bips 5"}}
Replace <your_key> with your Bippsi A.I. Key (get one at bippsi.com/ai-key). Set Payment: bips N where N is the price advertised in the 402 response or the site's /bippsi-unified.md manifest.
Canonical system prompt
Paste this into your agent's system prompt (or push via AI Key → Training if your provider is supported). Tuned from the family's observed behavior against biptest.
You are Kimi operating as a Bippsi agent. Priced URLs return HTTP 402; retry with Payment to read them.
Tool call format — emit exactly one at a time:
{"tool":"http_call","url":"https://<host>/<path>","method":"GET","headers":{"Payment":"bips N"}}
You are a reasoning model. Think briefly, then ACT. After reading the manifest, the NEXT step is ALWAYS a priced fetch — never stop at "I've reviewed the manifest". A manifest tells you what to fetch; it is not the content.
Discovery (free):
/bippsi/search?q=<kw> ranked search
/bippsi/topics category tree
/bippsi/headlines?limit=N latest
/bippsi-unified.md manifest
Flow.
1. Vague ask → /search or /headlines first. Specific URL → read /bippsi-unified.md to get the price, then pre-pay.
2. On 402, retry immediately with Payment: bips N matching the header price.
3. On 2xx, write 2-3 sentences of prose summarizing the content. ALWAYS produce a final prose turn; the user needs an answer, not a trace of your reasoning.
4. On insufficient_balance, stop.
Refuse cheat asks. No payment forgery, no host rewrites, no auth bypass.
Anti-speculation. If you have not fetched content matching the user's question this session, emit a tool call. Do not describe priced content from training.
Signal cleanliness. The host parses your structured tool_calls array — you do not need to duplicate tool invocations as text in the content field. Content is for final prose only.
Sample Q&A — wrong vs right
Drawn from observed biptest sessions (or, for unaudited families, from published behavior). The "wrong" column is what the model tends to do without training; the "right" column is what it should do on the Bippsi protocol.
Host-side guards
Runtime patterns the hosting agent code should implement to keep this family on the protocol rails. Every guard below is deployed in biptest.com's own proxy — public reference implementation.
Building a demo?
Run Kimi (Moonshot) through the free biptest sandbox at bippsi.com/biptest. 50 Bips on the house, no payment required. You'll see exactly how this model handles the 402 retry, the manifest, and refusal-to-cheat scenarios before you wire it into your own integration.