Skip to content

Releases: zhangxh-math/texleaf

TeXLeaf 0.8.11

Choose a tag to compare

@zhangxh-math zhangxh-math released this 17 Aug 10:37

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 或恰好一层完整 json fence;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 官方地址继续兼容旧版 v1 Key/consent,自定义 DeepSeek 地址绝不会复用官方凭据,OpenAI 各地址与两个 Provider 之间也互不复用。
  • 远程 Base URL 必须使用 HTTPS;HTTP 只允许 localhost127.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 官方地址的既有 v1 Key/consent 可继续使用;首次切换到自定义 DeepSeek/OpenAI 地址时,需要针对该规范化目标重新确认并设置 Key。
  • 支持 Windows、macOS 和 Linux 上的 VS Code 1.98+。可以从 Visual Studio Marketplace 安装,也可以下载本 Release 的 texleaf-0.8.11.vsix 后运行 Extensions: Install from VSIX...

完整说明见 READMEWikiAI 写作助手CHANGELOG

校验

  • texleaf-0.8.11.vsix
  • SHA-256: ABC8CAA3F39E3B80D78BFB9B4B92409EE652034EF07548CF062200D41AF93D09
  • 大小: 4055452 bytes

TeXLeaf 0.8.9

Choose a tag to compare

@zhangxh-math zhangxh-math released this 17 Aug 05:32

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 或恰好一层完整 json fence;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 官方地址继续兼容旧版 v1 Key/consent,自定义 DeepSeek 地址绝不会复用官方凭据,OpenAI 各地址与两个 Provider 之间也互不复用。
  • 远程 Base URL 必须使用 HTTPS;HTTP 只允许 localhost127.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 官方地址的既有 v1 Key/consent 可继续使用;首次切换到自定义 DeepSeek/OpenAI 地址时,需要针对该规范化目标重新确认并设置 Key。
  • 支持 Windows、macOS 和 Linux 上的 VS Code 1.98+。可以从 Visual Studio Marketplace 安装,也可以下载本 Release 的 texleaf-0.8.9.vsix 后运行 Extensions: Install from VSIX...

完整说明见 READMEWikiAI 写作助手CHANGELOG

校验

  • texleaf-0.8.9.vsix
  • SHA-256: B1BF078D97B7678B5B668935330B8F02B91A2AEF248585754A6B85CD2739932C
  • 大小: 4050137 bytes

TeXLeaf 0.7.1

Choose a tag to compare

@zhangxh-math zhangxh-math released this 16 Aug 04:02

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。

完整说明见 READMEWikiCHANGELOG

校验

  • texleaf-0.7.1.vsix
  • SHA-256: 43492ED92AC5E3434DC306E6C95B20ED94F8B8749E4662A50E1D86BEBA920BF3
  • 大小: 3954758 bytes

TeXLeaf 0.3.0

Choose a tag to compare

@zhangxh-math zhangxh-math released this 15 Aug 11:56

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