一次发送。
经过验证的 JSON,直接可用。
OneShotAiPanel 一次交互即可完成任务:连接你配置的 LLM(opencode、shadcn、fallback 或你自己的 adapter),对 JSON 按 schema 进行 streaming 校验,然后把结果接入你的技术栈。
介绍
工作原理
一个 React 组件,连接你选择的 LLM,把请求转换为经校验的交付成果,无需手动复制粘贴。
1. 描述任务
一个用户 prompt、一个系统 prompt 和上下文文件。组件会组装出最终的 prompt。
2. 配置模型连接
组件会通过 adapter(opencode、shadcn、fallback)或你自己的 onSend 连接到所配置的 provider。没有这个连接,一切都无法运行。
3. 单次发送
模型以 streaming JSON 响应。每个 ticket 都期待一个结构精确、受 schema 控制的内容。
4. 自动验证
响应会对照 schema 进行校验。若不匹配,则把有针对性的反馈发回模型,进行第二轮生成。
5. Diff 与审查
如果已有内容,逐行 diff 会在集成前告诉你哪些地方发生了变化。
6. Plug
通过 onPlug 获取选中的内容,并将其接入你的代码、adapter 或 SDK。
Wireframe
探索组件
真实的组件,只读模式。悬停并点击编号标记,即可了解每个区域。
每个文件必须指向一个绝对路径或 URL(本地文件、CDN、服务器、网盘等),供代理读取。
工单描述代理要完成的具体任务。每个工单可以包含描述、说明和预期的响应模式。标记为「完成」的工单会从提示词中排除。
邮箱 + 密码,错误处理。
创建账号并带验证。
用于私有路由的 middleware。
点击编号标记探索每个区域。悬停可查看预览。
页眉
页眉栏包含任务标题、帮助按钮(集成点与鸣谢)以及配置按钮。一切都可通过 props 配置(title、showInfoButton、showSettingsButton 等)。
配置
所有选项,通过 props 配置
配置发生在集成层。以下是主要选项。
内容
titlestring显示在组件页眉中的标题。
systemPromptstring提供给模型的角色与规则。
initialUserPromptstring预填在用户字段中的初始请求。
上下文
filesAiPanelContextFile[]作为上下文提供给模型的项目文件。
ticketsAiPanelTicket[]任务拆分,每个 ticket 带自己的 JSON schema。
契约
parserAiPanelResponseParser自定义响应的解析与校验。
invalidMode'warn' | 'block'当响应未通过 schema 校验时,警告或阻止。
Adapter
adapterAiAdapterConfigProvider(opencode、shadcn、fallback)、模型与 API 密钥。
onSendAiPanelSendHandler用自己的逻辑替换发送行为(SDK、proxy 等)。
事件
onPlugfn(response, keys)当用户集成选中的内容时被调用。
i18n
language'fr' | 'en'界面语言。
labelsPartial<AiPanelLabels>对任意标签进行细粒度覆盖。
UI
actionLabelstring主运行按钮的标签。
showInfoButtonboolean显示帮助 / 集成 / 鸣谢按钮。
showSettingsButtonboolean显示配置按钮。
showInfoIntegrationboolean在帮助面板中显示集成点。
showInfoCreditsboolean在帮助面板中显示鸣谢。
Diff
集成前先预览
当 ticket 已有内容时,组件会进行比较,让你选择如何保留。
一个带有现有内容的 ticket?
组件会计算现有内容与模型提案之间的逐行 diff。你可以在集成前保留、替换或混合。
Playground
在此试玩
组件真的运行在页面上。调节 props、选择显示方式,然后启动。
ticket 响应格式中允许的 JSON 类型:
响应格式描述每个 ticket 的预期值。例如:{ "type": "object", "properties": { "email": { "type": "string" } }, "required": ["email"] }
准备就绪
生成过程全流程模拟(streaming + 校验),无需服务器。
计数器
网站数据一览
公开计数器,实时更新。一次点击,一个数字。
尽力而为的计数 · 每个会话计 1 次访问。