prompt-form.tsx
基本信息
- 类型: React Client 组件
- 路径:
./src/components/prompts/prompt-form.tsx
功能描述
Prompt表单组件,用于创建和编辑Prompt。包含完整的表单功能:标题、描述、分类、标签、类型选择、内容编辑、媒体上传、隐私设置、贡献者管理、AI模型适配设置等。支持AI辅助生成、变量工具栏、结构化格式编辑和Skill文件编辑。
导出内容
PromptForm- 主组件PromptFormProps- Props接口createPromptSchema- Zod验证SchemaMediaField- 媒体字段子组件
Props 接口
| 属性 | 类型 | 说明 | |
|---|---|---|---|
| categories | array | 分类列表 | |
| tags | array | 标签列表 | |
| initialData | Partial | 初始数据(可选) | |
| initialContributors | Contributor[] | 初始贡献者(可选) | |
| promptId | string | Prompt ID(编辑模式) | |
| mode | "create" \ | "edit" | 表单模式 |
| aiGenerationEnabled | boolean | 是否启用AI生成 | |
| aiModelName | string | AI模型名称 | |
| initialPromptRequest | string | 初始Prompt请求 |
表单字段
- title - 标题
- description - 描述
- content - 内容
- type - 类型(TEXT/IMAGE/VIDEO/AUDIO/SKILL)
- structuredFormat - 结构化格式(JSON/YAML)
- categoryId - 分类ID
- tagIds - 标签ID数组
- isPrivate - 是否私有
- mediaUrl - 媒体URL
- requiresMediaUpload - 是否需要媒体上传
- requiredMediaType - 所需媒体类型
- requiredMediaCount - 所需媒体数量
- bestWithModels - 最佳适配模型
- bestWithMCP - 最佳适配MCP
- workflowLink - 工作流链接
依赖
next/navigation- Next.js导航next-intl- 国际化react-hook-form- 表单管理zod- 验证库@hookform/resolvers- React Hook Form解析器lucide-react- 图标库@/components/ui/*- UI组件库@/lib/skill-files- Skill文件工具@/lib/format- 格式化工具@/lib/urls- URL工具@/lib/analytics- 分析工具@/lib/works-best-with- AI模型配置sonner- Toast通知./variable-toolbar- 变量工具栏./variable-warning- 变量警告./variable-hint- 变量提示./structured-format-warning- 结构化格式警告./contributor-search- 贡献者搜索./prompt-builder- Prompt构建器./media-generator- 媒体生成器./skill-editor- Skill编辑器
相关组件
PromptBuilder- AI辅助Prompt构建器MediaGenerator- 媒体生成器SkillEditor- Skill编辑器ContributorSearch- 贡献者搜索