TavernHeadless — 開発者向け AI RP ヘッドレスエンジン

AI/ML

概要

TavernHeadless は、UI を持たない AI ロールプレイ(RP)のバックエンドエンジンで、SillyTavern のエコシステム互換を第一に設計されたコードベースです。API とイベントシステムを核に、キャラクターや会話セッション、分岐(ブランチ)やメモリ、プリセット/ワールドブックといった資産をエンジニアリング視点で管理できるのが特徴です。ヘッドレス設計により Web・デスクトップ・スクリプトなど任意のフロントエンドから接続可能で、SSE によるストリーミングや OpenAPI / Typed SDK による開発者体験も用意されています。現在はアルファ段階で、コア機能は揃っており、セキュリティは API キー/JWT 等での基本対応が実装されています。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 0
  • ウォッチャー数: 3
  • コミット数: 6
  • ファイル数: 17
  • メインの言語: TypeScript

主な特徴

  • SillyTavern エコシステム互換(Preset / Worldbook / Regex / Character のインポート)
  • ヘッドレス設計:API/イベント駆動で任意のフロントエンドと接続可能
  • セッション/Floor/Page 単位の会話管理、分岐・再試行・編集再生成をサポート
  • 開発者向け機能:SSE ストリーミング、Prompt dry-run、OpenAPI 仕様、Typed SDK

技術的なポイント

TavernHeadless は TypeScript 製のサーバー側アーキテクチャで、UI 層を持たない「エンジン層」にフォーカスしています。コアは API とイベントシステムで、クライアントは REST(OpenAPI 仕様提供)や SSE(Server-Sent Events)を通じて会話生成の開始・進行・ストリーミング結果を受け取ります。設計思想としては「会話を状態(Session/Floor/Page)としてエンジニアリング的に管理」する点が重要で、各 Page は生成の単位、Floor は会話のまとまり、Session は利用者単位の長期状態を表します。これにより分岐(branch)やリトライ、編集して再生成するワークフローが自然に扱えます。

互換性レイヤーにより SillyTavern の Preset / Worldbook / Regex / Character を取り込み、既存資産を流用可能にしているのが実用的です。デバッグ/開発支援として Prompt dry-run(プロンプトを安全に検証する仕組み)や OpenAPI、Typed SDK を提供することで IDE から型安全に利用できる点も開発者フレンドリーです。セキュリティは環境変数 AUTH_MODE で off/api_key/jwt を選択でき、最低限の認証基盤が用意されています。ストリーミング(SSE)対応により応答を逐次受け取って UX を改善でき、イベントドリブン設計により外部システムとの連携(ログ、分析、カスタムイベント処理)も行いやすくなっています。現在はアルファ段階のため「コア機能は利用可能」ながら、運用面やスケーリング、プラグイン拡張の充実が今後の注力点といえます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env.example: file
  • .github: dir
  • .gitignore: file
  • LICENSE: file
  • PROGRESS.md: file

…他 12 ファイル

使いどころと導入の流れ

  • フロントエンド(Web UI、Electron、CLI、自動化スクリプト)を自前で用意し、TavernHeadless をバックエンドとして接続するユースケースに最適です。
  • 既存の SillyTavern 用アセットを持っている場合、Preset や Character、Worldbook をインポートして短時間で動作確認できます。
  • 開発者は OpenAPI 仕様や提供される Typed SDK を利用して型安全に API を叩き、SSE で応答をストリーミング受信することで応答性の高い UI を実現できます。
  • セキュリティは ENV の AUTH_MODE で切り替え可能。まずは api_key で始め、必要に応じて JWT を導入するのが現実的です。

拡張性と注意点

  • ヘッドレス設計は柔軟性を与える反面、フロントエンド実装は利用者に委ねられます。組み合わせる UI の設計が運用体験を左右します。
  • 現状アルファ段階のため、本番運用ではスケールや耐障害性、詳細なセキュリティレビューが必要です。ログ保存方針やメモリの寿命管理(どの程度の会話を保持するか)などの設計が重要になります。
  • 将来的にはプラグインやランタイムの選択肢(複数 LLM の切替やローカルモデル対応)、永続ストレージの最適化が期待されます。

まとめ

SillyTavern 互換のヘッドレス AI RP エンジンとして、開発者向け機能が揃ったアルファ実装です。

リポジトリ情報:

READMEの抜粋:

TavernHeadless

一个为开发者而生的 AI RP(角色扮演)后端引擎。

这是什么?

TavernHeadless 是一个 Headless 的 AI 角色扮演系统。你可以把它理解为 「没有默认聊天 UI 的 SillyTavern 引擎层」:

  • 以 API 和事件系统为核心,而不是页面驱动。
  • 以工程化方式管理角色、会话、分支和记忆。
  • 支持后续接入任意前端(Web、桌面端、自动化脚本)。

当前状态

项目处于 Alpha(早期成品) 阶段:

  • 核心链路可用:Session/Floor/Page、分支、重试、编辑再生成。
  • 生态兼容可用:Preset/Worldbook/Regex/Character 导入。
  • 调试能力可用:SSE、Prompt dry-run、OpenAPI、Typed SDK。
  • 安全基线可用:AUTH_MODE=off|api_key|jwt

主要特性

  • 兼容 SillyTavern 生态:支持导入 Preset、Regex、Worldbook、Character。