OneShotAiPanel
你的 AI Panel开源 · v2.1.0

一次发送。
经过验证的 JSON,直接可用。

OneShotAiPanel 一次交互即可完成任务:连接你配置的 LLM(opencode、zen 或你自己的 adapter),对 JSON 按 schema 进行 streaming 校验,然后把结果接入你的技术栈。

✓ 实时 streaming✓ 经校验的 JSON schema(zod)✓ 现有内容的 diff✓ i18n fr / en

介绍

工作原理

一个 React 组件,连接你选择的 LLM,把请求转换为经校验的交付成果,无需手动复制粘贴。

1. 描述任务

一个用户 prompt、一个系统 prompt 和上下文文件。组件会组装出最终的 prompt。

2. 配置模型连接

组件会通过 adapter(opencode 或 zen)或你自己的 onSend 连接到所配置的 provider。没有这个连接,一切都无法运行。

3. 单次发送

模型以 streaming JSON 响应。每个 ticket 都期待一个结构精确、受 schema 控制的内容。

4. 自动验证

响应会对照 schema 进行校验。若不匹配,则把有针对性的反馈发回模型,进行第二轮生成。

5. Diff 与审查

如果已有内容,逐行 diff 会在集成前告诉你哪些地方发生了变化。

6. Plug

通过 onPlug 获取选中的内容,并将其接入你的代码、adapter 或 SDK。

Wireframe

探索组件

真实的组件,只读模式。悬停并点击编号标记,即可了解每个区域。

OneShot AI Panel
状态
系统提示词
附加指令
附加上下文
源文件

每个文件必须指向一个绝对路径或 URL(本地文件、CDN、服务器、网盘等),供代理读取。

auth.ts
src/lib/auth.ts
package.json
package.json
工单

工单描述代理要完成的具体任务。每个工单可以包含描述、说明和预期的响应模式。标记为「完成」的工单会从提示词中排除。

登录表单

邮箱 + 密码,错误处理。

注册

创建账号并带验证。

路由保护

用于私有路由的 middleware。

AI 响应
没有响应
点击「生成」获取响应

点击编号标记探索每个区域。悬停可查看预览。

1

页眉

页眉栏包含任务标题、帮助按钮(集成点与鸣谢)以及配置按钮。一切都可通过 props 配置(title、showInfoButton、showSettingsButton 等)。

配置

所有选项,通过 props 配置

配置发生在集成层。以下是主要选项。

内容

  • titlestring

    显示在组件页眉中的标题。

  • systemPromptstring

    提供给模型的角色与规则。

  • initialUserPromptstring

    预填在用户字段中的初始请求。

上下文

  • filesAiPanelContextFile[]

    作为上下文提供给模型的项目文件。

  • ticketsAiPanelTicket[]

    任务拆分,每个 ticket 带自己的 JSON schema。

契约

  • parserAiPanelResponseParser

    自定义响应的解析与校验。

  • invalidMode'warn' | 'block'

    当响应未通过 schema 校验时,警告或阻止。

Adapter

  • adapterAiAdapterConfig

    Provider(opencode、zen)、模型与凭据。

  • 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 类型:

objectarraystringnumberintegerbooleannull

响应格式描述每个 ticket 的预期值。例如:{ "type": "object", "properties": { "email": { "type": "string" } }, "required": ["email"] }

准备就绪

生成过程全流程模拟(streaming + 校验),无需服务器。

计数器

网站数据一览

公开计数器,实时更新。一次点击,一个数字。

0访问量
0GitHub 点击量
0下载量

尽力而为的计数 · 每个会话计 1 次访问。