Multi-Project · Multi-Session Agent Workspace

天策Tiance

把能力还原成工具,
把对象还原成文件夹。

一个为「多项目 · 多会话并行」而生的本地 Agent 工作平台。没有黑盒,只有可打开、可替换、可自建的工具与文件;复杂能力被封装成独立个体,而不是藏进菜单深处。

VERSION 0.3.39 TOOLS 51 CATEGORIES 10 DYNAMIC 26 LOCAL-FIRST
INTERFACE STRUCTURE · 非截图
01 / Philosophy

不是功能堆叠,
而是一套可解释的结构。

天策把「AI 能做什么」拆成三个可以被验证的命题:能力是工具,对象是文件,过程可被看见。结构一旦统一,复杂能力就不需要靠黑盒维持。

01

一切能力都是工具调用

Everything is a tool call

没有藏在菜单里的「神秘功能」。文件读写、命令执行、GUI 操作、文档转换、记忆压缩、会话委派——每一个能力都是一个独立工具,有名字、有参数、有权限、有调用记录。

tool.json · schema · permissions · examples
02

一切对象都是文件夹

Everything is a folder

项目是文件夹,会话是文件,工具是文件夹,主题、记忆、角色、经验也都是文件夹。你可以直接用资源管理器打开它们,复制、备份、迁移、审查,而不必经过某个私有数据库。

Data/projects/<uuid>/ · .Tiance · tools
03

一切过程都可被看见

Everything is observable

模型为什么调用这个工具、工具返回了什么、记忆何时被压缩、会话为什么停在 running——这些不是内部实现细节,而是可以展开、检索、复盘的事件与记录。

tool_call_records · session_events · runtime_status
02 / Parallelism

项目不是标签页,
会话不是聊天记录。

天策从一开始就按「多项目 · 多会话」设计:项目有自己的工作区、数据库与工具上下文;会话是可以独立运行、停止、恢复、分支的任务。它们共享同一套前端骨架、会话区与后端服务。

  • A
    项目级隔离每个项目一个文件夹、一个 SQLite 库;目录可以在天策数据目录内,也可以指向你已有的任意目录。
  • B
    会话级并行多个会话可同时运行;生成任务独立于 HTTP 监听器,关掉面板不会杀掉正在执行的任务。
  • C
    统一的三栏骨架项目总览、会话总览、文档标签、AI 面板、工具调用记录,在所有项目类型中保持同一套结构与操作方式。
项目 / 会话运行空闲异常
亚马逊服务器95 sessions
Tiance23 sessions
opencode13 sessions
机器人数字化4 sessions
运行中空闲异常
STRUCTURE · 示意
03 / Tool System

工具不是功能菜单,
是独立个体。

每个工具都是一个标准文件夹:清单、输入输出契约、权限声明、调用示例、独立依赖、测试。它可以被安装、禁用、替换、复制,也可以由你在对话框里一句话生成一个新的。

13 TOOLS

文件与工作区

Files & Workspace
read_file · write_text_file · everything_search · workspace_grep
7 TOOLS

GUI 操作

Desktop GUI
gui_inspect · gui_batch · gui_uia · gui_annotate
7 TOOLS

Git 与协作

Git & GitHub
git_repository · github_pull_request · github_release
6 TOOLS

开发与运行

Runtime
run_command · run_python_script · create_blank_tool
5 TOOLS

AI 协作

Agent Collaboration
interact_ai_conversation · manage_ai_conversations
5 TOOLS

基础工具

Core
manage_memory · execute_dynamic_tool · load_tool_info
3 TOOLS

办公文档

Documents
md2docx · word_document_editor · excel_workbook
2 TOOLS

网络搜索

Web Search
deepseek_official_web_search · network_search
2 TOOLS

文档解析

Parsing
parse_document_mineru_dmx · jianying_transcribe
1 TOOL

图像与设计

Design
theme_designer · 配色、背景与主题包

低频工具,不该稀释注意力。

51 个工具里有 26 个采用动态加载:模型平时只看到一行目录摘要,真正需要时才读取完整参数。按源码里的注入量算法复算,工具定义从 138,108 字符压到 54,902 字符——减少 60.2%。

26/51DYNAMIC TOOLS
-60.2%TOOL DEFINITION SIZE
10CATEGORIES
→
# 常驻上下文
execute_dynamic_tool (统一入口)
load_tool_info (按需读取参数)
 
# 结果
目录摘要常驻 · 完整 schema 按需加载
低频工具不占 token · 不抢注意力
04 / Craft

几只被反复打磨过的工具。

工具系统的价值不在数量,而在几个真正难做对的地方:屏幕上的坐标、文档里的公式、长文档的结构、长音频的时间轴,以及 Agent 之间的协作。

GUI · 7 tools

递归网格 + 比例坐标gui_inspect

把当前屏幕划成规则网格,选中一格就把它变成新的局部视图,再划网格。模型只输出归一化比例坐标,由程序逐级映射回原始像素——不依赖窗口尺寸、分辨率或显示缩放。默认 16 格,可扩到 256 格;zoom 100%–800%。

递归 zoom最多 256 格cell_id 行优先UIA 控件树GUI 锁标注层
MOUSE · KEYBOARD · INSPECT · UIA · ANNOTATE
Documents

