runtime
assistant-uiのランタイムシステムおよび状態管理に関するガイドです。ランタイムの操作、状態へのアクセス、スレッド・メッセージデータの管理を行う際に使用してください。
description の原文を見る
Guide for assistant-ui runtime system and state management. Use when working with runtimes, accessing state, or managing thread/message data.
SKILL.md 本文
assistant-ui Runtime
常に assistant-ui.com/llms.txt で最新の API を確認してください。
リファレンス
./references/local-runtime.md-- useLocalRuntime 詳解./references/external-store.md-- useExternalStoreRuntime 詳解./references/thread-list.md-- スレッドリスト管理./references/state-hooks.md-- 状態アクセスフック./references/types.md-- 型定義
ランタイム階層
AssistantRuntime
├── ThreadListRuntime (スレッド管理)
│ ├── ThreadListItemRuntime (スレッドごとのアイテム)
│ └── ...
└── ThreadRuntime (現在のスレッド)
├── ComposerRuntime (入力状態)
└── MessageRuntime[] (メッセージごと)
└── MessagePartRuntime[] (コンテンツ部分ごと)
状態アクセス (最新 API)
import { useAui, useAuiState, useAuiEvent } from "@assistant-ui/react";
function ChatControls() {
const api = useAui();
const messages = useAuiState(s => s.thread.messages);
const isRunning = useAuiState(s => s.thread.isRunning);
useAuiEvent("composer.send", (e) => {
console.log("Sent in thread:", e.threadId);
});
return (
<div>
<button onClick={() => api.thread().append({
role: "user",
content: [{ type: "text", text: "Hello!" }],
})}>
Send
</button>
{isRunning && (
<button onClick={() => api.thread().cancelRun()}>Cancel</button>
)}
</div>
);
}
スレッド操作
const api = useAui();
const thread = api.thread();
// メッセージを追加
thread.append({ role: "user", content: [{ type: "text", text: "Hello" }] });
// 生成をキャンセル
thread.cancelRun();
// 現在の状態を取得
const state = thread.getState(); // { messages, isRunning, ... }
メッセージ操作
const message = api.thread().message(0); // インデックスで指定
message.edit({ role: "user", content: [{ type: "text", text: "Updated" }] });
message.reload();
イベント
useAuiEvent("thread.runStart", () => {});
useAuiEvent("thread.runEnd", () => {});
useAuiEvent("composer.send", ({ threadId }) => {
console.log("Sent in thread:", threadId);
});
useAuiEvent("thread.modelContextUpdate", () => {});
機能
const caps = useAuiState(s => s.thread.capabilities);
// { cancel, edit, reload, copy, speak, attachments }
クイックリファレンス
// メッセージを取得
const messages = useAuiState(s => s.thread.messages);
// 実行中の状態を確認
const isRunning = useAuiState(s => s.thread.isRunning);
// メッセージを追加
api.thread().append({ role: "user", content: [{ type: "text", text: "Hi" }] });
// 生成をキャンセル
api.thread().cancelRun();
// メッセージを編集
api.thread().message(index).edit({ ... });
// メッセージを再読み込み
api.thread().message(index).reload();
よくある落とし穴
「Cannot read property of undefined」
- フックが
AssistantRuntimeProviderの内側で呼び出されていることを確認してください
状態が更新されない
useAuiStateでセレクタを使用して、不要な再レンダリングを防いでください
メッセージ配列が空
- ランタイムが設定されていることを確認してください
- API レスポンスの形式を確認してください
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- assistant-ui
- リポジトリ
- assistant-ui/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/assistant-ui/skills / ライセンス: MIT
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。