A Letaido / docs
DOCUMENTATION

コア機能

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:明示的なクロスサーフェスチャネル用。

内部ウェブアプリ(コンソール)

Agent-A---Console.gif

ユーザーが「X を貼り付けて Y を取得できるページ」を求めた場合、アーティファクトはコンソールアプリケーションになります。これは、Python のブループリントと Jinja テンプレートで構成され、メンバー専用の Flask アプリに自動登録されます。

  • ルートは予測可能な URL(/applications/<slug>/)で公開されます。
  • ページはデータベースから読み取り、コネクタを呼び出し、結果をレンダリングできます。
  • アプリはファイル変更時に自動的に再起動します。手動で flask run を実行する必要はありません。

パブリックウェブアプリ(公開サイト)

Agent-A---Public-site.gif

オープンインターネットを提供する別の Flask プロセスで、独自のデータベースロールと3つの可視性モード(オフ、認証済み、オープン)を持ちます。ここには、顧客向けページ、リードジェネレーションフロー、公開レポート、およびこれらのドキュメントが配置されています。

公開サイトは、Console が書き込んだ事前計算済みデータを読み取ることができますが、Console の内部状態にアクセスすることはできません。この分離は、慣例ではなく、OS とデータベースレベルで強制されています。

コネクタ

Agent-A---Connectors.gif

サードパーティ 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」タブをご確認ください。

自動化

Agent-A---Jobs.gif

定期的な作業は、チャットでの「後で通知」ではなく、登録された自動化として存在します。自動化とは、cron で実行される Python スクリプト、固定プロンプトで実行されるスケジュール済みエージェントチャット、またはサードパーティのイベントで起動するトリガー駆動の実行のいずれかです。それぞれがオーナー/管理者の承認のために提出され、その後スケジュールに従って実行され、すべての実行で stdout と stderr がキャプチャされます。

典型的なリクエスト:週次の競合スキャン、日次のトラフィックスナップショット、時間単位のブランドレーダー更新、これらのドキュメントを更新する月曜日の朝のダイジェストなど。

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 を読み込みます。「remember this: X」と伝えると、その内容が追記されます。記憶しておくとよいもの:役割、繰り返し使う専門用語、文体ルール、長期的な目標。記憶すべきでないもの:機密情報、毎週変わるような情報。

エージェントは、意味のある変更を行うたびに変更ログ(progress.md)に追記します。これにより、セッションをまたいで何が起こったかを再構築できます。

リサーチ

  • ハイライトされた抜粋を含むオープンウェブ全体のウェブ検索(多くの場合、フェッチを省略できます)。
  • クリーンなマークダウンとしてのページフェッチ(広告、ナビゲーション、定型文を削除します)。
  • タスクが広範囲にわたる場合、検索と統合を交互に行う多段階のリサーチ。
  • アップロードされた PDF、トランスクリプト、デッキを読み取り、構造化された出力を取得します。

Letaido はデフォルトで情報源を引用し、主張を検証できなかった場合はその旨を伝えます。

LLM アクセス

Agent-A---AI-bots.gif

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 に通知するものを作って」という依頼の形は信頼できるのです。

Last updated 2026-07-15