本页还没有译文
本页 10 段还没译成日本語,下面显示的是英文原文。Terminal UI
还没翻译译自英文(ai-sdk.dev)本页 10 段都还没译
@ai-sdk/tui can render harness streams, tool calls, reasoning sections, and
approval prompts in a terminal. Because HarnessAgent requires a session for
generate and stream calls, wrap it with a small AgentTUIAgent adapter that injects one
session for the lifetime of the terminal UI.
Installation
pnpm add @ai-sdk/tui @ai-sdk/harness @ai-sdk/harness-codex @ai-sdk/sandbox-vercelnpm install @ai-sdk/tui @ai-sdk/harness @ai-sdk/harness-codex @ai-sdk/sandbox-vercelyarn add @ai-sdk/tui @ai-sdk/harness @ai-sdk/harness-codex @ai-sdk/sandbox-vercelbun add @ai-sdk/tui @ai-sdk/harness @ai-sdk/harness-codex @ai-sdk/sandbox-vercelExample
import { HarnessAgent, type HarnessAgentSession } from '@ai-sdk/harness/agent';
import { codex } from '@ai-sdk/harness-codex';
import { createVercelNetworkSandboxSession } from '@ai-sdk/sandbox-vercel';
import { runAgentTUI, type AgentTUIAgent } from '@ai-sdk/tui';
const agent = new HarnessAgent({
harness: codex,
});
function createTUIAgent({
agent,
session,
}: {
agent: HarnessAgent<any, any, any>;
session: HarnessAgentSession;
}): AgentTUIAgent {
return {
version: 'agent-v1',
id: agent.id,
tools: agent.tools,
generate(request) {
return agent.generate({
...request,
session,
} as Parameters<typeof agent.generate>[0]);
},
stream(request) {
return agent.stream({
...request,
session,
} as Parameters<typeof agent.stream>[0]);
},
} as AgentTUIAgent;
}
const sandboxSession = await createVercelNetworkSandboxSession({
runtime: 'node24',
ports: [4000],
template: await agent.getSandboxTemplate(),
});
const session = await agent.createSession({ sandboxSession });
try {
await runAgentTUI({
title: 'Codex',
agent: createTUIAgent({ agent, session }),
tools: 'auto-collapsed',
reasoning: 'collapsed',
});
} finally {
await session.destroy();
await sandboxSession.destroy();
}The terminal UI runs until the user exits with Esc or Ctrl+C.
Use one session per terminal run. For long-lived terminal tools, persist the
state from session.detach() or session.stop() if you need to resume later.
Related
AI 翻译查看英文原文