コア機能
Letaido が現在構築できることの完全なマップです。各機能は、見せかけではなく、実際に構成できるプリミティブです。
概要
| 機能 | 概要 | 場所 |
|---|---|---|
| ファイル | 所有するファイルシステム上での実際の読み取り/書き込み/編集 | ~/workspace/ |
| データベース | PostgreSQL、すべての永続ストア | 3つの名前付きDB(データを参照) |
| 内部ウェブアプリ | メンバー専用のFlaskアプリ(コンソール) | console-http、メンバー専用 |
| 公開ウェブアプリ | インターネット公開の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、再起動時に消失するインメモリ辞書は使用しません。
3つのデータベースがあり、それぞれ異なるオーディエンスを対象としています(データとストレージで説明):
- console_db:内部ツールとプライベート状態用。
- site_db:公開サイトが提供するコンテンツ用。
- console_site_db:明示的なクロスサーフェスチャネル用。
内部ウェブアプリ(コンソール)

ユーザーが「X を貼り付けて Y を取得できるページ」を求めた場合、アーティファクトはコンソールアプリケーションになります。これは、Python のブループリントと Jinja テンプレートで構成され、メンバー専用の Flask アプリに自動登録されます。
- ルートは予測可能な URL(
/applications/<slug>/)で公開されます。 - ページはデータベースから読み取り、コネクタを呼び出し、結果をレンダリングできます。
- アプリはファイル変更時に自動的に再起動します。手動で
flask runを実行する必要はありません。
パブリックウェブアプリ(公開サイト)

オープンインターネットを提供する別の Flask プロセスで、独自のデータベースロールと3つの可視性モード(オフ、認証済み、オープン)を持ちます。ここには、顧客向けページ、リードジェネレーションフロー、公開レポート、およびこれらのドキュメントが配置されています。
公開サイトは、Console が書き込んだ事前計算済みデータを読み取ることができますが、Console の内部状態にアクセスすることはできません。この分離は、慣例ではなく、OS とデータベースレベルで強制されています。
コネクタ

サードパーティ API を型付きでラップしたものです。ディスカバリーはツリー構造(プロバイダー → カテゴリ → コネクタ)になっており、すべての呼び出しがログに記録され、すべての認証情報がスコープ化され、新しいサーフェス(チャット、Console、サイト)ごとに独自の承認が必要です。
本日配線済み、通常の用途別にグループ化:
- SEO とマーケティングインテリジェンス: Ahrefs(フルスイート)、Semrush、Apify、Firehose。
- CRM と営業: HubSpot、Gong、Chargebee、Stripe。
- コミュニケーションとコラボレーション: Slack、Notion、Linear、GitHub。
- コンテンツとメール: WordPress、Mailchimp、Resend、SendGrid、Fathom。
- データとオペレーション: Airtable。
- インフラストラクチャ: Cloudflare、DNSimple。
新しいプロバイダーは定期的に追加されます。最新のリストについては、ワークスペースの「Connectors」タブをご確認ください。
自動化

定期的な作業は、チャットでの「後で通知」ではなく、登録された自動化として存在します。自動化とは、cron で実行される Python スクリプト、固定プロンプトで実行されるスケジュール済みエージェントチャット、またはサードパーティのイベントで起動するトリガー駆動の実行のいずれかです。それぞれがオーナー/管理者の承認のために提出され、その後スケジュールに従って実行され、すべての実行で stdout と stderr がキャプチャされます。
典型的なリクエスト:週次の競合スキャン、日次のトラフィックスナップショット、時間単位のブランドレーダー更新、これらのドキュメントを更新する月曜日の朝のダイジェストなど。
Webhook とトリガー
Letaido はリスニングとポーリングの両方が可能です。コネクタトリガー(Slack メッセージ、GitHub イベント、Linear の状態変更、HubSpot レコードの変更)は、アプリやジョブが消費するローカルキューにイベントを配信します。
コネクタトリガーのないサービスでは、イベントが静かにドロップされないように、明示的な確認応答を伴うアドホック Webhook パスが用意されています。
スキル

スキルとは、SKILL.md ファイルと関連するアセットを含むフォルダです。エージェントは、タスクが一致したときにそれらをオンデマンドで読み込みます。一部のスキルはプラットフォームに同梱されています(Postgres、Pydantic、PDF エクスポート、ウェブ検索)。その他のスキルはワークスペース固有で、~/workspace/skills/ に保存されます。これには、チームのブランドボイス、デザインマニュアル、投稿バンク、マーケティング戦略などが含まれます。
スキルは、Letaido がハウススタイルを学習する方法であり、定型文としてすべてのチャットに漏れ出すことはありません。
メモリ

Letaido は各チャットの開始時に ~/workspace/.memory.md を読み込みます。「remember this: X」と伝えると、その内容が追記されます。記憶しておくとよいもの:役割、繰り返し使う専門用語、文体ルール、長期的な目標。記憶すべきでないもの:機密情報、毎週変わるような情報。
エージェントは、意味のある変更を行うたびに変更ログ(progress.md)に追記します。これにより、セッションをまたいで何が起こったかを再構築できます。
リサーチ
- ハイライトされた抜粋を含むオープンウェブ全体のウェブ検索(多くの場合、フェッチを省略できます)。
- クリーンなマークダウンとしてのページフェッチ(広告、ナビゲーション、定型文を削除します)。
- タスクが広範囲にわたる場合、検索と統合を交互に行う多段階のリサーチ。
- アップロードされた PDF、トランスクリプト、デッキを読み取り、構造化された出力を取得します。
Letaido はデフォルトで情報源を引用し、主張を検証できなかった場合はその旨を伝えます。
LLM アクセス

Letaido 自体は LLM を通じて推論を行います。また、その機能をローカルプロキシを介してアプリやジョブに公開しています。つまり、API キーを扱うことなく、最新の Claude、GPT、Gemini、その他 300 以上のモデルを任意のコードから呼び出すことができます。これは、エージェントがあなたのために構築するコンソールアプリやバックグラウンドジョブ自体が、Letaido と会話するチャットだけでなく、その内部で AI エージェントや LLM 呼び出しを実行できることを意味します。
これにより、「URL を受け取り、ブランドボイスに沿った90秒の動画スクリプトを返すアプリ」や、「1時間ごとに LLM で HubSpot のインバウンドリードを分類するジョブ」などが実現します。
ファイルのエクスポート
サンドボックスセーフなパス下での PDF および PNG の生成。このサンドボックス内で動作するライブラリ(Pillow、ReportLab、ヘッドレスパス)と、避けるべきライブラリ(ほとんどのウェブキャンバスベースのエクスポーター)をリストアップする専用のスキルがあります。
「このレポートの PDF」を要求すると、エージェントは推測するのではなく、まずスキルを読んで動作するルートを選択します。
内部の仕組み。 上記の各機能は、少数のプリミティブにマッピングされます:ファイル書き込み、SQL クエリ、Flask ブループリント、cron エントリ、Webhook サブスクリプション、コネクタ呼び出しです。エージェントはプリミティブを発明しません。それらを組み合わせます。だからこそ、「Y ごとに X を実行して Z に通知するものを作って」という依頼の形は信頼できるのです。