LogoUnimeType 文档

文本范围与已接受段落

UnimeType 如何选择请求文本、保留结构,以及处理转换后追加的文字。

UnimeType 区分三个对象:

  • **捕获文本:**从宿主或本地输入缓冲读取的文本。
  • **请求文本:**经过本地保护处理后发送给模型的正文。
  • **替换文本:**保留前缀 + 模型输出 + 保留后缀。

捕获顺序

Convert

  1. 使用非空选区。Convert 会把外层空白排除在请求和替换范围之外,但保留选中的 结构标记。
  2. 在 Terminal、Ghostty、VS Code 或 VS Code Insiders 中,如果光标没有选区且当前 本地输入缓冲可用,优先使用该缓冲。
  3. 否则读取光标所在的完整段落。
  4. 如果段落为空或无法读取,使用当前输入缓冲。
  5. 如果没有可用来源,显示没有可转换内容

Polish 与 Explain

  1. 使用精确的非空选区,包括外层空白。
  2. 否则捕获光标所在句子。句子分隔符是 。!?.!? 和换行。
  3. 如果无法读取句子,使用当前输入缓冲。

段落与结构边界

硬换行定义段落边界;界面软换行不定义新段落。边界换行永远不属于自动替换范围。

自动 Convert 捕获会保留外层空白,并把以下结构前缀排除在请求正文之外:

  • ## 等 Markdown 标题
  • > 等引用
  • 有序和无序列表标记
  • [ ] [x] 等任务框

Convert 只会把明确选区的外层空白排除,不会剥离选中的结构前缀。Polish 和 Explain 保持明确选区完全不变,包括外层空白和结构前缀。

已接受段落与追加文字

段落替换通过验证后,UnimeType 会记住结果文本、起始位置和宿主客户端。如果同一 段落仍以已接受文本开头,而用户又追加了文字,下一次 Convert 只发送新后缀,并把 已接受前缀末尾最多 100 个字符作为只读上下文。

如果当前段落不再以已接受文本开头,UnimeType 会重新发送完整段落正文。如果只能 通过本地缓冲验证新输入的后缀,替换只删除并改写该后缀,宿主中的已接受前缀保持 不变。

输入缓冲失效条件

切换客户端、在操作菜单外点击、换行、导航或焦点按键、Command/Control 编辑命令、 Option-Backspace、无法跟踪的按键、输入法停用,以及已完成或内容未变化的操作,都会 清空本地缓冲。普通 Backspace 只删除缓冲末尾一个字符。

替换前,UnimeType 会确认宿主范围或输入缓冲版本仍与捕获时一致。不一致时显示 文本已变化并阻止替换。

目录

English