Skip to content
LoosandPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Tessera

免费、开源、本地优先的 AI 研究与写作 Agent。

Tessera 把资料收集、理解、研究和写作放进同一个连续工作流:Agent 帮你阅读材料、追踪线索、整理观点并提出修改, 你在真正可编辑的 Markdown 文档中完成判断与创作。

它面向「从资料收集、深入理解到成稿创作」的连续 Agent 场景,并选择了不同的基础:核心应用免费开源, 工作区和正文默认保存在本地,用户自选模型与供应商;Agent 的文件操作受工作区、版本与执行环境约束,运行结果可以审查。

为什么是 Tessera

  • 本地数据属于你:Markdown 是正文事实源,文件保存在用户选择的目录中,不锁进 Tessera 的专有格式。
  • Agent 不能越过工作区边界:read/edit/write 受路径、版本与原子提交保护;受控 Bash 只在平台隔离探针通过时启用,拒绝网络、宿主 Secret 和工作区外访问。
  • 不绑定一家模型:支持多个远程模型供应商和兼容协议,用户持有自己的 API Key;本地模型与离线流程在后续规划中。
  • 没有 AI 也能完整写作:TipTap 即时预览、CodeMirror 源码模式、自动保存、冲突保护和 Markdown 主题均可独立使用。
  • 核心应用免费开源:Tessera 不以订阅解锁本地编辑和 Agent 基础能力;第三方模型 API 可能由对应供应商单独收费。
  • 输出可以随时离开:最终成果始终是普通 Markdown,可以继续使用 Git、任意编辑器或其他自动化工具处理。

目标工作流

本地文档 / 网页 / PDF / 订阅源
              ↓
       Research Agent
   搜索 · 阅读 · 比较 · 核查
              ↓
      引用、提纲与 Markdown 草稿
              ↓
       人工编辑与运行审查
              ↓
       用户工作区中的本地文件

Tessera 当前聚焦研究与文档写作,不计划复制图片、Slides、视频和网页生成工作室。它更关心一条可信的主线: 材料从哪里来、Agent 做了什么、哪些内容发给了模型,以及文件和运行事实能否被检查与恢复。

数据与安全边界

数据或操作 当前边界
Markdown 正文 保存在用户选择的本地工作区,是内容事实源。
工作区、任务与审计状态 保存在本地 SQLite;可重建索引不能替代原始 Markdown。
API Key 由 Electron safeStorage 加密;不以明文写入数据库,也不回传给渲染层。
普通 Chat 只发送用户显式输入、上传内容和当前对话历史,不自动读取工作区。
工作区 Agent 只有在用户主动运行后,才通过受限工具读取所需 Markdown,并把模型完成任务所需的内容发送给所选供应商。
Agent 写入 用户打开工作区后,edit/write 在路径和版本边界内直接提交;越界、外部冲突或取消不会覆盖磁盘新版本。
Agent Bash 仅在 macOS Seatbelt 探针通过时注册;前台命令按本轮策略只读或读写工作区,不继承宿主 Secret,网络默认拒绝。

本地优先不等于所有推理都在本机完成。使用远程模型时,相关请求仍会发送到用户配置的供应商,并受该供应商的 隐私政策约束;Tessera 会持续把出站范围、权限和审计做成可检查的产品能力。

当前进展

  • 已实现:Electron 安全外壳、本地 Markdown 工作区、TipTap 即时预览、按需加载的 CodeMirror 6 源码编辑、 Typeset 主题定制、自动保存、外部修改冲突处理、SQLite 数据层和模型供应商安全配置。
  • 部分实现:普通问答、研究、写作和内容整理已接入统一 Agent 运行时;本地核心已收敛为 read/edit/write/bash, 其中 Bash 当前只在 macOS 真实隔离探针通过时启用。精确编辑、冲突复核、原子写入、运行事件可靠性、事实 Progress、脱敏 Execution Context、Artifact 关系/预览和旧审批只读兼容已落地;MCP 工具仍逐次批准。
  • 下一阶段:Agent 减法路线图一期 P0–P5 已收口; tessera-core Agent Eval 已把首批六类黄金任务、人工质量和客观效率固化为代码资产, 后续先接真实模型 runner 建立基线,再评估材料采集、本地版本历史、Artifact Diff 和 Git 工作区支持。
  • 实验中:Tauri v2 对照壳复用同一 React renderer 与 67 项桌面 API bridge;当前已能比较本地包体和人工窗口观感, 编辑器 benchmark route 已打包但自动化 runner 待实现。它只承诺壳层与空态,不代表后端功能已经兼容。
  • 尚未承诺:公开发布时间和商业分发边界。

