# OneShotAiPanel > 开源 React 组件,可连接你配置的 LLM(opencode、shadcn、fallback)并一次交互完成你的任务:JSON streaming、schema 校验、diff 审查,并可直接接入你的技术栈。 ## 什么是 OneShotAiPanel? 一个 React 组件,连接你选择的 LLM,把请求转换为经校验的交付成果,无需手动复制粘贴。 ## 功能 - **连接到你配置的 LLM** : 组件会调用你配置的 provider(opencode、shadcn、fallback 或自定义 onSend) - **实时 JSON streaming** : 模型响应流式到达,并按 schema(zod)校验 - **经校验的 JSON schema** : 每个 ticket 都期待一个结构精确、受 schema 控制的内容 - **自动验证** : 若不匹配,则把有针对性的反馈发回模型,进行第二轮生成 - **Diff 与审查** : 如果已有内容,逐行 diff 会在集成前告诉你哪些地方发生了变化 - **直接 Plug** : 通过 onPlug 获取选中的内容,并将其接入你的代码、adapter 或 SDK ## 工作原理 - **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。 ## 配置(主要 props) ### 内容 - `title` — 显示在组件页眉中的标题。 - `systemPrompt` — 提供给模型的角色与规则。 - `initialUserPrompt` — 预填在用户字段中的初始请求。 ### 上下文 - `files` — 作为上下文提供给模型的项目文件。 - `tickets` — 任务拆分,每个 ticket 带自己的 JSON schema。 ### 契约 - `parser` — 自定义响应的解析与校验。 - `invalidMode` — 当响应未通过 schema 校验时,警告或阻止。 ### Adapter - `adapter` — Provider(opencode、shadcn、fallback)、模型与 API 密钥。 - `onSend` — 用自己的逻辑替换发送行为(SDK、proxy 等)。 ### 事件 - `onPlug` — 当用户集成选中的内容时被调用。 ### i18n - `language` — 界面语言。 - `labels` — 对任意标签进行细粒度覆盖。 ### UI - `actionLabel` — 主运行按钮的标签。 - `showInfoButton` — 显示帮助 / 集成 / 鸣谢按钮。 - `showSettingsButton` — 显示配置按钮。 - `showInfoIntegration` — 在帮助面板中显示集成点。 - `showInfoCredits` — 在帮助面板中显示鸣谢。 ## 安装 源代码和演示都在 GitHub 上: - 仓库 : https://github.com/bn-dev-19/one-shot-ai-panel - 当前版本 : v1.1.3 (归档 : https://github.com/bn-dev-19/one-shot-ai-panel/archive/refs/tags/v1.1.3.zip) ## Playground 该组件真实运行在网站上: : https://oneshot-ai-panel.asistem19.com/zh#playground ## 链接 - 首页 : https://oneshot-ai-panel.asistem19.com/zh - GitHub : https://github.com/bn-dev-19/one-shot-ai-panel - 许可证 : https://oneshot-ai-panel.asistem19.com/zh/license - 使用条款 : https://oneshot-ai-panel.asistem19.com/zh/terms - 隐私政策 : https://oneshot-ai-panel.asistem19.com/zh/privacy - 致谢 : https://oneshot-ai-panel.asistem19.com/zh/credits