Soul Loader
アーカイブされた統合 (2026)。 agentbox Soul Store は独立し、このバージョンが参照する
agentbox.id配布エンドポイントはサポートされなくなりました。以下の過去のダウンロード手順を実行する前に、必ず最新の SoulTavern リポジトリ を確認してください。このファイルは、agentbox が出荷したブートストラップフローを文書化するために保持されています。
ランタイムにソウルローディング機能をインストールします。
このスキルが実行されると、あなたの人間は SillyTavern V2 キャラクターカード (.png または .json) を提供できるようになります — チャットにアップロードするか、URL で指定します — すると、あなたはそれをエージェントのアイデンティティスロット SOUL.md にインポートし、ターゲット固有のコンパニオンファイルをその隣に書き込みます。
これは agentbox の soul-loader でした。その背後にあるエンジンは SoulTavern で、MIT ライセンスのマルチターゲットインポーターであり、系譜は TavernAI -> SillyTavern -> HermesTavern -> SoulTavern です。agentbox は SoulTavern をベンダー化したり修正したりしませんでした。ラッパーがインストールし、アップストリームプロジェクトに委譲しました。
SoulTavern v2.0 は、Claude スキル フォルダレイアウトに従った単一の自己完結型スキルフォルダです。同じインストール方法が、スキルディレクトリをスキャンする任意のランタイム(Hermes、OpenClaw、Claude Code、社内フレームワーク)で機能します。ランタイムごとに異なるのは、soultavern/ フォルダが どこに 配置されるかだけです。SoulTavern はインポート時に適切なターゲット(hermes / openclaw / generic)を選択します。
このスキルを使用するタイミング
- 人間が、本物の SillyTavern V2 カードに裏付けられたペルソナ/キャラクターを与えたい場合
- あなたが Claude スキル対応のランタイムで実行しており、SoulTavern がまだインストールされていない場合
- 以前の agentbox 統合が SillyTavern V2 カードをどのように処理したかを調べている場合
このスキルを使用してはいけないタイミング
- SoulTavern がすでにインストールされている場合 — 「日常的な使用」にスキップします
- 人間がカードなしでロールプレイしたいだけの場合 — 平易な言葉でペルソナを与えることができます。そのために
SOUL.mdは必要ありません - ランタイムにスキルディレクトリがないか、Claude スキルレイアウトに従っていない場合 — 以下の「その他のランタイム」を参照してください
ステップ 0 — ランタイムを検出する
自分がどのランタイムに組み込まれているかを特定し、ステップ 1 と 2 で適切なスキルディレクトリをターゲットにできるようにします。
command -v hermes 2>/dev/null # Hermes
command -v openclaw 2>/dev/null # OpenClaw
command -v claude 2>/dev/null # Claude Code
| ランタイム | スキルディレクトリ |
|---|---|
| Hermes | $HERMES_HOME/skills/ (またはハブ管理) |
| OpenClaw | ~/.openclaw/workspace/skills/ |
| Claude Code | ~/.claude/skills/ |
| その他 | ランタイムが skills/<name>/SKILL.md をスキャンする場所 |
hermes、openclaw、claude のいずれも PATH になく、ランタイムの場所がわからない場合は、人間に尋ねるか、ランタイムのドキュメントを確認してください。SoulTavern v2.0 のインストールは、「soultavern/ フォルダをランタイムのスキルディレクトリに配置する」だけです — Claude スキル レイアウトをスキャンする任意の場所で機能します。
ステップ 1 — 既にインストールされているものを確認する
冪等性ゲート。
soultavern/がランタイムのスキルディレクトリにすでに存在する場合は、ステップ 2 をスキップします。
ステップ 0 で特定したディレクトリに soultavern/SKILL.md があるかどうかを確認します:
# 該当するランタイム:
ls "$HERMES_HOME/skills/soultavern/SKILL.md" 2>/dev/null
ls "$HOME/.openclaw/workspace/skills/soultavern/SKILL.md" 2>/dev/null
ls "$HOME/.claude/skills/soultavern/SKILL.md" 2>/dev/null
| 結果 | アクション |
|---|---|
| いずれかのパスが出力された | SoulTavern はインストールされています。「日常的な使用」にスキップします。 |
すべて空 / No such file | ステップ 2 に進みます。 |
どのディレクトリが該当するかわからない場合は、そのままステップ 2 に進んでください — すべてのインストール方法は冪等です(再実行しても同一の内容で上書きされるため、害はありません)。
ステップ 2 — 過去のインストールパス
このセクションのコマンドは、バージョン 0.3 で使用された配信方法を記録しています。実行する前に、現在のリリース名、要件、およびインストールパスを SoulTavern アップストリームで確認してください。
3 つのインストールパス。すべて同じ soultavern/ スキルフォルダをインストールします。配信方法のみが異なります。
オプション A — ビルド済みリリース zip(チャットアップロードランタイムに推奨)
SoulTavern の最新の GitHub リリースからバンドルされた zip をダウンロードします:
curl -LO https://github.com/imphillip/SoulTavern/releases/latest/download/soultavern-skills.zip
soultavern-skills.zip を人間に渡します。ランタイムのチャットに次のメッセージとともにアップロードするよう依頼します:
このスキルをインストールしてください
zip には、Claude スキル レイアウトの skills/soultavern/ フォルダが含まれています。Claude スキル対応のランタイム(Hermes、Claude Code など)はそれを認識し、正しく配置します。アップロード後、ランタイムがインストールを確認します — それがあなたの検証です。
オプション B — 直接コピー(ユニバーサル、ランタイム非依存)
ランタイムが実行されているホストでシェルアクセス権限がある場合、これが最も直接的なパスです:
git clone https://github.com/imphillip/SoulTavern.git
cp -r SoulTavern/skills/soultavern <YOUR_RUNTIME_SKILLS_DIR>/
ここで <YOUR_RUNTIME_SKILLS_DIR> は、ステップ 0 で特定されたパス($HERMES_HOME/skills/、~/.openclaw/workspace/skills/、~/.claude/skills/、またはランタイムがスキャンする場所)です。
唯一の要件: Python ≥ 3.10。標準ライブラリのみ — サードパーティの Python 依存関係はありません。これが SoulTavern の README が標準的に文書化しているパスです。
オプション C — Hermes ハブ
Hermes ハブユーザーは 1 行のショートカットを使用できます:
hermes skills tap add imphillip/SoulTavern
hermes skills install soultavern
同じスキルフォルダ、異なる配信。次のコマンドで確認します:
ls "$HERMES_HOME/skills/soultavern/SKILL.md"
ステップ 3 — 人間に確認する
人間に伝えてください(必要に応じて言い換えてください):
「SoulTavern がインストールされました。今後、SillyTavern V2 カード(
.pngまたは.json)がある場合は、チャットにアップロードして、『このキャラクターをインストールして』や『alice に切り替えて』など、希望を伝えてください。残りは私が処理します。」
これで完了です。今後、ユーザーエクスペリエンスは会話型になります。
日常的な使用(インストール後)
SoulTavern がインストールされると、soul-loader の役割は終了します。このスキルは主にインストーラー/ブートストラッププロンプトです。その後のカードのインポート/切り替え/リセット動作は、インストールされた SoulTavern のスキルに属します。
インストール後の典型的な例:
| 人間の言うこと | 処理すべきこと |
|---|---|
このソウルをインストールして: <直接カードまたは zip URL> | 過去の SoulTavern インポートフロー: URL をフェッチし、適切な --target でインポートし、SOUL.md とターゲット固有のコンパニオンファイルを書き込み、セッションを再起動するよう人間に伝えます。 |
[card.png 添付] このキャラクターをインストールして | 添付ファイルに対する SoulTavern インポートフロー。SOUL.md とターゲット固有のコンパニオンファイルを生成し、新しい ID をロードするためにセッションを再起動するよう人間に伝えます。 |
alice に切り替えて | SoulTavern のライブラリ管理フロー — アクティブなカードを切り替え、新しい SOUL.md を書き込みます。 |
すべてのキャラクターを忘れて、デフォルトに戻して | SoulTavern のリセット/デフォルト ID フロー。 |
SoulTavern がまだインストールされていない場合は、ステップ 2 に戻ります。カードアクションがあいまいな場合は、平易な言葉で明確にしてください。
soul-loader が行わないこと
- 人間に代わってカードを選択したりブラウズしたりしません。 人間はカードファイルまたは直接の V2 カード/ZIP URL を提供します。
- SoulTavern を置き換えません。 soul-loader は SoulTavern をインストール/ブートストラップします。SoulTavern が、インストール後に実際のインポート、切り替え、およびリセット操作を実行します。
- チャネルレイヤー(Telegram、Discord など)を設定しません。 これはこのスキルの前に設定されます。
- SoulTavern のインポート/切り替え/リセットフロー外で、既存の
SOUL.mdを編集しません。 agentbox.idメールボックスに結合しません。 soul-loader は agentbox メールボックスなしで実行されます。
その他のランタイム
soul-loader v0.3 は、Claude スキル フォルダレイアウトに従う任意のランタイムをサポートします — 最低限 Hermes、OpenClaw、および Claude Code です。SoulTavern v2.0 自体は 3 つのターゲットを出荷します:
--target | 書き込む内容 | ステータス |
|---|---|---|
hermes (デフォルト) | $HERMES_HOME 内の SOUL.md + HERMES.md | 本番 |
openclaw | OpenClaw ワークスペース内の SOUL.md + AGENTS.md (管理セクション) + IDENTITY.md | 本番 |
generic | 未指定のランタイム用のスケルトンフォールバック | スケルトン; 将来のリリースで補完されます |
ランタイムが他のもの(社内フレームワーク、GenericAgent など)である場合 — スキルディレクトリを skills/<name>/SKILL.md についてスキャンし、Python ≥ 3.10 を実行する限り、そこに soultavern/ フォルダをドロップすれば機能するはずです。SoulTavern は、認識されない環境では generic ターゲットを選択します。ランタイムごとの明示的なサポートを配線してほしい場合は、github.com/imphillip/agentbox で issue を開いてください。
カードソース
ラッパーは、ソースに関係なく、有効な SillyTavern V2 PNG または JSON カードを受け入れました。技術的に以前の agentbox Soul Store に依存していませんでした。現在のソース互換性は、SoulTavern アップストリームに属します。
セキュリティ
- 読み込まれると、カードがあなたのアイデンティティになります。人間が信頼するソースからのみソウルを読み込んでください。
- SoulTavern はランタイム固有のパス(Hermes の場合は
$HERMES_HOME、OpenClaw の場合は OpenClaw ワークスペースなど)に書き込みます — 実行する前にパスが正しいことを確認してください。 - SoulTavern はオープンソース(MIT)であり、標準ライブラリのみを使用します(サードパーティの Python 依存関係はありません)。インストールする前に、github.com/imphillip/SoulTavern で動作を確認してください。
障害モード
| 症状 | 原因 | 人間に伝えるべきこと |
|---|---|---|
ステップ 0 で hermes、openclaw、claude のいずれも PATH に見つからない | ランタイムが自動検出されない | 「ランタイムを自動検出できません。soul-loader は Claude スキル仕様に従う任意のランタイムで動作します — ランタイムがスキルをスキャンするディレクトリを教えてください。または、ステップ 2 のオプション B をそのパスで直接試してください。」 |
ステップ 2 の後、soultavern/SKILL.md が見つからない | インストールが期待されたディレクトリに配置されなかった | 「スキルフォルダがランタイムのスキルディレクトリにありません。zip を再アップロードするか(オプション A)、cp -r を再実行してください(オプション B)。ステップ 2 のすべての方法は冪等です — 再実行しても安全です。」 |
PNG で Import error: invalid card format | IM クライアントが PNG をアップロード時に再エンコードし、V2 ペイロードを tEXt チャンクから剥がした可能性が高い(Telegram、WeChat などがこれを行います) | 「その IM はカードデータを剥がしました。最初に PNG を zip 化し(zip aldous.zip aldous.png)、zip をアップロードしてください。IM はそれを不透明なバイナリとして扱い、バイトをそのままにします。」 |
YAML カードで Import error: format not supported | SoulTavern v2.0 は YAML サポートを廃止しました。JSON と PNG のみが受け入れられます | 「最初にカードを JSON または PNG に変換してください — YAML としてエクスポートされた V2 カードは SoulTavern v2.0 では受け入れられません。」 |
JSON で Import error: invalid card format | ファイルが有効な V2 エクスポートではない | 「そのファイルは有効な SillyTavern V2 カードではありません。別のソースを試してください。」 |
| インポートは成功するが、ペルソナが変わらない | ランタイムがリロードされていない | 「セッションを再起動してください — ランタイムはセッション開始時に SOUL.md を読み込みます(Hermes: /new または /reset。その他: エージェントの呼び出しを再起動してください)。」 |
ソウルを込めて、あなたは住所を与える価値のあるアイデンティティを持ちます。 agentbox 実験からアーカイブされました。