TeXLeaf 0.8.9
TeXLeaf 0.8.9 在 0.7.2 的片段、Zotero 引用与 Math Preview 基础上,加入了默认关闭、由用户自行配置 API 的 AI 写作助手,并完成增量检查、问题列表、Quick Fix、LaTeX 正文保护和持久恢复的安全收口。
AI 写作助手
- 支持 DeepSeek Chat Completions 与 OpenAI Responses 两个 Provider:DeepSeek 默认 Base URL 为
https://api.deepseek.com,请求{Base URL}/chat/completions;OpenAI 默认 Base URL 为https://api.openai.com/v1,请求{Base URL}/responses与 Structured Outputs。两者都可配置兼容的自定义 Base URL,但不会跨协议回退。 - 提供停止键入后的近实时句子检查、手动段落/选区检查、整篇分段检查、安全改写,以及可单独关闭的词语/句子行内补全。模型建议使用简体中文说明,replacement 保持论文原语言。
- 编辑器使用无音频装饰线和 TeXLeaf 专用 Hover;活动栏“AI 写作问题”列表按行号集中展示类别、真实严重性、原文、替换与解释。Hover、灯泡 Quick Fix、问题树和确认后的“应用全部”都在写入前重新校验当前版本、问题身份、范围与 exact
original。 - 点击列表条目会给对应正文叠加主题自适应背景和轮廓,不移动主光标,也不发布原生 Diagnostic。AI 问题不会重复进入 Problems,不会由 TeXLeaf 触发 Error/Warning accessibility signal 或播放音效。
- Windows 微软拼音中文模式可能优先占用
Ctrl+.切换标点;现在可直接点击 Hover 中的“应用这条建议”,也可使用F1/ Command Palette、右键或灯泡。TeXLeaf 不接管系统输入法或新增全局快捷键。
增量检查与问题恢复
- 编辑一句时只让实际编辑及累计待复检范围内的问题失效;同一句和全文其他仍逐字成立的问题继续保留并安全平移。句号/空行 split/merge、多处编辑、零宽边界与中文无空格分句均纳入调度。
- 自动检查有防抖、取消和去重,每批最多处理 8 个改动句子,每个文档版本最多请求 64 个不同句子;手动整篇检查每次最多 32 个正文段。每句/段成功后立即合并,后续请求失败不会回滚已得到的结果。
- 安全平移的问题保留稳定 lineage ID,刷新前已经显示的树节点或 Quick Fix 仍可重新验证并应用。真正失效的旧节点只刷新列表并显示短状态栏提示,不弹通知、不播放音效。
- 应用建议后,对应装饰线、Hover、树项和本机缓存立即消费;词尾追加造成的截短旧建议会被在线校验和缓存恢复共同拒绝。
- 已通过校验的问题可在通常的单扩展宿主使用中,从当前 Profile/扩展宿主的私有
globalStorage跨文档关闭和 VS Code 重启恢复。缓存不写工作区、不进入 Settings Sync、不保存论文全文;只有完整源码长度与 SHA-256 完全一致时才按原 offset 逐条恢复,外部改动或单条校验失败会 fail closed。写入使用防抖、同目录临时文件和 rename,是 Profile-local 的 best-effort 快照,不承诺跨窗口事务或强 CAS。
LaTeX 与响应安全
- 发送前在本地遮罩注释、citation、label、URL、文件路径、代码/未知环境和未知宏参数;数学源码替换成受保护、不可编辑、与源码 UTF-16 等长的 inline/display 语义占位符。模型可以理解公式在句中的语法位置,但看不到公式内容,也不能修改占位符。
- 支持安全解释模型按 UTF-16、Unicode code point、UTF-8 byte 或 CRLF 换行计数返回的常见 offset 差异;只有能逐字、无歧义定位到同一源码范围的非空
original才会进入界面。单条坏建议被丢弃,重复项去重,重叠冲突组整组拒绝,其他独立有效建议继续保留。 - DeepSeek 空 content 或非法 JSON 最多自动重试一次,并只接受纯 JSON 或恰好一层完整
jsonfence;OpenAI 使用 Responses Structured Outputs。错误和日志只暴露脱敏分类/安全子码,不记录 API Key、论文正文、原始响应或服务端任意错误正文。
配置、同步与凭据隔离
- 用户可见设置现为 52 项,其中“TeXLeaf · AI 写作”精确包含 14 项。全部
texleaf.aiWriting.*设置都是 application 级用户/Profile 配置,可随普通 VS Code Settings Sync 同步;工作区、工作区文件夹和.vscode/settings.json不能开启 AI、重定向 Base URL、切换 Provider/模型,或改变防抖和发送长度等费用相关参数。 - API Key 只保存在当前扩展环境的 SecretStorage,不随 Settings Sync 跨设备复制。每个规范化 DeepSeek/OpenAI Base URL 都使用独立 Key 和正文传输 consent;默认 DeepSeek 官方地址继续兼容旧版
v1Key/consent,自定义 DeepSeek 地址绝不会复用官方凭据,OpenAI 各地址与两个 Provider 之间也互不复用。 - 远程 Base URL 必须使用 HTTPS;HTTP 只允许
localhost、127.0.0.1与[::1]。拒绝 URL credentials、query、fragment、主机名尾随点和路径已经以对应 endpoint 结尾的地址;请求不跟随 HTTP 重定向。 - AI 总开关默认关闭。联网还要求受信任工作区、已有路径的本地/Remote
.tex、当前目标 consent 和对应 SecretStorage Key;.bib、Untitled、Git/其他虚拟 URI 与未信任窗口不会发送正文。ChatGPT Plus/Pro/Codex 订阅与 OpenAI API、DeepSeek API 或第三方代理分别授权和计费。
升级提示
- 如果此前把 AI 配置写在工作区或
.vscode/settings.json,请移到 VS Code 用户设置或目标 Profile;0.8.9 有意忽略工作区级 AI 值。 - 使用默认 DeepSeek 官方地址的既有
v1Key/consent 可继续使用;首次切换到自定义 DeepSeek/OpenAI 地址时,需要针对该规范化目标重新确认并设置 Key。 - 支持 Windows、macOS 和 Linux 上的 VS Code
1.98+。可以从 Visual Studio Marketplace 安装,也可以下载本 Release 的texleaf-0.8.9.vsix后运行 Extensions: Install from VSIX...。
完整说明见 README、Wiki、AI 写作助手 与 CHANGELOG。
校验
texleaf-0.8.9.vsix- SHA-256:
B1BF078D97B7678B5B668935330B8F02B91A2AEF248585754A6B85CD2739932C - 大小: 4050137 bytes