Markdown 公式,落成 Word 原生公式md2docx

不是把公式渲染成图片再贴进文档,而是走 LaTeX → MathML → XSLT → OMML 的结构化转换,把公式写进 Word 原生公式层,并做结构校验。表格、图片、模板、脚注也走同一条管线。

OMML公式校验表格布局模板复用轻依赖
MARKDOWN → DOCX · 无损公式
Documents

先定位,再编辑word_document_editor

AI 不需要「猜」文档结构。结构坐标、原文锚点 + 第 N 次出现、公式引用、文档 SHA256 指纹、期望文本校验——五种定位方式组合使用,先拿到可复核的坐标,再对文字、表格与公式做精确修改。

结构坐标原文锚点公式引用SHA256 指纹文本校验
LOCATE · PREVIEW · EDIT · VERIFY
Parsing

整份文档,连同插图一起读懂parse_document_mineru_dmx

MinerU 负责版面、表格与阅读顺序,视觉模型负责补上插图语义。输出 Markdown、图片、结构与元数据,表格里的内嵌图也不会被漏掉。

MinerU视觉补图表格结构page_idx长文档
PDF → MD + IMAGES + STRUCTURE
Parsing

长音频,落到时间轴jianying_transcribe

走剪映云端识别,不需要额外 API Key。长音频按 10 分钟切片并行识别(最多 20 片),输出带时间戳的句子与词级边界,支持 SRT / ASS / JSON / TXT。

无 Key10 分钟切片词级时间戳SRT / ASS最多 20 片
AUDIO → TRANSCRIPT + SUBTITLES
Agent Collaboration

会话之间,可以互相委派interact_ai_conversation

主会话把任务分派给子会话,子会话独立运行、读写自己的工作区、完成后回报。多项目、多会话不只是并列存在,而是可以组成一张协作图。

委派并行回报跨项目桥运行状态
MANAGE · INTERACT · BRIDGE

除此之外,还有 Everything 文件检索、空白工具生成、Excel 工作簿、主题设计、会话历史检索、GitHub 全家桶等 45 个工具。

查看完整工具目录 →
05 / Architecture

三层,一条清晰的责任链。

桌面壳负责窗口与系统集成,前端负责界面与交互,后端负责会话、工具与数据。每一层都可以单独理解、单独替换,不需要先读完整个系统。

LAYER 01桌面壳
PyWebView TianceRemoteGateway · .NET / YARP Launcher Updater 窗口 / 托盘 / 更新
LOCAL HTTP · WEBSOCKET
LAYER 02前端
React 19 TypeScript Vite 多项目工作台 AI 面板 文档标签 主题系统
REST · SSE · EVENT SOCKET
LAYER 03后端
Python · FastAPI 会话运行管理 工具循环 记忆压缩 SQLite 本地文件系统
API
路由与协议REST、SSE、事件套接字、参数校验
SERVICES
业务编排会话、工具、记忆、文档、项目
DOMAIN
领域模型实体、值对象、错误语义
REPOS
数据访问SQLite、事件、消息、运行记录
INFRA
基础设施模型供应商、文件、进程、日志
桌面壳→ 网关 18000→ 后端 18200(仅回环)→ 工具 / 文件 / SQLite
Data Model

数据就在你的磁盘上,
以你熟悉的形式。

不需要导出,也不需要专用客户端。项目、会话、工具、主题、记忆各自有清晰的落盘位置;出问题时可以直接打开看。

Data/
├── projects/            # 每个项目一个工作区
│   └── <uuid>/
│       ├── …你的文件
│       └── .Tiance/
│           └── tiance.db   # 会话 / 消息 / 运行 / 事件
├── tools/               # 每个工具一个文件夹
│   └── <guid>/
│       ├── .tool/         # 契约 / 权限 / 示例
│       └── program/       # 可执行实现
├── themes/              # 主题包
├── memory/              # 长期记忆
├── usage/               # 用量记录
└── logs/                # 运行日志
06 / Transparency

可审计,
不是一句口号。

当 Agent 能操作文件、运行命令、控制桌面时,「它做了什么」必须比「它说了什么」更重要。天策把这些痕迹留在系统里,而不是留在模型的叙述里。

↳

工具调用记录

每次调用都记录工具名、参数、结果、耗时与所属会话,可按会话检索、回放与复盘。

⌘

权限先于执行

每个工具声明自己的权限;需要确认的操作会先询问,禁止的操作不会因为模型坚持而执行。

◫

记忆压缩可见

压缩不是隐藏行为:何时触发、压缩了哪些内容、留下什么摘要,都以系统消息与压缩块呈现。

⌂

数据留在本地

项目、会话、文件、密钥、记忆都在你自己的电脑上;除模型 API 调用外,不经过第三方服务器。

「记忆压缩不是后台偷偷发生的事。它本身就是一条可以展开的系统消息——和工具调用一样,有来源、有时间、有内容。」 Tiance · conversation_memory / memory_compaction
天策应用图标
Get Tiance

把工作台,
放回你自己的电脑。

Windows 桌面端 · 自带运行时 · 本地数据 · 可拆解工具系统。下载通道正在准备中,源码与版本发布已在 GitHub 公开。

CURRENT VERSION 0.3.39 · WINDOWS · LOCAL-FIRST