mcpField
T
turso

turso

github.com/itechmeatデータ・データベース2467 回インストール1 週間前に更新
リポジトリ

turso について

libSQL を基盤とする SQLite 互換データベース Turso の利用ガイドです。アプリ、AI エージェント、エッジ用途を対象に、組み込み・クラウド・ハイブリッド構成や暗号化、認可、同期を扱います。

主な機能

  1. 01SQLite 互換の組み込みデータベース
  2. 02クラウド・ハイブリッド同期
  3. 03AEGIS-256 と AES-GCM による暗号化
  4. 04認可の利用ガイド
  5. 05エージェント向けデータベースのパターン

活用シーン

  1. 01AI エージェントのローカル状態管理
  2. 02オフライン優先アプリの構築
  3. 03ローカルデータベースと Turso Cloud の同期
  4. 04エッジ用途での暗号化データベース利用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/itechmeat/llm-code --skill turso

インストール後、Claude Code で/tursoを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
agents.md
auth.md
encryption.md
installation.md
quickstart.md
sync.md

詳細

Turso Database

最新のアプリケーション、AI エージェント、エッジコンピューティング向けの SQLite 互換組み込みデータベースです。

リンク

クイックナビゲーション

トピックリファレンス
インストールinstallation.md
暗号化encryption.md
認可auth.md
同期sync.md
エージェント DBagents.md

使用する場面

  • クラウド同期機能を備えた組み込み SQLite データベース
  • AI エージェントの状態管理とマルチエージェント間の連携
  • オフラインファーストのアプリケーション
  • 暗号化データベース(AEGIS、AES-GCM)
  • エッジコンピューティングと IoT デバイス

主な概念

libSQL

Turso は、以下の機能を備えた SQLite のオープンソースフォークである libSQL を基盤としています。

  • ネイティブ暗号化(AEGIS-256、AES-GCM)
  • 非同期 I/O(Linux io_uring)
  • クラウド同期機能
デプロイ方法
  1. 組み込み — アプリ内でローカルに実行します
  2. Turso Cloud — ブランチ機能とバックアップを備えたマネージドプラットフォームです
  3. ハイブリッド — クラウド同期(プッシュ/プル)を備えたローカル構成です

よくあるパターン

暗号化データベース
openssl rand -hex 32  # Generate key
tursodb --experimental-encryption "file:db.db?cipher=aegis256&hexkey=YOUR_KEY"
クラウド同期
import { connect } from "@tursodatabase/sync";

const db = await connect({
  path: "./local.db",
  url: "turso://...", // also accepts "libsql://..." — both schemes work
  authToken: process.env.TURSO_AUTH_TOKEN,
});

await db.push(); // local → cloud
await db.pull(); // cloud → local
エージェントデータベース
import { connect } from "@tursodatabase/database";

// Local-first
const db = await connect("agent.db");

// Or with sync
const db = await connect({
  path: "agent.db",
  url: "https://db.turso.io",
  authToken: "...",
  sync: "full",
});

バージョン

製品バージョン:0.7.2

リリースノート

0.7.1 – 0.7.2
  • JS/サーバーレス SDK:transactionAsync() は、新しいクロージャーセーフなトランザクション API です。transaction() は非推奨になりました。トランザクションを並行実行できる場合、クロージャーのセマンティクスは不適切です。外側の db/conn インスタンスを介して取得したステートメントが、順不同でスケジュールされる可能性があるためです。トランザクションのコールバックでは、外側のインスタンスをクロージャーに取り込むのではなく、transactionAsync() に渡される txn ハンドルを使うように移行してください(references/agents.md を参照)。
  • 破壊的変更:Connection.execute() は、サーバーレスドライバーのネイティブミラーリング API(connect())から削除されました。これにより、@tursodatabase/database と同じ API となり、代わりに run/get/all/iterate/exec/batch/transaction(Async) を提供します。libsql 互換の createClient() レイヤーは独自の execute() を引き続き提供するため、影響を受けません(references/auth.md を参照)。
  • 制約エラーが発生した後もサーバー側の書き込みトランザクションが開いたままになることがある、execute()/batch() 後の古い inTransaction フラグを修正しました。
  • クエリオプション引数の末尾で渡すクエリ単位の requestHeaders により、接続レベルだけでなく、単一の呼び出しにカスタムヘッダー(リクエスト識別ヘッダーなど)を付与できるようになりました。
  • 同期エンジン:リモートのプルプロトコル(ページベースの WAL または MVCC 論理ログ)は、初回接続時に自動検出されるようになりました。そのため、従来の logical_mvcc_pull フラグは必須ではなく、任意の手動設定になりました。WAL モードのローカルレプリカが MVCC リモートと同期すると、インプレースで自動的に MVCC ジャーナルモードへ変換されます。
  • 同期バインディング(Rust、Python、JavaScript、Go、React Native)では、turso:// と libsql:// のリモート URL を相互に使用できます。
  • コアの修正:IN (...) リストのクエリコスト回帰により InSeek がフルスキャンへ劣化する問題、制約チェック前のインデックス変更により UPSERT 後にインデックスが欠落する問題、MVCC 下のシーケンスによる変更数の漏れ、複合主キーまたは非 rowid 主キーを持つテーブルにおける DELETE/upsert のリプレイ不具合を修正しました。
0.7.0
  • SQL サーフェス:PostgreSQL 互換のエイリアスを備えた SQL 標準のスカラー関数、PostgreSQL 形式のシーケンス、MVCC セーフな AUTOINCREMENT、ウィンドウ関数関連の対応(VDBE の集約処理を利用した row_number()、ウィンドウ句での FILTER)、および WITHIN GROUP 順序集合集約関数。
  • MVCC/耐久性:MVCC のパッシブチェックポイント、Turso 同期用のポータブルな論理ログメタデータ、および Aristo WAL 検証。
  • 照合順序:コアのカスタム照合順序のサポート、およびロケール対応の照合順序。
  • .NET/プラットフォーム:NativeAOT 静的リンク、リモートトランザクションとバッチ、Turso EF Core SQLite プロバイダー、NuGet のネイティブターゲット、および Windows ARM64 CLI リリース。
以前のバージョン(0.6.0)

JS/サーバーレスのタイムアウト、インタラクティブトランザクション、Python SQLAlchemy の改善(sqlalchemy-libsql)、npm ベースの CLI 配布、ローカルファースト/エージェントのワークロード向けに拡張された SQL サーフェスは、引き続き有効です。references/agents.md と references/installation.md を参照してください。

コメント