核心功能
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 应用(控制台)

当你要求“一个可以粘贴 X 并得到 Y 的页面”时,这个产物是一个控制台应用:一个 Python 蓝图加上一个 Jinja 模板,会自动注册到仅限会员使用的 Flask 应用中。
- 路由位于可预测的 URL(
/applications/<slug>/)。 - 页面可以从数据库读取数据、调用连接器并渲染结果。
- 应用会在文件更改时自动重启;你不需要手动运行
flask run。
公共 Web 应用(公共站点)

一个面向开放互联网提供服务的独立 Flask 进程,拥有自己的数据库角色和三种可见性模式(off、authorized、open)。面向客户的页面、潜在客户获取流程、公开报告和这些文档都位于这里。
公共站点可以读取控制台写入的预先计算数据,但无法访问控制台的内部状态。这种隔离是在操作系统和数据库层面强制执行的,而不是靠约定实现的。
连接器

围绕第三方 API 的带类型封装。发现流程是一棵树(提供商 → 类别 → 连接器),每次调用都会记录日志,每个凭据都有作用域,每个新表面(聊天、控制台、网站)都需要单独审批。
如今的有线设备,按其通常用途分组:
- SEO 和营销情报: Ahrefs(全套工具)、Semrush、Apify、Firehose。
- CRM 和销售: HubSpot、Gong、Chargebee、Stripe。
- 沟通与协作: Slack、Notion、Linear、GitHub。
- 内容和电子邮件: WordPress、Mailchimp、Resend、SendGrid、Fathom。
- 数据和运营: Airtable。
- 基础设施: Cloudflare、DNSimple。
新提供商会定期添加。请在你的工作区中查看连接器选项卡,获取实时列表。
自动化

重复性工作以已注册的自动化任务存在,而不是聊天里的“稍后提醒我”。自动化任务可以是按 cron 运行的 Python 脚本、使用固定提示词运行的定时智能体聊天,或由第三方事件触发的触发式运行。每个自动化任务都会提交给所有者/管理员审批,然后按其计划运行,并为每次运行捕获 stdout 和 stderr。
典型需求:每周竞争对手扫描、每日流量快照、每小时 Brand Radar 刷新,以及周一早晨摘要,例如更新这些文档的那种。
Webhook 和触发器
Letaido 可以监听,也可以轮询。连接器触发器(Slack 消息、GitHub 事件、Linear 状态变更、HubSpot 记录变更)会将事件传送到本地队列,由应用或任务消费。
对于没有连接器触发器的服务,仍有一条带显式确认的临时 webhook 路径,因此事件不会被静默丢弃。
技能

技能是一个包含 SKILL.md 文件和任何支持资源的文件夹。当任务匹配时,智能体会按需读取它们。有些技能是平台内置的(Postgres、Pydantic、PDF 导出、网络搜索)。其他技能是特定于工作区的,位于 ~/workspace/skills/,包括你团队的品牌语调、设计手册、帖子库和营销策略。
技能让 Letaido 学习你的内部风格,而不会让它在每次聊天中都变成模板化内容。
记忆

Letaido 会在每次聊天开始时读取 ~/workspace/.memory.md。当你说“记住这个:X”时,它会追加内容。适合记住的内容:角色、反复使用的词汇、风格规则、长期目标。不适合记住的内容:任何敏感信息、任何每周都会变化的内容。
还有一个变更日志(progress.md),智能体会在每次有意义的更改后追加记录,因此你可以重建跨会话发生的事情。
研究
- 在开放网络中进行 Web 搜索,并提供高亮摘录(通常已足够;省去一次获取)。
- 以干净的 markdown 获取页面(去除广告、导航和样板内容)。
- 当任务范围较广时,进行多阶段研究,在搜索和综合之间交替。
- 阅读上传的 PDF、转录稿、演示文稿,并提取结构化输出。
Letaido 默认引用来源,并在无法验证某项说法时告知你。
LLM 访问权限

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 的东西”是一种可靠的请求形式。