本页是 技术参考,面向维护者与高级排查。内容包含内部状态名、校验标识、请求限制与模型提示行为。普通安装与使用请先看 Convert、Polish 与 Explain 与 状态与排查。
捕获规则
- 非空显式选区覆盖自动捕获。
- Convert 使用当前段落,不含边界换行。
- Polish 与 Explain 使用光标所在句子;分隔符为
。!?.!?与换行。 - Terminal、Ghostty、VS Code 与 VS Code Insiders 优先本地键入缓冲。其他宿主先文档捕获,再回退缓冲。
- 自动捕获保留外侧空白。
- Markdown 标题、引用、列表、有序列表与任务框前缀不进入自动 Convert 请求正文,但保留在宿主中。
- 空捕获报告
nothingToConvert。
键入缓冲规则
- 可打印按键追加到绑定当前文本客户端的缓冲。普通 Backspace 删除最后一个缓冲字符。
- 客户端切换、动作菜单外指针输入、换行、导航或焦点键、Command/Control 编辑命令、Option-Backspace、不可跟踪按键、停用、完成与未改变完成会清空缓冲。
- 缓冲世代不匹配会阻止写回并报告
textChanged。
已接受段落规则
- 经校验的段落写回会记录起始位置与已接受文本(按宿主客户端)。
- 若段落仍以已接受文本开头,只请求新追加内容;最多 100 个前置字符作为只读上下文。
- 前缀不再匹配时,请求完整段落正文。
受保护内容规则
- 代码片段/围栏、URL、邮箱、路径、Markdown 链接目标、可识别密钥模式、私钥块与带标签密钥值在请求前替换为本地占位。
- 带标签密钥占用该行剩余部分。
- 重叠候选按位置、最长范围、再优先级解析。
- 还原要求每个目标占位恰好一次。
- 密钥候选显示隐私锁;其他受保护对象不单独触发。
模型输出边界
- 仅在仍有非空响应文本时,移除完整的前导
<think>、<analysis>或<reasoning>块。 - 不完整、嵌入或残留的推理标记会拒绝响应。
- 清理后为空会拒绝响应。
Convert 校验器
| 失败标识 | 失败变量 |
|---|---|
empty | 输出无非空白文本 |
contextEnvelopeLeak | 输出出现内部上下文或目标标记 |
metaExplanation | 仍有推理标记 |
lineBreakMismatch | 换行数改变 |
markdownPrefixMismatch | 行级 Markdown 结构前缀改变 |
protectedTokenMismatch | 受保护标记、行、顺序或边界改变 |
unexpectedScript | 输出引入未启用的文字系统 |
Convert 没有本地拼音似然、拉丁前缀、英文词或代码段落拒绝。
Polish 校验器
Polish 使用 empty、metaExplanation、lineBreakMismatch、
markdownPrefixMismatch 与 protectedTokenMismatch。当类数字锚点有序序列改变时,额外使用
informationAnchorMismatch。本地后处理会把中文前的逗号从 , 改为 ,。
Explain 做受保护内容还原,但不写宿主。
请求与重试规则
- 空的 Convert/Polish 输入本地返回,不发请求。
- Convert 一次请求,temperature 0,输出上限 1,024 token。
- 结构非法的首次 Convert 结果会有一次修复请求。
- 相同的首次 Convert 结果会有一次更强重试。已识别 Mini/Lite 在可用时用 Pro;Pro 不可用则回退所选模型。
- 结构合法且最终仍相同的结果正常返回,并在写回时成为
unchanged。 - Polish 在校验失败后有一次修复请求。
- Explain 一次请求,输出上限 300 token。
- 请求 45 秒超时。连接与超时错误成为
networkFailed。凭证缺失/过期、非成功 HTTP、解码失败、不安全推理标记、空响应或最终结构校验失败,按错误分类成为aiServiceFailed或setupRequired。
应用例外
- 选区或光标写回客户端:
com.tencent.xinWeChat、com.microsoft.VSCode、com.microsoft.VSCodeInsiders。 - 优先键入缓冲客户端:
com.apple.Terminal、com.mitchellh.ghostty、com.microsoft.VSCode、com.microsoft.VSCodeInsiders、com.stablyai.orca。 - Xcode 无包名特定例外。
这些包标识符是 macOS 宿主例外。见 Mac 应用兼容性。
写回规则
- 源范围或缓冲世代必须仍匹配捕获快照。
- 相同写回报告
unchanged且不插入。 - 普通宿主走已提交范围写回。
- 选区或光标客户端:写入精确选区,或在光标仍在目标末尾时用合成 Backspace 批处理。
- 合成写回绑定客户端/世代,两秒超时。
- 可读结果会校验。不匹配报告
replacementFailed;不可读结果记录replacementSent但不宣称回读校验。 - 任何写回路径都不创建 marked composition。
触发与状态规则
- 仅在 UnimeType 被选中且设置开启时,Caps Lock 映射为 F20。
- 纯 Caps Lock 运行 Convert。启用时 Option + Caps Lock 打开动作菜单。启用时 Option + Return 运行 Convert。重复按下忽略。
- 同一时间只允许一个进行中的动作。
- 静默状态:
processing、completed、replacementSent。 - 可见异常状态:
unchanged、nothingToConvert、requestInFlight、textChanged、selectionRequired、replacementFailed、networkFailed、aiServiceFailed、setupRequired、updateRequired、cancelled。
模型提示规则,而非本地决策
已配置提示要求模型转换合理的已启用语言输入、保留清晰英文与受保护结构、对歧义拼音用上下文,并只返回目标。这些指令影响模型答案,但本地客户端代码不会用它们分类或拦截输入。