Releases: zhangxh-math/texleaf
Releases · zhangxh-math/texleaf
Release list
TeXLeaf 0.8.11
TeXLeaf 0.8.11 在 0.7.2 的片段、Zotero 引用与 Math Preview 基础上,加入了默认关闭、由用户自行配置 API 的 AI 写作助手,并完成增量检查、问题列表、Quick Fix、LaTeX 正文保护和持久恢复的安全收口。本版同时改善了 Suggest/Tabout 竞争、自动放大括号后的光标位置,以及持续输入时 Math Preview 每键闪烁的问题。
0.8.10–0.8.11 编辑体验修复
- 原生 Suggest 只返回与当前输入具有非空 trigger 前缀匹配的 TeXLeaf 片段;存在真实 Tabout 目标时
Tab优先跳出,否则仍接受 VS Code 当前所选建议。活动 Snippet Session、Inline Suggest、Rename 与 Matrix 的既有优先级保持不变。 - 无显式 tabstop 的普通片段触发整对括号自动放大时,光标会恢复到生成的
\right前。例如(sum)得到\left(\sum|\right),可以继续输入;刚停在\sum后按Tab时,既有 sum-limits 手动片段仍有意优先。 - Math Preview 的
cursor/both模式使用 last-known-good(stale-while-revalidate):防抖和 Worker 渲染期间保留旧帧,再用单一稳定 decoration 原位替换;临时失败有 750 ms 宽限,Hover SVG 仅在真正请求时写盘。真实 Monaco CDP 回归在连续输入、失败恢复和换帧期间未观察到空白帧或双帧。
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.11.vsix后运行 Extensions: Install from VSIX...。
完整说明见 README、Wiki、AI 写作助手 与 CHANGELOG。
校验
texleaf-0.8.11.vsix- SHA-256:
ABC8CAA3F39E3B80D78BFB9B4B92409EE652034EF07548CF062200D41AF93D09 - 大小: 4055452 bytes
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
TeXLeaf 0.7.1
TeXLeaf 0.7.1 是一次界面与发布质量收口版本,继续围绕三个核心部分:片段、文献和预览。
主要变化
- 引用补全左侧继续以题目为主;右侧去除重复的作者/期刊/年份汇总,只保留一组分字段详情,并保留
Citation key。 - Snippet 与 TeX 模板管理器重新排版:字段、说明和输入控件对齐,窄编辑区自动切为单列。
- VS Code Settings 只保留
TeXLeaf · 片段、TeXLeaf · 文献、TeXLeaf · 预览三组。 - 中文、英文 article 模板默认参考文献样式从
plain改为alpha。 - README 与 Wiki 按三大功能重写,补充 Windows/macOS/Linux、Zotero、Math Preview、管理器、排错和开发发布说明。
平台与内容
- 支持 VS Code 1.98+ 桌面版;运行时不含平台原生模块,适用于 Windows、macOS(Intel/Apple Silicon)和 Linux。
- VSIX 只包含运行 bundle、四个出厂模板、文档、图标、schema 和许可证;源码仓库不提交 VSIX 或其他平台二进制。
- macOS 代码审计已通过;Mac 实机安装、Zotero loopback 与主题渲染验收清单见 Wiki。
完整说明见 README、Wiki 与 CHANGELOG。
校验
texleaf-0.7.1.vsix- SHA-256:
43492ED92AC5E3434DC306E6C95B20ED94F8B8749E4662A50E1D86BEBA920BF3 - 大小: 3954758 bytes
TeXLeaf 0.3.0
TeXLeaf 0.3.0
首个公开源码版本,提供可编辑的单一全局片段库、199 条默认规则、安全恢复、VS Code Settings Sync 镜像,以及完整的 LaTeX 编辑辅助。
主要内容
- 全部默认片段直接写入全局 JSONC,运行时不再区分隐藏内置片段和用户片段。
- 新增“一键恢复默认片段”,覆盖前自动创建逐字节备份。
- 新增 Settings Sync 镜像及三方冲突保护。
- 修复
Qhat → \hat{Q}以及同类重音后缀优先级。 - 包含自动分式、align/矩阵快捷键、Tabout、Visual snippets、括号着色与 IME 修复。
- 编辑功能仅在已保存的
.tex和.bib文件中生效。
安装
下载 texleaf-0.3.0.vsix,在 VS Code 扩展视图右上角选择 Install from VSIX...,安装后执行 Developer: Reload Window。
也可以运行:
code --install-extension texleaf-0.3.0.vsix --force文件校验
- SHA-256:
5223ED41811CF9D7AEE54A6DC94961D99EB28EA313DBE0B0BEA65FA985256386 - 文件大小: 138,806 bytes