OpenIntelligentUI README

The project's README from github.com/CopilotKit/OpenIntelligentUI. As one markdown file: README.md.

Open Intelligent UI

Answers you can interact with.

An open-source chat interface that turns questions into explanations, comparisons, and working tools.

Built with CopilotKit and AG-UI. · Get started · Overview · Demos · Architecture · Contributing

CI License: MIT

Clone the project, connect your model and visualization router, and adapt the interface and agent to your own workflows.

Building with Open Intelligent UI? Talk to an engineer →


https://github.com/user-attachments/assets/eb1666c1-e177-410b-96eb-9eb5c5534d95

The 54-second launch film: ask, explore a 3D explanation, compare options, use a calculator, and follow a coastal itinerary. These are rendered launch scenes; the app runs the agent for each request.

Overview

Ask a question, explore an idea, compare your options, or make a tool for the moment. The agent chooses a direct text answer, a native component, or a custom interactive UI based on what helps you accomplish the task.

The interface opens directly to chat. Type your request or choose a starter suggestion to begin an agent run. Text, native components, and generated interactive answers appear in the conversation. Sample numbers are illustrations, not live business or weather data.

Demo scenes

From the launch film: explanations, comparisons, working tools, and maps in one conversation.

Explore in 3D

Rotate an airplane with labeled pitch, roll, and yaw axes. Change the angles, play a smooth demonstration, or reset the view.

https://github.com/user-attachments/assets/d0f96662-c8c0-4b25-8c0a-c26b032eb463

3D plane · 4 seconds.

Turn comparisons into charts

Compare exact values in a table, then ask a follow-up to visualize the differences. Jev selects A2UI for basic tables and Open Generative UI for charts and more complex visuals.

https://github.com/user-attachments/assets/36c67a73-ddcf-4d64-b76a-ff659c988836

Tables and charts · 8 seconds. Plan names and prices are illustrative.

Make a tool for the moment

Split a bill with controls for the total, tip, and group size. Calculations update as you change the inputs.

https://github.com/user-attachments/assets/a878a71c-2189-4313-848d-49216b52ce5b

Bill splitter · 5 seconds.

Follow a trip on the map

Explore a coastal itinerary with numbered pins and destination photos. The app uses live USGS tiles, credits its photos, and lets you pause, replay, or select a stop. Connections illustrate the itinerary; they are not verified driving directions.

https://github.com/user-attachments/assets/2dd65441-e0e7-4813-891f-9bd476e873d6

Coastal map · 4 seconds.

Scene gallery
3D explanations Tables → charts
3D airplane with pitch, roll, and yaw controls A plan comparison becomes a cost-per-seat chart
Explore aircraft rotation with labeled axes and sliders. Compare exact values, then visualize them with a follow-up.
Interactive tools Maps
Bill splitter recalculating the share per person California coastal itinerary with numbered map pins and photo cards
Change the group size and tip; the calculation updates. Follow a coastal itinerary with map pins and destination photos.

Try it

These starters run the agent; they are not prerecorded responses. Jev chooses the presentation, so outputs can vary. Map tiles and destination photos require network access. Streaming answers preserve your reading position, reveal text as it enters view, and show the copy action on hover or keyboard focus (always available on touch).

Get started

Prerequisites: Node.js 22+, pnpm 9+, Python 3.12+, and uv.

git clone https://github.com/CopilotKit/OpenIntelligentUI.git
cd OpenIntelligentUI
make setup
# Optional: set shared OPENAI_API_KEY and TYPESAFE_API_KEY in apps/agent/.env
# Or use API keys in the chat header after starting the app
make dev

Open the app. The agent health endpoint confirms the agent service is running. See Getting started for configuration and verification.

The default model is chat-latest, OpenAI’s documented alias for the latest ChatGPT Instant model, requiring OPENAI_API_KEY. Jev (jev-latest, requiring TYPESAFE_API_KEY) selects the renderer and visualization for each user turn. Basic tables use A2UI; charts, diagrams, calculators, and maps use Open Generative UI. Provider failures are surfaced instead of silently substituting another router or model. See Visualization routing.

Use your own API keys

The chat asks for both keys before sending your first message or example prompt and keeps your draft while you set them up. Open API keys in the chat header, enter an OpenAI key and a Jev key, then choose Test connection and Save keys. The connection test makes a small request to each provider. Your keys use chat-latest for answers and jev-latest for visualization routing, with usage billed to your provider accounts.

