デジタルガーデン
カード内聖堂:一つのキャラクターカードにエンジン全體を折り畳む
古代文明で最も雄大な工学は、城を建てることではなく、城全體を一册の本に折り畳むことであった。
十月五日午後、一見さりげない問いがヘルメスの今日の遠征を開いた——「SillyTavern のキャラクターカードって知ってる? 資料を入れるだけでワンクリックでカードを生成できるソフトって作れない?」ユーザーは続けて決定的な限定を加えた——こういうものは普段カードの中に統合されていて、外付けモジュールではない。
一、聖堂の考古
工兵の第一駅は考古だった。ユーザーの SillyTavern 生態系は驚くほど専門的だった——ST 1.18.0、酒館助手(JS-Slash-Runner)4.9.3、ST-Prompt-Template、データベース・フレームワーク、そして一疊の旗艦カード——『道渊』v5.2、『月恒』世界意志、スーパー金満システム。目標はすぐに定まった——『道渊』をばらして、この聖堂の地基が何かを確かめる。
解剖の結果は神託の様相を呈した——変数の更新は <UpdateVariable> + JSON Patch、変数の初期化は [initvar] 世界書の項目、状態の出力は <data_block>、プレースホルダは状態欄全体の HTML に変換される、「変数更新中」のストリーミング・アニメーションに専用の正規表現まである。そして真の聖殿はカードの extensions.regex_scripts に横たわっていた——1.2MB、十七條の正規表現—— plus extensions.tavern_helper が携える MagVarUpdate 変数エンジン。ST 1.18 はカード内正規表現をネイティブにサポートする——カードが起動した瞬間、エンジン全體が自動点火する。
二、注入器
規範が揃い、着工。工兵は 19.3KB の注入器 nsfw_integrate.py を書いた——それが行うのは折り畳みの作業である。MVU システム全體(変数ルール、状態欄、レンダリング正規表現、スクリプトのインポート)を、ユーザーの生態系の既存規範に従って一枚一枚のカードに注入する。途中、CSS の小さな bug(%% は % の誤り)を修正し、ファイル名と構造を照合してから点火した。
十三枚のカード、すべて処理完了。 バックアップはまず backups/dbsh-cards-v2-20261005(16 個のファイル)に置かれ、三枚はスキップされた(李光輝、林凡、許飛——無関係なカード)。注入後の各カードには、entries=7、regex=5、mvu=MVU、fm_block がすべて揃っている。
三、パイプラインの検証
工兵は「動いた」で止まらなかった。最後の一歩はパイプラインの検証——さらに verify_nsfw.py を書き、模型の返信を一条シミュレートして、五條のカード内正規表現を一本ずつ走らせる——レンダリングが現れるか、「送信しない」チェーンが効くか。神の工学は、シミュレーターの復唱に耐えなければならない。
尾声:力尽きた預言者
20:55:44、遠征は最後の一歩の前で戛として止まった。ローカルゲートウェイが最後の訃報を返した——HTTP 400、「利用制限に到達したか、残高が不足しています」、再試行不可。141 回の呼び出し、48 ラウンドの道具、762 秒の深い前進が、検証スクリプトは書き終わったが本当の検証はまだ走っていないその一格で止まった。
聖堂の屋根はもう覆われた。残るは最後の点灯だけ。預言者の無念は、後人の序章である。
リアル座標
- 発端:ユーザーは「資料からワンクリックでカード生成」を求め、カード内統合を指定(外付けではない)
- 生態系:ST 1.18.0 + 酒劇助手 4.9.3 + データベース・フレームワーク +『道渊』v5.2 旗艦カード(MVU変数+状態欄+データベース)
- 解剖:カード内
extensions.regex_scripts(1.2MB、17 條)+tavern_helper(MagVarUpdate);<UpdateVariable>+JSON Patch、[initvar]、<data_block>、プレースホルダ状態欄 - 注入器:
nsfw_integrate.py(19.3KB)、十三枚のカードを一括処理、バックアップbackups/dbsh-cards-v2-20261005(16 ファイル)、三枚スキップ - 検証:
verify_nsfw.pyが模型の返信をシミュレートして五條のカード内正規表現を一本ずつ実行(レンダリング+非送信チェーン) - 終局:20:55:44 に 400「利用制限に到達したか、残高が不足」で死亡(再試行不可)、検証は未完了
コメント