Skip to content

v3.35.0 — 表格原生预览与附件路径句柄、TUI 全高视口

Choose a tag to compare

@huiliyi37 huiliyi37 released this 21 Oct 23:56
· 301 commits to main since this release

安装指南 · Installation

本段落随每个版本发布,嵌在 Release 正文顶部。完整安装与平台说明见 docs/guides/installation.md(含 Android Termux、源码构建、Shell 补全、自动更新)。

This section is published with every release. For the full installation & platform guide (Android Termux, building from source, shell completions, auto-update), see docs/guides/installation.md.

下载哪个文件 · Which file to download

按平台与 CPU 架构选(不确定架构?mac 点左上角苹果菜单「关于本机」;Windows 设置 → 系统 → 系统信息;Linux 终端 uname -m):

平台 文件 说明
macOS Apple Silicon(M1/M2/M3/M4) Tianshu_3.35.0_aarch64.dmg 多数现代 Mac
macOS Intel Tianshu_3.35.0_x64.dmg 2020 前的 Intel Mac
Windows 10(1809+)/ 11 x64 Tianshu_3.35.0_x64-setup.exe 安装向导,自带 WebView2 离线安装包
Linux x86_64 Tianshu_3.35.0_amd64.AppImage 免安装
Linux ARM64(树莓派 64 位等) Tianshu_3.35.0_aarch64.AppImage 免安装

CLI 用户也可 npm install -g tianshu-harness(需 Node.js ≥ 24),或用一键安装脚本。

macOS 安装步骤

  1. 下载 .dmg 并双击打开,把 Tianshu 拖入「应用程序」文件夹

  2. 首次打开:本包为 ad-hoc 签名、未经 Apple 公证,浏览器下载后首次双击会报「已损坏,无法打开」或「无法验证开发者」。拖入应用程序后,在终端执行一次(移除下载隔离属性):

    xattr -cr /Applications/Tianshu.app
  3. 之后正常双击启动。若仍被拦:右键 App → 「打开」→ 再点「打开」,或系统设置 → 隐私与安全性 → 底部点「仍要打开」

  4. 应用内自动更新不受 Gatekeeper 影响——只需首次手动放行

Windows 安装步骤

  1. 下载 Tianshu_3.35.0_x64-setup.exe,双击运行,按向导完成安装
  2. 界面依赖 WebView2 Runtime——3.5.3 起安装器已内嵌离线安装包,通常无需额外操作
  3. 窗口完全打不开时:开始菜单「修复 WebView2」,或从本 Release 底部 windows-repair 目录双击 repair-webview2.cmd,或手动安装 WebView2 离线安装包 后重启

Linux 安装步骤

  1. 按架构下载 AppImage,加执行权限后直接运行:

    chmod +x Tianshu_*_amd64.AppImage   # ARM 设备换成 _aarch64
    ./Tianshu_*_amd64.AppImage
  2. 依赖:glibc ≥ 2.35(Ubuntu 22.04+ / Debian 12+ 等主流发行版)与系统图形栈 libwebkit2gtk-4.1.so.0 + libgtk-3.so.0——多数桌面发行版已自带;精简/服务器版需按发行版安装 webkit2gtk 4.1,缺库时 ldd Tianshu_*.AppImage 自查

  3. 推荐 X11 会话(Wayland 尚未验证)

常见问题

  • mac 提示「已损坏」:见上方 macOS 步骤 2 的 xattr 命令——这是 Gatekeeper 对未公证下载包的标准行为,不是包真坏了
  • Windows 装完提示 rivet 无法识别:新开一个终端(旧终端的 PATH 是装 Node 之前快照的)
  • Linux AppImage 双击无反应:先确认执行权限(chmod +x),再 ldd 查缺库
  • 自动更新:桌面端应用内自动更新(mac Gatekeeper 仅影响首次手动安装);已安装用户无需每版重下

v3.35.0 — 表格原生预览与附件路径句柄、TUI 全高视口

日期:2026-10-21
上一版本:v3.34.1(稳定通道)

本版说明

本版主轴是文件与图片的真实可用性:桌面端打开 Excel 表格不再是乱码(SheetJS 原生渲染),发文档给 agent 时原文随消息落盘并带路径句柄(agent 不再全盘搜索),图片进模型历史前统一按字节归一格式(一张 bmp/坏图不再把会话每轮请求毒化成 400)。TUI 侧收编社区贡献的 classic 全高视口(PR #528),指令摘要钉在窗口顶部、窗口缩放后输入区保持贴底。

内容清单

  • 桌面端表格原生预览(主打):
    • 文件列表 / 会话附件直接预览 xlsx/xls/ods:SheetJS 纯前端解析,多工作表标签页、A/B/C 列字母与行号、500 行 × 50 列截断提示,不依赖 LibreOffice。
    • 演示文稿(pptx/ppt/odp)仍走 LibreOffice 转 PDF;缺装时不再只有一句提示——按平台给一行可复制的安装命令(brew/winget/apt)+ 官网下载入口,装完点「重试」即出预览。
    • 「打开方式」菜单对表格提供应用内预览项(此前只能跳系统应用)。
  • 文档附件路径句柄:
    • 发送 xlsx/docx 等文档时,原文按内容寻址落盘(sha256 幂等、原子发布、只读副本)并随消息注入句柄——Saved verbatim at: <路径>;agent 可直接 read_file 读原文件,不再凭文件名全盘 find。提取文本仍前置注入,原文件路径是有损提取的兜底。
    • read_file 接通表格/演示文稿族(xlsx/xls/ods/ppt/pptx/odp):走 doc-extract 引擎链(exceljs 等)输出表格文本,此前会把 zip 容器当纯文本读成乱码。
    • 纯附件无文字发送时,气泡占位文案按附件构成显示「(图片)/(文档)/(压缩包)/(附件)」,不再一律「(图片)」。
  • 图片格式全链归一(修复会话毒化):
    • 图片进模型历史一律按字节 magic 归一:bmp 自动转 PNG(模型仍可见)、声明与字节不符以字节为准修正、tiff/坏图定点换占位文本。
    • 上线前兜底闸:每个请求发出前定点清除不识格式,首轮即生效——DeepSeek「unsupported image」整请求 400 绝迹;剥图经通知告知,不再静默。
  • TUI classic 全高视口(收编 PR #528,感谢 @yq04):
    • 指令摘要(› 执行中/上一轮)钉在终端窗口顶部;窗口高度/宽度变化后从 (1,1) 重锚整帧,输入区保持贴底;修复 caret 消失被「内容未变化」短路吞掉的光标滞留。
    • /clear 与会话切换只清显示边界、不动 pager 历史;退出时恢复 shell 底行光标;读屏模式保留紧凑输出。
  • 生态与修复:
    • ChatGPT 桥新增 Tianshu MCP server(MCP 客户端可直接挂接天枢能力)。
    • 公开仓 README 重新设计收编(PR #527)与死链兜底(同步白名单补齐 + 守卫测试)。
    • worker 续跑与测试门禁修复;快照 worktree 继承 ripgrep 工具路径。

已知限制

  • 表格预览为「预览定位」:超 500 行 × 50 列截断,合并单元格/样式/图表不还原;完整内容请用系统应用打开。
  • TUI 全高视口已经模拟终端全量回归(3473 项),真实 Windows Terminal / ConHost 的缩放视觉验收建议发版后实地确认。