控制台 + 公共网站
Letaido 会把它构建的内容放在两个地方:一个给你的团队使用,一个给其他所有人使用。

1. 控制台(内部)
控制台是一个仅限会员使用的 Web 应用,Letaido 会在这里发布内部工具。可以把它看作你团队的私有 Dashboard 界面。
- 仅工作区成员可访问。匿名访客会看到登录墙。
- 该应用从身份验证标头读取身份,因此每个页面都知道是谁在查看它(所有者、管理员、成员、查看者)。
- 数据库访问权限:对
console_db和console_site_db拥有完整读写权限。无法访问site_db。
在以下情况下构建控制台页面:
- 输出仅供你的团队使用。
- 它需要查询内部数据、调用连接器或显示控件。
- 客户绝不应看到它。
报告、应用程序、工件
Letaido 在 Console 中构建的所有内容都归入三类之一。Console 主页为每类都有一个标签页(报告、应用程序、工件),另外还有一个 主页 标签页,会把所有内容汇总列出,按最新优先排序,并在标题旁以标签形式显示类别。

| 类别 | 它是什么 | 你的团队如何使用它 | 示例 |
|---|---|---|---|
| 报告 | 图表、表格和筛选后的数据视图 | 打开、查看数字、筛选、离开 | Ahrefs 品牌权威度、AI 可见性、排名监控 |
| 应用 | 多页面工具和复杂工作流 | 粘贴输入、运行流程、获取输出、回到过去的运行记录 | 战斗卡生成器、AI 可见性 Dashboard、付费广告活动构建器 |
| 工件 | 一次性项目:图表、表格、一段文案 | 快速查看、复制、分享、继续下一步 | 邮件预览、首页区块、AEO 101 部分、Ahrefs 功能库 |
报告
报告是你打开来查看某事物状态的内容。其价值在于显示的数据;主要交互是阅读或筛选。报告会按计划或按需从其数据源刷新。它们位于 /reports/<slug>/。
当“为什么需要这个”的答案是“这样我们就能一眼看到 X”(我们的排名状态、本周的声量份额、本月的品牌权威度变化)时,就要求提供报告。
应用
应用是你用来完成工作的东西。价值在于工作流;主要交互是创建、编辑或产出。应用接收输入,运行多步骤流水线,存储结果,并让你的团队回到过去的运行记录。它们位于 /applications/<slug>/。
当“为什么会有这个”的答案是“这样我们就能反复做 X,而不用每次都重新构建工作流”(生成战卡、运行营销活动简报、产出一段文案)时,就要求使用应用。
工件
Artifact 是一段单独的输出,你可以一次放入,之后引用。它体量小、自包含,不值得封装成完整应用或报告。Artifacts 位于 /artifacts/<slug>/。
当“为什么会有这个”的答案是“这样团队就有地方可以查看它”(首页区块预览、本周的邮件、功能库、给销售用的一页纸)时,就要求提供一个 Artifact。
不确定你想要哪一个?
描述结果,智能体会选择正确的类别。快速翻译:
- “按竞争对手显示每周品牌权威度。” → 报告。
- “给我构建一个工具,我粘贴竞争对手 URL 后就能得到一份战斗卡。” → 应用程序。
- “生成下周 newsletter 的预览。” → 制品。
2. 公共网站(外部)
公开站点是你的工作区中开放互联网可访问的部分,与团队使用的控制台完全隔离。它的存在是为了向工作区外的人提供内容。
- URL 模式:
/<route>用于所有内容。常规模式:/u/<token>用于一次性共享报告,/r2s/<token>用于已审核的运行,/docs/<slug>用于这些文档。 - 可见性由工作区级别的开关控制(见下方“模式”)。
- 数据库访问:读/写
site_db(归它所有)。读/写console_site_db。无法访问console_db。
在以下情况下构建公共站点页面: - 客户、潜在客户或匿名访客需要查看某些内容。 - 你想要一个可在电子邮件或 Slack 之外分享的 URL。 - 数据已经生成(在控制台中或由任务生成),你只是提供它。
公共站点的三种模式
公开站点有三种状态,可由所有者或管理员在工作区 UI 中切换。智能体本身无法切换这些状态。
- off:nginx 向所有人返回 403。Flask 进程仍在运行;没有流量到达它。
- authorized:工作区成员和明确受邀的访客可以查看。适合在发布前评审。
- open:任何拥有 URL 的人都可以查看。将每位访客都视为不可信。
当模式为 open 时,智能体会应用额外默认设置:对每个访客输入执行 Pydantic 验证;不进行按访客的连接器调用(改为缓存到 site_db);为站点表面单独进行连接器审批;并且可见输出会在持久化前经过清理。
跨界面通信
控制台和公共网站运行在不同进程中。它们仍然可以协作,但只能通过一个明确的通道:console_site_db 数据库。
- 控制台将数据(报告、简报、工件)写入表中。
- 公开站点读取该表,并在受令牌保护的 URL 上渲染它。
- 站点可以写回交互信号(例如“访客点击进入”),供控制台读取。
该代理不会尝试通过公共路由代理 Console 查询。REVOKE 位于数据库层;无论如何它都会失败,而且这也是错误的设计。