Auto-Pilot / 全自动
更新于 a month ago

runtime

Aassistant-ui
0.0k
assistant-ui/skills/assistant-ui/skills/runtime
72
Agent 评分

💡 摘要

中文总结。

🎯 适合人群

用户画像1用户画像2用户画像3

🤖 AI 吐槽:看起来很能打,但别让配置把人劝退。

安全分析低风险

风险:Low。建议检查:是否发起外网请求(SSRF/数据外发)。以最小权限运行,并在生产环境启用前审计代码与依赖。


name: runtime description: Guide for assistant-ui runtime system and state management. Use when working with runtimes, accessing state, or managing thread/message data. version: 0.0.1 license: MIT

assistant-ui Runtime

Always consult assistant-ui.com/llms.txt for latest API.

References

Runtime Hierarchy

AssistantRuntime
├── ThreadListRuntime (thread management)
│   ├── ThreadListItemRuntime (per-thread item)
│   └── ...
└── ThreadRuntime (current thread)
    ├── ComposerRuntime (input state)
    └── MessageRuntime[] (per-message)
        └── MessagePartRuntime[] (per-content-part)

State Access (Modern API)

import { useAssistantApi, useAssistantState, useAssistantEvent } from "@assistant-ui/react"; function ChatControls() { const api = useAssistantApi(); const messages = useAssistantState(s => s.thread.messages); const isRunning = useAssistantState(s => s.thread.isRunning); useAssistantEvent("message-added", (e) => { console.log("New message:", e.message); }); 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> ); }

Thread Operations

const api = useAssistantApi(); const thread = api.thread(); // Append message thread.append({ role: "user", content: [{ type: "text", text: "Hello" }] }); // Cancel generation thread.cancelRun(); // Get current state const state = thread.getState(); // { messages, isRunning, ... }

Message Operations

const message = api.thread().message(0); // By index message.edit({ role: "user", content: [{ type: "text", text: "Updated" }] }); message.reload();

Events

useAssistantEvent("thread-started", () => {}); useAssistantEvent("thread-ended", () => {}); useAssistantEvent("message-added", ({ message }) => {}); useAssistantEvent("run-started", () => {}); useAssistantEvent("run-ended", () => {});

Capabilities

const caps = useAssistantState(s => s.thread.capabilities); // { cancel, edit, reload, copy, speak, attachments }

Quick Reference

// Get messages const messages = useAssistantState(s => s.thread.messages); // Check running state const isRunning = useAssistantState(s => s.thread.isRunning); // Append message api.thread().append({ role: "user", content: [{ type: "text", text: "Hi" }] }); // Cancel generation api.thread().cancelRun(); // Edit message api.thread().message(index).edit({ ... }); // Reload message api.thread().message(index).reload();

Common Gotchas

"Cannot read property of undefined"

  • Ensure hooks are called inside AssistantRuntimeProvider

State not updating

  • Use selectors with useAssistantState to prevent unnecessary re-renders

Messages array empty

  • Check runtime is configured
  • Verify API response format
五维分析
清晰度8/10
创新性6/10
实用性8/10
完整性7/10
可维护性7/10
优缺点分析

优点

  • 优点1
  • 优点2

缺点

  • 缺点1
  • 缺点2

相关技能

claude-domain-skills

B
toolAuto-Pilot / 全自动
72/ 100

“看起来很能打,但别让配置把人劝退。”

my-skills

B
toolAuto-Pilot / 全自动
72/ 100

“看起来很能打,但别让配置把人劝退。”

terraform-ibm-modules-skills

B
toolAuto-Pilot / 全自动
72/ 100

“看起来很能打,但别让配置把人劝退。”

免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。

版权归原作者所有 assistant-ui.