本页说明你的数据存放在哪里,以及哪些内容会离开你的设备。使用本软件时的责任划分见《TI Agent 使用条款》。
1. 数据保存在本机
本软件没有远程数据库,也不把你的数据上传给开发者。你的对话、资料与各项设置都保存在你的设备上。界面不直接读写数据库与凭据文件,只通过预加载接口请求主进程。
应用数据目录(Electron 的 userData,Windows 上通常是 %APPDATA%\TI Agent)下:
- SQLite 数据库
dela.db:会话索引、邮件与课程等同步数据、笔记与文件的索引、通知、各项设置,以及条款接受记录(哪一份、哪一版的条款,以及接受时间与应用版本)。 - 对话的完整记录:
pi/sessions下的 JSONL 文件,由 Agent 内核写入;数据库里只有这些会话的索引。 - 其他文件:对话中发送的图片与文档附件副本(
chat-media/)、邮件草稿(mail-drafts/)、远端项目的内容镜像(remote-context/),以及旧版数据库的整库备份(dela-legacy-backup.db)。文档副本保留供后续追问,启动时清理没有会话引用的图片与文档;未发送的文档附件在你移除时删除。 - 界面状态:Chromium 的 Local Storage(
userData/Local Storage)里存着侧栏与各面板的折叠状态和宽度、已看过的更新版本、主题与字号、聊天草稿,以及引导步骤与你的同意标记。 - 你主动导出的备份:在条款接受页选择位置后,主进程把应用数据、工作目录与你自己的 Skill 复制过去(跳过可再生的 Chromium 缓存,数据库取一致快照)。这是一次本地文件复制,不联网;副本里含有凭据文件与数据库,请保存到你信任的位置。
同一目录下的加密凭据文件:
| 凭据文件 | 保存的内容 |
|---|---|
llm-providers.bin | 模型服务地址与 API Key |
mail-credentials.bin | 邮箱地址与密码 |
canvas-token.bin | Canvas 访问令牌 |
shuiyuan-key.bin | 校园社区 User API Key、用户名与绑定时间 |
campus-session.bin | 教学信息服务网的登录会话 Cookie |
旧版单凭据文件 model-credential.bin 在升级为多提供商配置后自动删除。
工作目录(默认「文档/TI Agent」,可在 设置 › 工作区 更改)中的文件:笔记的 Markdown 正文与其中的图片、导入的文件、从 Canvas 下载的课程文件(courses/),以及导出到「预览导出」文件夹的 PDF。
可选文档解析组件保存在应用数据目录的 components/document-reading 下。文档读取任务的输入副本与提取结果保存在系统临时目录的 dela-document-reading 下,读取结束后清理;异常退出留下的任务会在下次准备文档时清理超过 24 小时的部分。
邮件、课程、课表与作业是学校服务的本地副本,可重新同步获取。邮箱密码不写入数据库:数据库里只有邮箱地址、服务器与端口。
2. 凭据如何保护
- 凭据文件用 Electron safeStorage 加密后写入,解密能力由操作系统保管;系统不支持加密时,应用拒绝读写并给出提示。
- 写入先落临时文件再原子替换;旧文件无法解密时,先备份为「原文件名.unreadable-随机串.bak」再写入新内容,不因重新配置而删除。
- API Key 与令牌只在主进程内使用:界面拿到的模型服务配置不含密钥字段;邮箱、Canvas 与校园社区只返回连接状态、邮箱地址或用户名,不含密码与令牌。
- 密钥不进入模型消息:请求时由主进程把 API Key 放进 HTTP 请求头,发给模型的内容是对话与资料文本。
3. 运行 Agent 时发送到模型服务的内容
只有在你发送消息、让它继续执行,或在设置中检测密钥时,才会请求模型服务。请求由主进程直接发出,界面不持有密钥。
- 系统提示词,以及已启用 Skills 的名称与描述索引。
- 你在 设置 › 自定义指令 中填写的全局指令(留空则不发送),它会随每次请求一并发出。
- 当前会话的历史消息;较早历史已生成摘要时,摘要一并发送。
- 本轮引用的资料内容(按需读取的笔记、课程文件、邮件等正文)、附件正文、你输入的文字与图片。
- 工具执行结果会随后续轮次继续发回同一服务。
这些内容发往 设置 › 模型供应商 中启用的地址。数据保存在本机不等于在本机推理:应答由你选择的模型服务产生,内容发出后如何保存由该服务决定,本应用不控制。
4. 本软件会联网的位置
| 去向 | 触发时机与内容 |
|---|---|
| 模型服务 | 你在 设置 › 模型供应商 中配置的地址;对话、历史摘要与密钥检测都请求这里。 |
| 学校邮箱 | mail.sjtu.edu.cn:IMAP 993 收信、SMTP 465 发信,使用你保存的邮箱密码。 |
| Canvas | oc.sjtu.edu.cn:使用你保存的访问令牌;下载文件时可能重定向到 s3.jcloud.sjtu.edu.cn 的签名地址。 |
| 教学信息服务网 | i.sjtu.edu.cn:使用登录窗口取得的会话 Cookie。 |
| 课堂视频 | v.sjtu.edu.cn:在线播放与下载课堂录像,使用登录窗口取得的会话 Cookie。 |
| 校园社区 | shuiyuan.sjtu.edu.cn:使用绑定时取得的 User API Key;绑定后约每分钟检查未读通知。 |
| 统一身份认证 | jaccount.sjtu.edu.cn:登录页由学校提供,本应用不读取你输入的账号与密码,只保存登录后的会话 Cookie。 |
| 远程项目 | 只连接你在 设置 › 远程 中自行添加的 SSH 主机。 |
| 软件更新 | tiagent.net:打包版定时检查正式版更新,你选择后下载安装包与差分数据;不会发送邮件、课程、聊天或模型密钥。 |
| 联网搜索 | 把搜索词发往你在 设置 › 内置能力 › 网络 中注册的搜索服务:Brave(api.search.brave.com)、Google(www.googleapis.com/customsearch)或你填写的自定义 JSON 端点(可带自定义请求头)。TI Agent 不内置搜索服务,未注册时不发起任何搜索请求。 |
| 读取网页 | 抓取模型指定的任意公网地址,只允许 http/https 与 80/443 端口;内网、环回与链路本地地址被拒绝,每一跳重定向都会重新做 DNS 校验。 |
| 终端运行时 | 在终端页点击一键安装且本机没有 Git Bash 时,从 registry.npmmirror.com(备选 github.com)下载 MinGit。 |
| 文档解析组件 | 在「能力拓展」或 设置 › Skills 安装文档读取组件时,连接 www.python.org、github.com 及其发行文件域名、pypi.org 和 files.pythonhosted.org 下载 Python、uv 与解析依赖;下载请求不包含你的文档或应用凭据。解析在本机执行,模型读取正文与图片时仍会按「模型服务」条目发送内容。 |
| 远程图片 | 界面直接加载的远程图片:邮件正文图片默认显示(可在邮件页切换为隐藏),校园社区楼层中的站内图片经主进程代理取回,站外图片与头像由界面直接加载。 |
联网搜索、读取网页等内置能力可在 设置 › 内置能力 中逐项关闭;少数被其他工具依赖的能力固定开启,在该页只读展示。
5. 本机记录了什么
应用运行时不写日志文件(开发模式的控制台输出只打印在终端,不落盘)。Agent 执行也不单独留档:一次执行的运行状态只存在于内存与界面(导航行上的运行标记),执行过程随对话正文一起写进会话文件(见第 1 节),数据库里的会话索引只记消息计数与最后更新时间。
凭据与密钥不写进会话记录,也不会作为上下文发给模型。
6. 本软件没有的功能
- 没有账号服务器:不需要注册或登录 TI Agent 账号,代码中也没有把数据上传到项目服务器的接口。
- 没有云同步:换一台设备不会自动带上你的数据,迁移需要自行拷贝工作目录与应用数据目录,或使用条款接受页里的导出。
- 没有使用统计与崩溃上报:依赖中没有统计分析或崩溃上报的第三方服务,主进程的对外请求只有上面列出的几类。
7. 关于本站
本站是纯静态页面,没有账号体系,也没有广告。平台 Cloudflare 会注入一个统计脚本(static.cloudflareinsights.com 的 beacon),用于统计访问量与加载性能:不使用 Cookie,不在浏览器里保存数据,只汇总访问量、来源与设备类型,不跨站点追踪访客。除此之外没有别的统计或第三方脚本。托管服务商处理请求时会按行业惯例记录请求信息(如 IP 地址与浏览器标识),用于安全与运营。
8. 删除你的数据
所有数据都在本机。先退出应用,再删除应用数据目录与工作目录,即可彻底清除。卸载程序不一定会删除这两个目录,需要自行处理。
9. 条款变更与联系方式
实现发生变化时,应用内的隐私条款会同步更新,并修改顶部的「最后更新」日期;使用本软件时的责任划分见《TI Agent 使用条款》。对本条款有疑问,可发送邮件至 tourisain@163.com 提出。开发者会尽力回应,但没有必须答复的义务。