A Letaido / docs
DOCUMENTATION

核心功能

Letaido 目前可构建内容的完整地图。每项能力都是它用于组合的原语,而不是它假装能做的东西。

概览

能力 说明 所在位置
文件 在你拥有的文件系统上进行真实的读/写/编辑 ~/workspace/
数据库 PostgreSQL,用于存储一切的持久存储 三个命名数据库(见数据)
内部 Web 应用 仅限成员使用的 Flask 应用(控制台) console-http,仅限成员
公共 Web 应用 面向互联网的 Flask 应用(公共站点) site-http,nginx 后面的独立进程
连接器 类型化的第三方 API 封装器(Ahrefs, Slack, HubSpot, ...) 本地连接器调度器
自动化 定时脚本、定时智能体运行,以及由触发器驱动的运行 你工作区中的已注册自动化
Webhook 与触发器 对第三方信号的事件驱动响应 连接器触发器 + 临时触发
技能 智能体按需读取的可复用行动手册 ~/workspace/skills/ + 平台
记忆 你标记的事实的跨聊天持久化 ~/workspace/.memory.md
研究 网页搜索、页面抓取、带来源的多阶段综合 内置
LLM 访问 通过本地代理调用 300+ 个模型 本地 LLM 代理
文件导出 在沙盒安全的渲染路径下生成 PDF 和 PNG 内置(见 PDF 技能)

文件

Letaido 拥有对你的工作区的读取/写入/编辑权限。它将文件视为工作成果,而不是临时空间。

  • 草稿、笔记、研究资料汇总存为 markdown。
  • 代码、生成器和一次性脚本存为 .py
  • 你放入聊天中的上传文件会位于 ~/workspace/uploads/,并通过绝对路径引用。
  • 你想分享的文件会位于 ~/workspace/downloads/,并通过已注册的下载 URL 发布。

它不会做的事:写入你的工作区之外的平台内部、更改文件所有权,或触碰其他工作区。

数据库

PostgreSQL 是唯一的持久化存储。没有 SQLite,没有磁盘上的 JSON,也没有重启后就消失的内存字典。

三个数据库,每个面向不同受众(在 Data & storage 中介绍): - console_db 用于内部工具和私有状态。 - site_db 用于公共网站提供的内容。 - console_site_db 用于明确的跨界面通道。

内部 Web 应用(控制台)

Agent-A---Console.gif

当你要求“一个可以粘贴 X 并得到 Y 的页面”时,这个产物是一个控制台应用:一个 Python 蓝图加上一个 Jinja 模板,会自动注册到仅限会员使用的 Flask 应用中。

  • 路由位于可预测的 URL(/applications/<slug>/)。
  • 页面可以从数据库读取数据、调用连接器并渲染结果。
  • 应用会在文件更改时自动重启;你不需要手动运行 flask run

公共 Web 应用(公共站点)

Agent-A---Public-site.gif

一个面向开放互联网提供服务的独立 Flask 进程,拥有自己的数据库角色和三种可见性模式(off、authorized、open)。面向客户的页面、潜在客户获取流程、公开报告和这些文档都位于这里。

公共站点可以读取控制台写入的预先计算数据,但无法访问控制台的内部状态。这种隔离是在操作系统和数据库层面强制执行的,而不是靠约定实现的。

连接器

Agent-A---Connectors.gif

围绕第三方 API 的带类型封装。发现流程是一棵树(提供商 → 类别 → 连接器),每次调用都会记录日志,每个凭据都有作用域,每个新表面(聊天、控制台、网站)都需要单独审批。

如今的有线设备,按其通常用途分组:

  • SEO 和营销情报: Ahrefs(全套工具)、Semrush、Apify、Firehose。
  • CRM 和销售: HubSpot、Gong、Chargebee、Stripe。
  • 沟通与协作: Slack、Notion、Linear、GitHub。
  • 内容和电子邮件: WordPress、Mailchimp、Resend、SendGrid、Fathom。
  • 数据和运营: Airtable。
  • 基础设施: Cloudflare、DNSimple。

