@assistant-ui/react-ink
墨迹 绑定的助手。 与运行时间、适配器和工具相同的可编译的、无样式的终端原始软件 @assistant-ui/react,可以不重写后端代码而发送 CLI 聊天 UI .
安装
要求反应19和墨水6或更新.
npm install @assistant-ui/react-ink ink react
对于带有语法加亮的标记下渲染,也安装 @assistant-ui/react-ink-markdown。 。 。 .
使用量
import { render, Box, Text } from "ink";
import {
AssistantRuntimeProvider,
useLocalRuntime,
ThreadPrimitive,
ComposerPrimitive,
useAuiState,
type ChatModelAdapter,
} from "@assistant-ui/react-ink";
const adapter: ChatModelAdapter = {
async *run({ messages }) {
yield { content: [{ type: "text", text: "Hello from AI!" }] };
},
};
const Message = () => {
const message = useAuiState((s) => s.message);
const text = message.content.find((p) => p.type === "text")?.text ?? "";
return (
<Box marginBottom={1}>
<Text color={message.role === "user" ? "green" : "blue"}>
{message.role === "user" ? "You: " : "AI: "}
</Text>
<Text>{text}</Text>
</Box>
);
};
const App = () => {
const runtime = useLocalRuntime(adapter);
return (
<AssistantRuntimeProvider runtime={runtime}>
<ThreadPrimitive.Root>
<ThreadPrimitive.Messages>{() => <Message />}</ThreadPrimitive.Messages>
<Box borderStyle="round" paddingX={1}>
<Text>{"> "}</Text>
<ComposerPrimitive.Input submitOnEnter placeholder="Message..." autoFocus />
</Box>
</ThreadPrimitive.Root>
</AssistantRuntimeProvider>
);
};
render(<App />);
文档
其他平台
- 网络 :
@assistant-ui/react - 原生反应 :
@assistant-ui/react-native