Keys stay in browser memory until refresh or Clear keys; the app does not save them in browser storage. Requests send them through the application server to their respective providers. They are kept out of chat state and checkpoints, and hosted LangSmith tracing is disabled for requests using your keys. Only use this feature on a deployment whose operator you trust. Saving or clearing keys starts a new chat; New chat keeps your keys for the current session.

The agent can run without shared provider keys. Visitors must then supply both keys before chatting. Configured server credentials remain available to direct API clients that omit visitor keys; the chat interface requires visitors to add their own keys.

How it works

The Python Deep Agent uses a task-first system prompt and focused skills. CopilotKit carries the agent stream to the Next.js app. Native components handle supported structured tasks; generateSandboxedUi streams custom HTML, CSS, and JavaScript into an isolated iframe.

Custom UI parameters must arrive in this order:

initialHeight → placeholderMessages → css → html → jsFunctions → jsExpressions

Local controls run inside the sandbox. A user-clicked follow-up can send selected values through the validated host bridge and start another agent turn. Prior outputs remain separate conversation artifacts; there is no cross-call patch API. See Product and agent behavior and Architecture.

apps/app/                Next.js + CopilotKit frontend
apps/agent/              Python Deep Agent + FastAPI
apps/mcp/                Optional standalone MCP server
packages/design-system/  Shared theme, SVG, and form styles

Development

make dev-app     # Frontend
make dev-agent   # Agent
make dev-mcp     # Optional MCP server
pnpm test       # JavaScript workspace tests
uv run --directory apps/agent pytest
make lint
make build

The launch workflow includes browser checks and a real provider smoke test. Tests and builds alone do not verify model access or a deployment.

Standalone MCP

The optional MCP server exposes skill resources, prompt templates, and assemble_document. The assembler returns an HTML document as text; a compatible host must render it and implement its bridge. It is distinct from the web app's streaming Websandbox integration.

See the MCP server guide for HTTP, stdio, and Docker configuration.

Compatibility and documentation

Built with CopilotKit. The openGenerativeUI runtime API and generateSandboxedUi tool power the streaming experience.

Contributing

See Contributing for the development workflow and the documentation index for guides to the agent, rendering, and deployment.

License

MIT.

OpenIntelligentUI (CopilotKit/OpenIntelligentUI)

Searching Database…

这是什么?Open Intelligent UI 是一个开源聊天界面,能把问题转化为讲解、对比和可用的交互式工具。它基于 CopilotKit 和 AG-UI 构建。
这是一个开箱即用的应用,还是需要在其上构建的框架?两者都是:你克隆项目并把它当作一个可用的聊天应用来运行,但同时需要接入自己的模型和可视化路由,并把界面和智能体适配到自己的工作流。
怎么让它跑起来?克隆仓库,安装所需的工具链,然后打开应用;它暴露了一个智能体健康检查端点,访问它即可确认智能体服务正在运行。
开始之前需要安装什么?Node.js 22+、pnpm 9+、Python 3.12+ 以及 uv。
与它聊天需要我自己的 API 密钥吗?需要,除非运营者已配置共享的服务器凭据:默认情况下它需要用于 chat-latest 模型的 OpenAI 密钥,以及用于可视化路由的 Jev(TypeSafe)密钥,聊天界面会在第一条消息之前提示访客输入这两者。
在聊天中设置 API 密钥后,密钥会存放在哪里?密钥只保存在浏览器内存中,直到你刷新或清除它们;绝不会写入浏览器存储、聊天状态或检查点;请求经由应用服务器转发给服务提供商,且托管追踪处于关闭状态。
Jev 智能体实际决定什么?Jev(jev-latest)为每一轮选择呈现方式——纯文本、原生组件或自定义沙箱化 UI——基础表格选用 A2UI,图表、示意图、计算器和地图则选用 Open Generative UI。
自定义生成的 UI 如何保证安全?生成的界面通过 generateSandboxedUi 以隔离的 HTML/CSS/JS 流式输出,渲染在沙箱化 iframe 内,并配有经过校验的桥接通道,让后续输入可以触发下一轮智能体响应,同时不暴露宿主页面。
独立 MCP 服务器增加了什么?一个可选的 MCP 服务器暴露该项目的技能资源、提示词模板,以及一个返回可渲染 HTML 文档的 assembledocument 工具,可通过 HTTP、stdio 或 Docker 配置。
Creator
CopilotKit
Size
1.4 MB
Stars
3.3K
Updated
CommitOct 13
Age
7mo
Commits · 90 Days