Node 版本是硬门槛,22/23/25/27 及低于 24.22.1 的 24.x 会被启动闸门拒绝;从旧包 tianshu-tui 迁移会因 rivet 命令链接冲突报 EEXIST,需先 npm uninstall -g tianshu-tui;首次启动需在 /connect 向导里选服务商并粘贴 API Key。
Tianshu-harness
huiliyi37Apache-2.0活跃维护天枢是一个终端编程智能体,通过认知执行环境(CVM)把目标、状态、证据和权限从对话历史中外部化,让模型稳定交付、验证闭环,并针对 DeepSeek V4 深度优化。
天枢harness是一个的终端编程智能体,它要回答的核心问题是:模型何以稳定地交付——目标不漂移、完成有证据、验证有闭环,不说"应该修好了"。为此它在模型与真实世界之间建立一层认知执行环境(CVM),把目标、状态、证据、资源、权限与终止条件从对话历史中外部化,由运行时持续管理。同时对deepseek v4极度优化。
npm install -g tianshu-harness
tianshuREADME 未说明显存或 GPU 要求;终端 CLI 需 Node.js 24.22.1+ 或 26.12.1+,桌面端自带运行时无需 Node。
给编程智能体加一层确定性运行时,让目标不漂移、完成有证据、验证有闭环
天枢是一个终端编程智能体,通过认知执行环境(CVM)把目标、状态、证据和权限从对话历史中外部化,让模型稳定交付、验证闭环,并针对 DeepSeek V4 深度优化。
核心能力
- 用 TaskContract 把目标、范围与成功标准交给运行时持有
- deliver_task 交付门按证据给出 RED/YELLOW/GREEN 并拦截不合格提交
- 75 个 hook 模块在回合五阶段做收敛与空转检测
- 前缀缓存优先设计,冻结前缀只追加增量
- 多代理编排:scout 侦察、team 并行施工、council 会诊
容易踩的坑
- v4.0.4最新正式版2026-11-06 · 2026-11-06 01:52 UTC
安装指南 · 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_4.0.4_aarch64.dmg多数现代 Mac macOS Intel Tianshu_4.0.4_x64.dmg2020 前的 Intel Mac Windows 10(1809+)/ 11 x64 Tianshu_4.0.4_x64-setup.exe安装向导,自带 WebView2 离线安装包 Linux x86_64 Tianshu_4.0.4_amd64.AppImage免安装 Linux ARM64(树莓派 64 位等) Tianshu_4.0.4_aarch64.AppImage免安装 CLI 用户也可
npm install -g tianshu-harness(需 Node.js ≥ 24),或用一键安装脚本。macOS 安装步骤
-
下载
.dmg并双击打开,把 Tianshu 拖入「应用程序」文件夹从 4.0.2 或更早版本手动升级的,拖之前先看下文「macOS:升级前先把数据移出应用包」一节:数据还在应用包里时,先迁出再替换。
-
首次打开:本包为 ad-hoc 签名、未经 Apple 公证,浏览器下载后首次双击会报「已损坏,无法打开」或「无法验证开发者」。拖入应用程序后,在终端执行一次(移除下载隔离属性):
xattr -cr /Applications/Tianshu.app -
之后正常双击启动。若仍被拦:右键 App → 「打开」→ 再点「打开」,或系统设置 → 隐私与安全性 → 底部点「仍要打开」
-
应用内自动更新不受 Gatekeeper 影响——只需首次手动放行
Windows 安装步骤
- 下载
Tianshu_4.0.4_x64-setup.exe,双击运行,按向导完成安装 - 界面依赖 WebView2 Runtime——3.5.3 起安装器已内嵌离线安装包,通常无需额外操作
- 窗口完全打不开时:开始菜单「修复 WebView2」,或手动安装 WebView2 离线安装包 后重启
Linux 安装步骤
-
按架构下载 AppImage,加执行权限后直接运行:
chmod +x Tianshu_*_amd64.AppImage # ARM 设备换成 _aarch64 ./Tianshu_*_amd64.AppImage -
依赖:glibc ≥ 2.35(Ubuntu 22.04+ / Debian 12+ 等主流发行版),以及系统里的
libwebkit2gtk-4.1、libgtk-3和托盘库libayatana-appindicator3。缺了的话,Ubuntu / Debian 用sudo apt install libwebkit2gtk-4.1-0 libayatana-appindicator3-1装齐 -
推荐 X11 会话(Wayland 尚未验证)
常见问题
- mac 提示「已损坏」:见上方 macOS 步骤 2 的
xattr命令——这是 Gatekeeper 对未公证下载包的标准行为,不是包真坏了 - Windows 装完提示
rivet 无法识别:新开一个终端(旧终端的 PATH 是装 Node 之前快照的) - Linux AppImage 双击没反应:先确认执行权限(
chmod +x),再从终端运行,看报错。报错里有「Failed to load ayatana-appindicator3」,就是缺托盘库,Ubuntu / Debian 用sudo apt install libayatana-appindicator3-1 - Linux AppImage 提示「Cannot mount AppImage, please check your FUSE setup」:先装 fuse3(Ubuntu / Debian:
sudo apt install fuse3)。不要改用--appimage-extract-and-run,原因见文末已知问题。 - 自动更新:桌面端应用内自动更新(mac Gatekeeper 仅影响首次手动安装);已安装用户无需每版重下
v4.0.4 — Windows 自愈、目标续跑与服务商修复
日期:2026-11-06 上一版本:v4.0.2(4.0.3 只发过候选版,没有推送给正式版用户)
本版说明
修复 4.0.2 之后用户和公开镜像报告的问题:Windows 上安装失败、启动卡住、强退后打不开、运行文件被杀毒软件隔离后不知道原因;macOS 上不在「应用程序」里运行时,更新会把数据连同旧应用包一起删掉;目标模式中途停下来问要不要继续;移除的服务商加不回来;OpenCode 上的 DeepSeek 调不了推理强度。修复都没有删减功能。
4.0.4 包含 4.0.3 候选版的全部修复,另外修好了 4.0.3 候选版的一个打包问题:Intel Mac 用的 x64 包里漏了内置的 Node 运行时,装上后本地服务起不来。正式版用户从 4.0.2 直接更新到 4.0.4 即可。
macOS:升级前先把数据移出应用包
谁受影响:用 4.0.2 及更早版本、而且不在「应用程序」文件夹里运行天枢的 mac 用户。「应用程序」文件夹指访达边栏里的那个,即 /Applications。比如把 Tianshu.app 放在「下载」「桌面」,或个人文件夹下的「应用程序」(~/Applications)里,都算受影响。这时天枢把数据存在应用包里面。应用内更新,或者从 DMG 拖拽「替换」,都会把旧应用包连同里面的数据一起删掉,不进废纸篓。
还有两种情况也一样:
- 在「设置 → 存储」里选过「便携位置(应用同目录)」的,不管装在哪里。
- 先在别处运行过、后来才挪进「应用程序」的,数据可能还在包里。
一直在「应用程序」里运行、没选过便携位置的用户不受影响,新安装 4.0.4 的也不受影响。从 4.0.4 起,天枢不再把数据存在应用包里,以后的更新不会再这样删数据。
怎么判断:
- 打开「设置 → 存储」,看页面上显示的数据路径。路径里有
Tianshu.app/Contents/MacOS/TianshuData,就是受影响。 - 也可以在访达里右键 Tianshu.app,选「显示包内容」,看 Contents → MacOS 里有没有 TianshuData 文件夹。
- 已经按下面的步骤换成自定义文件夹的,包里留的是迁移前的旧副本,没有影响,可以直接更新。
升级前怎么迁出(在 4.0.2 上做):
- 停掉正在运行的任务。
- 在访达里选「前往 → 个人」,新建一个空文件夹,比如「TianshuData」。不要建在「文稿」「桌面」「下载」里。
- 在天枢里打开「设置 → 存储」,选「自定义文件夹」,点「选择…」选中刚建的文件夹。勾选「将现有数据迁移到新位置」,点「应用并重启」。
- 重启后回到「设置 → 存储」,确认用的是新文件夹,会话列表里的会话都在。
- 再更新到 4.0
-
- v4.0.3v4.0.3(已撤回)pre-release2026-11-05 · 2026-11-05 21:52 UTC
查看更新说明
4.0.3 已撤回,请改用 v4.0.4。
4.0.3 has been withdrawn. Please use v4.0.4 instead.
安装指南 · 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_4.0.3_aarch64.dmg多数现代 Mac macOS Intel Tianshu_4.0.3_x64.dmg2020 前的 Intel Mac Windows 10(1809+)/ 11 x64 Tianshu_4.0.3_x64-setup.exe安装向导,自带 WebView2 离线安装包 Linux x86_64 Tianshu_4.0.3_amd64.AppImage免安装 Linux ARM64(树莓派 64 位等) Tianshu_4.0.3_aarch64.AppImage免安装 CLI 用户也可
npm install -g tianshu-harness(需 Node.js ≥ 24),或用一键安装脚本。macOS 安装步骤
-
下载
.dmg并双击打开,把 Tianshu 拖入「应用程序」文件夹从 4.0.2 或更早版本手动升级的,拖之前先看下文「macOS:升级前先把数据移出应用包」一节:数据还在应用包里时,先迁出再替换。
-
首次打开:本包为 ad-hoc 签名、未经 Apple 公证,浏览器下载后首次双击会报「已损坏,无法打开」或「无法验证开发者」。拖入应用程序后,在终端执行一次(移除下载隔离属性):
xattr -cr /Applications/Tianshu.app -
之后正常双击启动。若仍被拦:右键 App → 「打开」→ 再点「打开」,或系统设置 → 隐私与安全性 → 底部点「仍要打开」
-
应用内自动更新不受 Gatekeeper 影响——只需首次手动放行
Windows 安装步骤
- 下载
Tianshu_4.0.3_x64-setup.exe,双击运行,按向导完成安装 - 界面依赖 WebView2 Runtime——3.5.3 起安装器已内嵌离线安装包,通常无需额外操作
- 窗口完全打不开时:开始菜单「修复 WebView2」,或手动安装 WebView2 离线安装包 后重启
Linux 安装步骤
-
按架构下载 AppImage,加执行权限后直接运行:
chmod +x Tianshu_*_amd64.AppImage # ARM 设备换成 _aarch64 ./Tianshu_*_amd64.AppImage -
依赖:glibc ≥ 2.35(Ubuntu 22.04+ / Debian 12+ 等主流发行版),以及系统里的
libwebkit2gtk-4.1、libgtk-3和托盘库libayatana-appindicator3。缺了的话,Ubuntu / Debian 用sudo apt install libwebkit2gtk-4.1-0 libayatana-appindicator3-1装齐 -
推荐 X11 会话(Wayland 尚未验证)
常见问题
- mac 提示「已损坏」:见上方 macOS 步骤 2 的
xattr命令——这是 Gatekeeper 对未公证下载包的标准行为,不是包真坏了 - Windows 装完提示
rivet 无法识别:新开一个终端(旧终端的 PATH 是装 Node 之前快照的) - Linux AppImage 双击没反应:先确认执行权限(
chmod +x),再从终端运行,看报错。报错里有「Failed to load ayatana-appindicator3」,就是缺托盘库,Ubuntu / Debian 用sudo apt install libayatana-appindicator3-1 - Linux AppImage 提示「Cannot mount AppImage, please check your FUSE setup」:先装 fuse3(Ubuntu / Debian:
sudo apt install fuse3)。不要改用--appimage-extract-and-run,原因见文末已知问题。 - 自动更新:桌面端应用内自动更新(mac Gatekeeper 仅影响首次手动安装);已安装用户无需每版重下
v4.0.3 — Windows 自愈、目标续跑与服务商修复
日期:2026-11-05 上一版本:v4.0.2
本版说明
修复 4.0.2 之后用户和公开镜像报告的问题:Windows 上安装失败、启动卡住、强退后打不开、运行文件被杀毒软件隔离后不知道原因;macOS 上不在「应用程序」里运行时,更新会把数据连同旧应用包一起删掉;目标模式中途停下来问要不要继续;移除的服务商加不回来;OpenCode 上的 DeepSeek 调不了推理强度。修复都没有删减功能。
macOS:升级前先把数据移出应用包
谁受影响:用 4.0.2 及更早版本、而且不在「应用程序」文件夹里运行天枢的 mac 用户。「应用程序」文件夹指访达边栏里的那个,即 /Applications。比如把 Tianshu.app 放在「下载」「桌面」,或个人文件夹下的「应用程序」(~/Applications)里,都算受影响。这时天枢把数据存在应用包里面。应用内更新,或者从 DMG 拖拽「替换」,都会把旧应用包连同里面的数据一起删掉,不进废纸篓。
还有两种情况也一样:
- 在「设置 → 存储」里选过「便携位置(应用同目录)」的,不管装在哪里。
- 先在别处运行过、后来才挪进「应用程序」的,数据可能还在包里。
一直在「应用程序」里运行、没选过便携位置的用户不受影响,新安装 4.0.3 的也不受影响。从 4.0.3 起,天枢不再把数据存在应用包里,以后的更新不会再这样删数据。
怎么判断:
- 打开「设置 → 存储」,看页面上显示的数据路径。路径里有
Tianshu.app/Contents/MacOS/TianshuData,就是受影响。 - 也可以在访达里右键 Tianshu.app,选「显示包内容」,看 Contents → MacOS 里有没有 TianshuData 文件夹。
- 已经按下面的步骤换成自定义文件夹的,包里留的是迁移前的旧副本,没有影响,可以直接更新。
升级前怎么迁出(在 4.0.2 上做):
- 停掉正在运行的任务。
- 在访达里选「前往 → 个人」,新建一个空文件夹,比如「TianshuData」。不要建在「文稿」「桌面」「下载」里。
- 在天枢里打开「设置 → 存储」,选「自定义文件夹」,点「选择…」选中刚建的文件夹。勾选「将现有数据迁移到
-
- v4.0.2v4.0.2 — Windows 体验与稳定性修复2026-11-04 · 2026-11-04 12:27 UTC
查看更新说明
v4.0.2 — Windows 体验与稳定性修复
日期:2026-11-04 上一版本:v4.0.1
本版说明
macOS:暂未 Apple 公证。首次打开提示「已损坏」时,拖进「应用程序」后执行一次 xattr -cr /Applications/Tianshu.app。应用内自动更新不受影响。
集中修复 4.0.1 上线后用户反馈的问题:Windows 安装器的弹窗与页面重叠、内置浏览器卡顿、动态壁纸被卡住、登录后反复检测账号导致卡顿,以及生成中无法切换模型、余额不显示等。所有修复都没有删减功能或降低画质。
内容清单
安装器(Windows)
- 「用户协议」「安装记录」窗口能用 ×、Esc、Alt+F4 和「关闭」按钮关闭;协议全文正常显示,可滚动、可复制。
- 覆盖安装页不再露出英文说明,选项改为「先卸载旧版本再安装」「直接覆盖安装(保留设置)」,底栏文字不再重叠,100%–200% 缩放下都不重叠。
- 完成页与失败页的 ×、Alt+F4 能正常关闭安装器;× 关闭不会启动天枢,只有「打开天枢 →」会启动。安装进行中点 × 会先确认,等安装完成再关闭。
- 覆盖安装后刷新快捷方式与任务栏图标,不再出现任务栏旧图标、托盘新图标并存。
性能(Windows)
- 内置浏览器画面不再越来越卡:推流只保留最新一帧,前端只更新画面本身、不再整页重绘。分辨率与画质不变。
- 天枢运行时不再让 Wallpaper Engine 一类动态壁纸被判定为「有全屏应用」而暂停;桌宠窗口不再抢前台焦点,桌宠功能全部保留。
- 动态背景遇到解码器丢失、休眠唤醒等瞬时故障时自动重试恢复,不再弹出「加载失败」;持续失败时才提示,并提供「重试」。
- 设置里「预览启动动画」能正常播放,三套体验都可预览。
账号与对话
- 登录后不再反复检测账号状态:改为在启动、切回窗口、网络恢复和账号变化时检查,失败自动退避,窗口隐藏时暂停。每个窗口对服务器的请求约降为原来的 1/15。
- 生成或思考中也能打开模型选择,所选模型在本轮结束后生效。
- 账户余额稳定显示:暂时取不到最新值时显示上次的额度,并标注更新时间。
升级说明
- Windows 用户:下载 v4.0.2 安装包覆盖安装即可,账号、配置和会话都会保留;已装 v4.0.1 的也会收到自动更新。
- macOS 用户会通过自动更新收到 v4.0.2。
- v4.0.1v4.0.1 — Windows 启动闪退热修2026-11-03 · 2026-11-03 13:50 UTC
查看更新说明
安装指南 · 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_4.0.1_aarch64.dmg多数现代 Mac macOS Intel Tianshu_4.0.1_x64.dmg2020 前的 Intel Mac Windows 10(1809+)/ 11 x64 Tianshu_4.0.1_x64-setup.exe安装向导,自带 WebView2 离线安装包 Linux x86_64 Tianshu_4.0.1_amd64.AppImage免安装 Linux ARM64(树莓派 64 位等) Tianshu_4.0.1_aarch64.AppImage免安装 CLI 用户也可
npm install -g tianshu-harness(需 Node.js ≥ 24),或用一键安装脚本。macOS 安装步骤
-
下载
.dmg并双击打开,把 Tianshu 拖入「应用程序」文件夹 -
首次打开:本包为 ad-hoc 签名、未经 Apple 公证,浏览器下载后首次双击会报「已损坏,无法打开」或「无法验证开发者」。拖入应用程序后,在终端执行一次(移除下载隔离属性):
xattr -cr /Applications/Tianshu.app -
之后正常双击启动。若仍被拦:右键 App → 「打开」→ 再点「打开」,或系统设置 → 隐私与安全性 → 底部点「仍要打开」
-
应用内自动更新不受 Gatekeeper 影响——只需首次手动放行
Windows 安装步骤
- 下载
Tianshu_4.0.1_x64-setup.exe,双击运行,按向导完成安装 - 界面依赖 WebView2 Runtime——3.5.3 起安装器已内嵌离线安装包,通常无需额外操作
- 窗口完全打不开时:开始菜单「修复 WebView2」,或从本 Release 底部
windows-repair目录双击repair-webview2.cmd,或手动安装 WebView2 离线安装包 后重启
Linux 安装步骤
-
按架构下载 AppImage,加执行权限后直接运行:
chmod +x Tianshu_*_amd64.AppImage # ARM 设备换成 _aarch64 ./Tianshu_*_amd64.AppImage -
依赖:glibc ≥ 2.35(Ubuntu 22.04+ / Debian 12+ 等主流发行版)与系统图形栈
libwebkit2gtk-4.1.so.0+libgtk-3.so.0——多数桌面发行版已自带;精简/服务器版需按发行版安装 webkit2gtk 4.1,缺库时ldd Tianshu_*.AppImage自查 -
推荐 X11 会话(Wayland 尚未验证)
常见问题
- mac 提示「已损坏」:见上方 macOS 步骤 2 的
xattr命令——这是 Gatekeeper 对未公证下载包的标准行为,不是包真坏了 - Windows 装完提示
rivet 无法识别:新开一个终端(旧终端的 PATH 是装 Node 之前快照的) - Linux AppImage 双击无反应:先确认执行权限(
chmod +x),再ldd查缺库 - 自动更新:桌面端应用内自动更新(mac Gatekeeper 仅影响首次手动安装);已安装用户无需每版重下
v4.0.1 — Windows 启动闪退热修
日期:2026-11-03 上一版本:v4.0.0
本版说明
修复 v4.0.0 在 Windows 上一启动就闪退的问题。原因是 Windows 主线程默认只预留 1 MB 栈空间,而 4.0 启动时有一个函数需要约 1.04 MB,导致立即栈溢出。现在把 Windows 主线程栈预留调到 8 MB,与 macOS、Linux 一致。
本次只改了 Windows 的链接参数,功能与 v4.0.0 相同。从后台日志看,闪退发生在读入会话之后,没有发现会话数据损坏。
内容清单
- Windows:主线程栈预留由 1 MB 调到 8 MB,修复启动即闪退。
- macOS 与 Linux 安装包随版本号一并更新,内容与 v4.0.0 相同。
升级说明
- 已装 v4.0.0 的 Windows 用户:直接下载 v4.0.1 安装包覆盖安装即可,账号、配置和会话都会保留。
- macOS 用户会通过自动更新收到 v4.0.1。
-
- v4.0.0v4.0.0 — 桌面端全新外观、长对话治理与双层记忆2026-11-03 · 2026-11-03 11:13 UTC
查看更新说明
安装指南 · 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_4.0.0_aarch64.dmg多数现代 Mac macOS Intel Tianshu_4.0.0_x64.dmg2020 前的 Intel Mac Windows 10(1809+)/ 11 x64 Tianshu_4.0.0_x64-setup.exe安装向导,自带 WebView2 离线安装包 Linux x86_64 Tianshu_4.0.0_amd64.AppImage免安装 Linux ARM64(树莓派 64 位等) Tianshu_4.0.0_aarch64.AppImage免安装 CLI 用户也可
npm install -g tianshu-harness(需 Node.js ≥ 24),或用一键安装脚本。macOS 安装步骤
-
下载
.dmg并双击打开,把 Tianshu 拖入「应用程序」文件夹 -
首次打开:本包为 ad-hoc 签名、未经 Apple 公证,浏览器下载后首次双击会报「已损坏,无法打开」或「无法验证开发者」。拖入应用程序后,在终端执行一次(移除下载隔离属性):
xattr -cr /Applications/Tianshu.app -
之后正常双击启动。若仍被拦:右键 App → 「打开」→ 再点「打开」,或系统设置 → 隐私与安全性 → 底部点「仍要打开」
-
应用内自动更新不受 Gatekeeper 影响——只需首次手动放行
Windows 安装步骤
- 下载
Tianshu_4.0.0_x64-setup.exe,双击运行,按向导完成安装 - 界面依赖 WebView2 Runtime——3.5.3 起安装器已内嵌离线安装包,通常无需额外操作
- 窗口完全打不开时:开始菜单「修复 WebView2」,或从本 Release 底部
windows-repair目录双击repair-webview2.cmd,或手动安装 WebView2 离线安装包 后重启
Linux 安装步骤
-
按架构下载 AppImage,加执行权限后直接运行:
chmod +x Tianshu_*_amd64.AppImage # ARM 设备换成 _aarch64 ./Tianshu_*_amd64.AppImage -
依赖:glibc ≥ 2.35(Ubuntu 22.04+ / Debian 12+ 等主流发行版)与系统图形栈
libwebkit2gtk-4.1.so.0+libgtk-3.so.0——多数桌面发行版已自带;精简/服务器版需按发行版安装 webkit2gtk 4.1,缺库时ldd Tianshu_*.AppImage自查 -
推荐 X11 会话(Wayland 尚未验证)
常见问题
- mac 提示「已损坏」:见上方 macOS 步骤 2 的
xattr命令——这是 Gatekeeper 对未公证下载包的标准行为,不是包真坏了 - Windows 装完提示
rivet 无法识别:新开一个终端(旧终端的 PATH 是装 Node 之前快照的) - Linux AppImage 双击无反应:先确认执行权限(
chmod +x),再ldd查缺库 - 自动更新:桌面端应用内自动更新(mac Gatekeeper 仅影响首次手动安装);已安装用户无需每版重下
v4.0.0 — 桌面端全新外观、长对话治理与双层记忆
日期:2026-11-03 上一版本:v3.37.0
本版说明
4.0 是一次大版本发布。内核行为沿用 v3.37.0 的提交、验证、审查分离契约,在此之上换了一套桌面端的产品面:新的首屏和首次引导,可选的三种主题体验(极简、太一、大肥鱼),配套的开场视频、动态背景和桌宠,以及只用来聊天的共鸣星域。
长对话是这一版的另一条主线。XiaoSi Compress2.0 改写了长对话的整理方式,只在请求真的放不进上下文时才整理一次,并尽量保住已有的前缀缓存。Pro 用户另有 Xiaosi-VERA:整理时对照原文核对检查点,回答结束前核对答复里的引用和验证声称。跨会话的记忆交给新的插件接口 TPI 和内置的双层记忆插件 Xiaosi Axiom,记忆库可以导出成一个本地网页查看。
此外,官方模型与天枢账号的接入在桌面端完整落地,星港论坛可以沿用天枢账号免密登录;macOS 与 Linux 做了真机适配;日常使用中的卡顿做了两轮实测优化。
内容清单
-
桌面端新外观与体验:
- 新的首次引导:七步走完连接模型、选择工作方式和主题体验,目标是把新用户带到发出第一条任务;全域换用新 Logo。
- 主题体验三选一:极简、太一、大肥鱼。太一与大肥鱼带开场视频、动态背景和桌宠,极简保持安静的界面。
- 桌宠可在太一和天琴两个角色间切换,切换后马上生效。
- 新增共鸣星域(Pro):在独立的对话空间里和天琴聊天,只保留对话和联网搜索,不读写文件、不运行命令。
- 新增五套字符动态壁纸,颜色跟随当前主题;切主题、切壁纸改为从点击处圆形展开的过渡。
- 输入框里输入
/theme会打开主题与壁纸选择条,点一下即换。 - 账户菜单重做:主题子菜单与
/theme用同一份清单,用户行旁常驻设置入口;设置页统一成更简洁的结构,并新增「关于」页。
-
会话与输入:
- 首页的对话方式(交接 / 长对话)改成左上角的一枚小胶囊,显示当前所选,点开再换。
- 星域简介从首页卡片收进星域选择浮层,要选星域时才看到,不再占首页位置。
- 点了欢迎页「试试」里的示例句后,输入框不再往上跳。
- 会话页正文两侧新增拖动条,可自由调整正文列宽;消息导航改为右缘刻度条,悬停展开列表。
- 思考过程与工具调用的显示改版;等待批准、断线、分叉、排队、停止等状态在会话头和时间线里的说法统一。
- 输入框有草稿时按 ↑ 只移动光标,空输入框才翻历史;@ 选中文件后接着打字,字之间不再被插入空格。
- 左栏收起时,左缘出现一枚可点的边签,顶栏补上「新建任务」和「需处理」。
-
长对话:Compress2.0 与 Xiaosi-VERA:
- XiaoSi Compress2.0:长对话只在实际请求超过上下文预算时才整理一次历史,平时不改写,减少缓存重建。
- 整理前完整原文先归档,检查点逐条记录要求、决定、待批准事项和下一步;单条格式不对时只丢那一条,不再让整次整理失败。
- 侧问、风险解释和子任务沿用主请求的前缀,DeepSeek 前缀缓存的命中更稳定。
- Xiaosi-VERA(Pro,随 Pro 默认开启):整理检查点时逐条对照原文,编造的路径和标识符会被标注。
- Xiaosi-VERA 在回答结束前核对答复里的带行号引用、测试计数、验证声称和用户原话,发现问题时长对话会打回重做一轮。
- 缓存命中率不再计入整理后的那一次缓存重建,显示处同时给出计入后的数值;账单和费用口径不变。
-
插件与记忆:
-
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
模型的能力上限不等于它的运行行为。同一套权重放进真实工程会话,会被质疑就让步、只照字面执行、让局部信息压过全局目标,或者反复调用工具却没有推进,最后留下一句「应该修好了」。
天枢是一个 TypeScript 编写的编程 agent 运行时,终端 TUI、桌面端和 VS Code 插件共用同一个内核。它在模型和真实世界之间加了一层认知执行环境 CVM(Cognitive Virtual Machine),把目标、状态、证据、权限和终止条件从对话历史里拿出来,交给运行时持续管理:
- 任务契约:每个任务有独立的
TaskContract,记录目标、范围、约束和成功标准。长会话里的目标由运行时持有,不依赖模型「记得」。 - 提交、验证、审查分离的交付:
deliver_task只做归属限定的安全提交——所有权、跨会话冲突、版本一致性不合格就拦下;验证缺口如实披露但不阻断、也不冒充质量背书。定向验证用run_tests(显式范围),独立审查用review_changes或/review。 - 确定性监督外环:75 个运行时 hook 模块分布在一个回合的五个阶段,配合 Sensorium 状态感知与收敛、空转检测,在模型输出与真实动作之间做观测和纠偏。
[!NOTE] 开发代号是 Rivet。CLI 主命令是
tianshu,rivet是同一入口的兼容别名;数据目录仍为~/.rivet。
目录
安装
终端 CLI(Node.js 24.x ≥ 24.22.1 或 26.x ≥ 26.12.1)
npm install -g tianshu-harness
tianshu
看到 〉 提示符即就绪。首次启动会自动打开 /connect 向导,选服务商、粘贴 API Key。
桌面端(无需 Node)
从 Releases 下载:
- macOS 11+:
.dmg,Apple Silicon / Intel - Windows 10 1809+ / 11:
-setup.exe - Linux x86_64 / aarch64:
.AppImage
[!WARNING] Node.js 版本硬门槛(v3.36.0 起):CLI 仅支持 Node 24.22.1+(24.x 线)或 26.12.1+(26.x 线)。 Node 22 / 23 / 25 / 27、24.x < 24.22.1、26.x < 26.12.1 会在启动时被安全闸门拒绝;
/update可能已经装上新包,但新 CLI 仍无法启动。先运行node -v,不满足时用 nvm / fnm / Volta 或 nodejs.org 升级后再安装。node -v # 需要 v24.22.1+ 或 v26.12.1+
# macOS / Linux
bash <(curl -fsSL https://raw.githubusercontent.com/huiliyi37/Tianshu-harness/main/scripts/install-tui.sh)
# Windows(PowerShell)
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/huiliyi37/Tianshu-harness/main/scripts/install-tui.ps1 | iex"
从旧包 tianshu-tui 迁移时会因 rivet 命令链接冲突报 EEXIST,先执行 npm uninstall -g tianshu-tui。一键安装脚本会自动处理。
- macOS:暂未 Apple 公证。首次打开提示「已损坏」时,拖进「应用程序」后执行一次
xattr -cr /Applications/Tianshu.app。应用内自动更新不受影响。 - Windows:界面依赖 WebView2,安装器自带离线包。窗口打不开时用开始菜单里的「修复 WebView2」,或运行 Release 中
windows-repair目录下的repair-webview2.cmd。 - Linux:需要 glibc 2.35+(Ubuntu 22.04+、Debian 12+),以及
libwebkit2gtk-4.1与libgtk-3。推荐 X11 会话,Wayland 尚未验证。chmod +x Tianshu_*.AppImage后直接运行。
Android Termux、源码构建、Shell 补全和自动更新见 安装指南。
第一个任务
先让它只读地认识你的项目,确认读得准,再给一个多步任务:
〉 阅读这个项目,告诉我它的结构、入口在哪、以及一处最值得改进的地方
〉 修复这个项目里第一个失败的测试,并说明根因
它会自己搜索、读文件、改代码、跑测试。默认权限档是自动:低风险动作直接执行,高风险动作停下来问你。做完之后看三处:
| 看哪里 | 看什么 |
|---|---|
| 交付报告 | 交付门状态(GREEN / YELLOW / RED)、改动的文件、跑过的验证、逐条完成度审计 |
/cockpit 驾驶舱 | 8 面板运行时仪表:验证与交付、提醒台账、缓存命中与成本、风险与空转(F4) |
sensorium.jsonl | 每个回合的状态感知与 CVM 判定记录。tianshu logs 列出路径,可用 jq 复算 |
tianshu -p "解释 src/agent/loop.ts" # 单次提示
tianshu --stream-json -p "重构这个模块" # NDJSON 事件流,输出内置脱敏
tianshu --goal "修复所有类型错误" --budget 50 # 目标驱动的自主续跑
参数全表和子命令见 用户手册。
CVM 是怎么工作的
经过指令与偏好对齐的模型,在 agent 场景下会呈现相似的运行时退化,我们称之为 Cognitive Anchor Collapse:一个高显著性的局部信号让策略过度集中,全局目标和后续证据失去权重,行为向这个锚点坍缩。Prompt 是信息,不是状态,它本身也会变成新的锚点,所以这类问题靠写更好的提示词治不了。
CVM 不改权重,也不把模型变成确定性程序,而是在概率认知外面加一层确定性监督。模型在内环里推理和行动,运行时在外环里度量、把关、验证,决定继续、纠偏还是停下:
内环 · 模型认知 reason → decide → act → observe
外环 · 运行时监督 observe → measure → evaluate → gate → verify → continue / correct / halt
| 层 | 机制 | 作用 |
|---|---|---|
| 1 · 信念宪法 | 星域信念块,写入静态提示词 | 零额外推理成本,在分析和建议阶段改变倾向 |
| 2 · Courage Hook | preTurn 阶段,阈值随星域变化 | 检测到连续让步时,注入带义务语义的纠偏指令 |
| 3 · Sensorium | 每回合由已有监控信号计算,不调用 LLM | 感知动量、压力、验证覆盖、复杂度、熟悉度、稳定性六个维度 |
| 4 · RuntimeHookPipeline | 75 个 hook 模块,五个阶段,按会话条件装配 | 收敛与 doom-loop 检测、证据追踪、交付门、编辑失败恢复等 |
| 锚点 | 来源 | 典型表现 |
|---|---|---|
| 词汇锚点 | 训练数据里的词与行为相关性 | 句子里有「修复」,就无视「不要改,只解释」去改代码 |
| 语义锚点 | 局部正确的事实 | 「文件已存在」被当成整个任务的解释中心,拒绝执行 |
| 策略锚点 | RLHF / 偏好训练先验 | 一句「按你的计划执行」,分析阶段的高质量判断就被丢弃 |
| 历史锚点 | 长上下文里的早期结论 | 第 20 轮的新证据被解释成第 3 轮旧假设的附属 |
八条设计原则和开放的研究问题见 CVM:从 Transformer 共享退化到认知运行时,系统分层见 架构总览。
实证
缓存:上下文越长,命中越稳
天枢以前缀缓存优先设计:会话内冻结前缀,只追加增量,压缩只发生在用户回合边界。上图是一个 4.2 小时的真实会话,15 次前缀重建总共只产生 383K cacheCreate,占全部 input 的 0.33%。
| 5 个真实自举会话(2026-08,DeepSeek V4) | 数值 |
|---|---|
| 请求数 / input tokens | 2,001 次 / 6.45 亿 |
| 整体缓存命中率 | 99.3–99.6% |
| 估算成本(刊例价) | 无缓存 ¥879.97 → 实际 ¥19.96,节省 97.7% |
缓存引擎对所有支持前缀缓存的模型生效,目前公开的实测只覆盖 DeepSeek。每个数字都附 jq 复算命令,见 指标观测 harness。
行为:同一套权重,相反的反应
最典型的是 T4。面对「文件已存在」的矛盾,A 组写了 196 行复盘文档后拒绝执行,B 组判断出用户的真实意图,交付了 +162 / −20 行可用代码。
这是一个小样本试点:5 个任务、单一模型、LLM 审查。它也测出了衰减,信念在分析和建议阶段有效,到确认和执行阶段明显减弱,这正是第 3、4 层运行时监督要补的部分。完整数据见 实证报告。
工程
截至 2026-10(v3.37):src/ 约 1,700 个源码文件、35 万行,测试约 2,100 个文件、2.3 万条用例。TypeScript strict,开启 noUncheckedIndexedAccess,事故修复必须附回归测试。口径与里程碑见 工程质量指标。
星域
同一个模型,走进不同的星域,会亮起不同的工作倾向。星域不给模型加新能力,也不限制工具。它把模型本来就有的一面放大,对应 CVM 的第 1、2 层:每个星域有自己的信念块和勇气阈值。人还是那个人,模型还是那个模型。
新会话默认是启明,用 /domain <名字> 切换,/domain auto 按消息内容自动匹配,/domain list 列出全部。每颗星的完整信念与创始记忆见 星域碑文(English)。
更多能力
| 多代理编排 | /scout 只读并行侦察,/team 按文件分波并行施工,/council 多星域会诊只出计划,/galaxy 按维度拆分并做全局审查。详情 |
| 审查与验证分离 | 提交不自动验证也不自动派审查:定向验证 run_tests(空参数只给范围预览),独立审查 review_changes(固定快照、只读 reviewer、发现持久化),交付回执不作质量背书 |
| 前缀缓存引擎 | 冻结前缀、增量附录、Read 去重、resume 缓存继承,/debug cache 诊断命中率与碎裂原因。详情 |
| Plan Mode 与 Goal | 先计划、审批、再执行;/goal 设定跨多轮目标,持续迭代到达成或预算耗尽。详情 |
| 交接与倒带 | /handoff 生成结构化交接文档;双击 Esc 倒带到任一历史点。详情 |
| 项目记忆 | 知识写入 .rivet/knowledge/memory.jsonl;自动注入只带约束类记忆,旧问题显式 recall,不劫持新任务;自动记忆形成为 opt-in(默认关闭)。详情 |
| LSP 集成 | 20+ 种语言服务器,跳转定义与查找引用作为 agent 工具,编辑后的诊断自动回注。本机装了才启用 |
| MCP 与 Skills | 接入外部工具服务器;可复用的工作流剧本,渐进披露,tianshu skills 统一管理。详情 |
| 成本控制 | 推理强度自动降档、压缩走轻量模型、峰谷计价提醒,/usage 查看本地 Token 账本。详情 |
| 自研 TUI | 纯 ANSI 零依赖:GlanceBar 状态栏、流式中 /steer 打断、命令面板、内联图片、受限终端纯文本模式。详情 |
| 桌面端 | 集成终端、主题工作室、本地离线语音输入、手机遥控审批、多会话并发、Windows 下连接 WSL 运行时;自动更新断点续传、来源校验、损坏自恢复。桌面端指南 |
支持的模型
内置 25 项服务商预设,会话内 /model 随时切换,也支持任意 OpenAI 兼容端点(Ollama、vLLM、one-api 中转等)。
多数服务商用 API Key 接入。Codex 走 ChatGPT 订阅 OAuth,Claude 经 cc-switch 代理,Gemini 走原生协议。具体模型 ID、上下文长度、识图与生图、子代理分模型路由见 Provider 配置手册 和 识图能力手册。
权限与安全
会话内用 /permission 管理,只有三档:
| 档位 | 命令 | 行为 |
|---|---|---|
| 监督 | /permission supervise | 每个高风险工具都弹确认 |
| 自动(默认) | /permission auto | 低风险直接执行,高风险确认 |
| 全自动 | /yes · /yolo | 免审批,但自动开启沙箱写边界,可回滚 |
跳过确认不会关闭底层防护:
| 路径边界 | 拒绝 .. 穿越,validatePath 阻止逃逸出工作区 |
| 项目信任门 | 未授信项目不加载 hooks、项目 MCP、项目记忆与技能,用 /trust 管理 |
| 敏感文件 | .env、credentials.* 等禁止读取和提交,落盘密钥使用 AES-256-GCM 信封 |
| 破坏性命令 | rm -rf、force push、DROP / TRUNCATE 需要显式确认 |
| SSRF 防护 | 逐跳 DNS 解析,拦截私有 IP,作用于每一次重定向 |
| 检查点与撤销 | 每回合首次修改前创建 Git 检查点,每次写入前版本化备份 |
完整规则见 权限与沙箱指南。安全漏洞请走 私密报告,不要开公开 issue,详见 SECURITY.md。
文档
使用
- 用户手册:斜杠命令、键位、配置、环境变量、日志
- 安装指南:各平台安装、补全、自动更新
- 桌面端指南:驾驶舱、倒带、主题、语音
- Provider 配置:多服务商、自定义端点、路由
- 权限与沙箱:规则、授权、排障
- 远程访问 · 手机端:遥控审批
- 排障与 FAQ:卡住、429、缓存异常
理念与架构
- CVM 认知运行时:Anchor Collapse、两个控制环、八条原则
- CVM 实证报告:A/B 数据与逐任务对比
- 指标观测 harness:真实会话数据与复算命令
- 架构总览:系统分层与模块职责
- 工程质量指标:规模、测试、里程碑
- 星域碑文:16 个星域的核心信念
- 天枢 3.0 宣言
英文版完整指南与参考速查见 README.en.md,文档中心见 docs/README.md。
参与开发
npm install
npm run typecheck # tsc --noEmit
npm test # node:test,全部用例
npm run build # tsup 打包
node dist/cli/entry.js
| 想做什么 | 从哪里开始 |
|---|---|
| 添加工具 | 在 src/tools/ 实现 ToolDefinition 和 executor,到 src/tools/default-registry.ts 注册,测试放 src/tools/__tests__/ |
| 添加 skill / 命令 / hook | .rivet/skills/*.md、.rivet/commands/*.md(支持 $ARGUMENTS)、HookRegistry 处理器 |
| 项目指令 | 项目根目录的 .rivet.md 会自动注入为项目上下文 |
本仓是开发主仓的同步投影,桌面端与部分高级实现不在本仓。架构地图见 AGENTS.md,贡献流程见 CONTRIBUTING.md 和 EXTERNAL-PRS.md。
社区
- 讨论与提问:GitHub Discussions
- Bug 与功能请求:GitHub Issues,附上
tianshu logs --json的输出能更快定位 - 星港论坛:tianshu.club — 自建社区「天枢星港」,版本讨论、经验分享与长期话题的存档地(Token 台账可选同步展示)
- Discord:天枢 tianshu-harness 官方交流群
- QQ 群:「TUI」,群号
1017892942 - 微信群:扫码加入,二维码 7 天有效,过期请在 Discussions 留言补码
赞助随缘,不会改变 issue 优先级或功能排期。
贡献者
项目创建者与核心开发是 @huiliyi37。天枢官网 Tianshu-Official-Website 由 @jiangsx496 原创开发。外部 PR 经收编流程合入后以 Co-authored-by 署名,完整名单见 CONTRIBUTORS.md。
许可证
代码采用 Apache License 2.0。Copyright 2025-2026 Tianshu Contributors.
以下两篇理论与实证文档例外,采用 CC BY-NC-ND 4.0:可以署名转载原文链接,不得改编、摘编或商用。
致谢
桌面端「自定义壁纸与分区玻璃」的设计参考了 dsh-wallpaper-engine(MIT),功能为天枢独立实现,未引入上游代码,详见 THIRD-PARTY-NOTICES.md。感谢 @elysia395、@YV3507、@yuxilao、@oneincase 作为壁纸引擎渲染的技术顾问提供的指导。