新提供商会定期添加。请在你的工作区中查看连接器选项卡,获取实时列表。

自动化

Agent-A---Jobs.gif

重复性工作以已注册的自动化任务存在,而不是聊天里的“稍后提醒我”。自动化任务可以是按 cron 运行的 Python 脚本、使用固定提示词运行的定时智能体聊天,或由第三方事件触发的触发式运行。每个自动化任务都会提交给所有者/管理员审批,然后按其计划运行,并为每次运行捕获 stdout 和 stderr。

典型需求:每周竞争对手扫描、每日流量快照、每小时 Brand Radar 刷新,以及周一早晨摘要,例如更新这些文档的那种。

Webhook 和触发器

Letaido 可以监听,也可以轮询。连接器触发器(Slack 消息、GitHub 事件、Linear 状态变更、HubSpot 记录变更)会将事件传送到本地队列,由应用或任务消费。

对于没有连接器触发器的服务,仍有一条带显式确认的临时 webhook 路径,因此事件不会被静默丢弃。

技能

Agent-A---Skills.gif

技能是一个包含 SKILL.md 文件和任何支持资源的文件夹。当任务匹配时,智能体会按需读取它们。有些技能是平台内置的(Postgres、Pydantic、PDF 导出、网络搜索)。其他技能是特定于工作区的,位于 ~/workspace/skills/,包括你团队的品牌语调、设计手册、帖子库和营销策略。

技能让 Letaido 学习你的内部风格,而不会让它在每次聊天中都变成模板化内容。

记忆

Agent-A---Memory.gif

Letaido 会在每次聊天开始时读取 ~/workspace/.memory.md。当你说“记住这个:X”时,它会追加内容。适合记住的内容:角色、反复使用的词汇、风格规则、长期目标。不适合记住的内容:任何敏感信息、任何每周都会变化的内容。

还有一个变更日志(progress.md),智能体会在每次有意义的更改后追加记录,因此你可以重建跨会话发生的事情。

研究

  • 在开放网络中进行 Web 搜索,并提供高亮摘录(通常已足够;省去一次获取)。
  • 以干净的 markdown 获取页面(去除广告、导航和样板内容)。
  • 当任务范围较广时,进行多阶段研究,在搜索和综合之间交替。
  • 阅读上传的 PDF、转录稿、演示文稿,并提取结构化输出。

Letaido 默认引用来源,并在无法验证某项说法时告知你。

LLM 访问权限

Agent-A---AI-bots.gif

Letaido 本身通过 LLM 进行推理。它还通过本地代理向应用和作业开放这项能力:任何代码都可以调用最新的 Claude、GPT、Gemini 以及其他 300 多个模型,而无需处理 API 密钥。这意味着 Agent 为你构建的控制台应用和后台作业本身也可以在内部运行 AI 智能体和 LLM 调用,而不只是你与 Letaido 对话的聊天界面。

这就是像“一个接收 URL 并以我们的品牌语调返回 90 秒视频脚本的应用”,或一个每小时用 LLM 对 HubSpot 入站潜在客户进行分类的任务这类功能背后的动力。

文件导出

在沙盒安全路径下生成 PDF 和 PNG。有一个专用技能会列出哪些库可在此沙盒内使用(Pillow、ReportLab、无头路径),以及哪些应避免使用(大多数基于 Web canvas 的导出器)。

如果你要求“这份报告的 PDF”,智能体会先读取技能以选择可行路径,而不是猜测。

底层原理。 上述每项能力都映射到一小组原语:一次文件写入、一条 SQL 查询、一个 Flask 蓝图、一个 cron 条目、一个 webhook 订阅、一次连接器调用。智能体不会发明原语。它会组合原语。这就是为什么“帮我构建一个每隔 Y 就执行 X 并通知 Z 的东西”是一种可靠的请求形式。

Last updated 2026-07-15