状态标签只描述仓库当前能力,不代表发布时间承诺。更细的能力边界见产品说明和 系统架构。

技术栈

  • Electron;实验性 Tauri v2 / Rust 对照壳;共享 React、TypeScript renderer
  • Bun workspace 与 Turborepo
  • Tailwind CSS、Base UI、shadcn/ui 源码组织方式
  • TipTap、CodeMirror 6 与 Markdown
  • AI SDK 与可替换的 AgentRuntime
  • Drizzle ORM、SQLite、Electron safeStorage

打包后的 Electron 主进程运行在 Electron 内置的 Node.js 中。Bun 负责依赖管理、脚本、测试和按需启动的独立进程, 不作为 Electron 主进程运行时。

本地开发

bun install
bun run dev
bun run dev:tauri
bun run check

bun run dev 与 bun run dev:electron 启动正式 Electron 应用;bun run dev:tauri 启动仍在实验阶段的 Tauri 对照壳。它们复用同一 renderer,但当前不能用 Tauri 壳替代 Electron 的工作区、任务、AI、MCP、Skill 或研究后端。

bun run check 依次执行格式检查、lint、类型检查、测试和构建。需要单独运行某一阶段时,可使用 bun run format、bun run lint、bun run typecheck、bun run test 或 bun run build。

当前 TipTap renderer 性能可使用 bun run benchmark:editor,Markdown 解析块数曲线与 CPU 热点可分别使用 bun run benchmark:editor:parser、bun run benchmark:editor:parser:cpu。CodeMirror 源码模式的真实 renderer 基准 仍在下一轮编辑器工作中。

在 Apple Silicon macOS 上生成仅用于本机内部验证的 ad-hoc 签名 DMG 和 ZIP:

bun run dist:mac

产物写入 apps/desktop/dist/。正式 Alpha 使用 bun run dist:mac:release,它只接受与桌面版本一致的 v0.1.0-alpha.n Tag,并强制 Developer ID 签名与 Apple 公证;签名凭据不完整时不会降级发布。GitHub Actions 随后验证签名和公证票据、生成 SHA-256 校验和,并创建 GitHub Pre-release。完整契约见 macOS Alpha 发行。

发行脚本会拒绝未打包的工作区 TypeScript 运行时依赖,并只携带 Electron、编译产物和 SQLite 原生模块;macOS 发行包只保留中英语言资源,DMG 使用 UDBZ 压缩。

实验性 Tauri shell-only 的未签名 .app 与 DMG 可用以下命令生成:

bun run dist:tauri:mac

产物写入 apps/desktop-tauri/src-tauri/target/release/bundle/,只用于本机 A/B;它尚未包含 Electron 后端,也没有签名、 公证或自动更新。

如果当前网络无法下载 Electron 预构建文件,可以在安装时临时指定镜像:

ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ bun install

仓库结构

apps/desktop            Electron 主进程、预加载脚本和 React 渲染层
apps/desktop-tauri      复用同一 renderer 的实验性 Tauri v2 对照壳
packages/contracts      IPC 与跨进程共享契约
packages/desktop-bridge Electron/Tauri 共用的 DesktopApi 组装层
packages/agent-runtime  可替换 Agent 运行时契约
packages/ai             模型事实、供应商适配、Agent 运行时与 AI 设置界面
packages/database       SQLite 本地索引与运行状态
packages/skills         SKILL.md 发现、加载与权限契约
packages/design-system  共享组件与视觉系统

文档

开源与费用

Tessera 采用 Apache License 2.0 开源。模型供应商、联网搜索或其他第三方服务产生的费用由用户与 对应服务商直接结算,不是 Tessera 的功能订阅费。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages