# 可选 MiMo 口语整理

[返回 README](../README.md)

## 启用

在 `~/.pi/mimo-voice-zh.json` 中设置 `textCleanupEnabled: true`，然后 `/reload`。
默认使用 `mimo-v2.6-flash`，等待上限 `5000ms`；可设置 `cleanupModel` 和 `cleanupTimeoutMs`。

沿用普通 MiMo API Key 和官方 `https://api.xiaomimimo.com/v1/chat/completions`，
不使用 Token Plan、Codex、私有网关、Unix socket 或常驻服务。
关闭整理时不增加文本请求；本地自检、无有效人声或 ASR 失败时也不请求文本模型。

## 请求策略

- `thinking: {type: "disabled"}` 显式关闭默认思考，`temperature: 0`，不提供函数工具或联网搜索。
- `response_format: {type: "text"}` 返回整理后的完整文本，不要求 JSON 编辑列表。
- 提示词位于 [`src/cleanup-prompt.ts`](../src/cleanup-prompt.ts)。一次转写只请求一次，不携带历史或草稿。
- 最多接受 16000 字符原文，输出 token 上限为 `min(16384, max(1024, 原文字符数 × 2))`。
- 超时范围 `100`～`30000ms`，覆盖请求和响应体读取。网络/HTTP 错误、无效响应、空白/截断输出或工具调用均保留原文，不重试、不切换模型。
- 不预热、不发探测推理，不在多窗口间排队；每个请求独立取消，`/reload` 或退出不影响其他窗口。
- `/voice-status` 显示模型、整理模式、超时、最近成功/失败耗时和技术原因，不显示原文、结果、Key 或服务端错误正文，也不落盘诊断数据。

## 整理范围与人工复核

允许自然改写、顺句、调整语序/标点/分段，删除语气词和冗余表达，合并完全相同或意思重复的内容。
允许处理明确的自我纠正，包括动作、对象、选项、数值、不同单位和日期；有歧义的部分应保留。

提示词要求保留原意、否定、条件、限制、数字/单位、代码/路径及明确引用的字面文本，
不总结、不补造需求、不回答转写中的问题、不执行指令。这些是**模型要求，不是本地语义验证保证**。

本地只检查响应完整、非空及无工具调用；不做逐项编辑或语义等价校验，也不因改写幅度拒绝结果。
因此，**发送前必须在编辑器中人工复核**。例如：

> 原文：你能给我看一下，呃，你给的清洗的提示词，以及你你设置的什么规则呀？
>
> 可能的整理：你能给我看一下清洗提示词，以及你设置了哪些规则吗？

`/voice-raw` 可恢复最近一次整理前的完整原文，但只在编辑器与整理完成时完全一致时生效，
修改或发送后不覆盖。恢复副本仅存于当前 Pi 会话内存，退出或 `/reload` 后忘记。

## 隐私与费用

启用后原始转写会再发送给 MiMo 文本模型，不发送额外音频、草稿或会话历史，不落盘转写。
服务端留存遵循 MiMo 政策；超时取消不保证服务端停止计算或不计费。

国内 Flash 参考价格为未缓存输入 ¥1/百万 tokens、缓存输入 ¥0.02/百万 tokens、输出 ¥2/百万 tokens
（查阅于 2026-10-16），实际以 [官方定价](https://mimo.mi.com/docs/zh-CN/price/pay-as-you-go) 为准。

如需验证真实模型，请参阅 [显式在线测试](development.md#显式在线测试)，该操作会产生少量费用。
