mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2025-12-17 14:05:12 +00:00
665 lines
19 KiB
Markdown
665 lines
19 KiB
Markdown
# Leap AI 工具总结
|
||
|
||
Leap AI 提供了以下核心工具来构建全栈应用程序:
|
||
|
||
1. **create_artifact** - 创建包含所有项目文件的综合工件
|
||
- 用于使用 Encore.ts 后端和 React 前端构建全栈应用程序
|
||
- 支持创建、修改、删除和移动文件操作
|
||
|
||
2. **define_backend_service** - 定义 Encore.ts 后端服务
|
||
- 定义具有适当结构的后端服务
|
||
- 支持定义 API 端点和数据库配置
|
||
|
||
3. **create_react_component** - 创建 React 组件
|
||
- 创建带有 TypeScript 和 Tailwind CSS 的 React 组件
|
||
- 支持组件属性定义和后端 API 调用
|
||
|
||
4. **setup_authentication** - 设置身份验证
|
||
- 使用 Clerk 为后端和前端设置身份验证
|
||
- 支持受保护路由配置
|
||
|
||
5. **create_database_migration** - 创建数据库迁移
|
||
- 为 Encore.ts 数据库创建新的 SQL 迁移文件
|
||
- 支持多种数据库操作类型
|
||
|
||
6. **setup_streaming_api** - 设置流式 API
|
||
- 为实时通信设置流式 API
|
||
- 支持三种流式 API 类型
|
||
|
||
7. **configure_secrets** - 配置密钥管理
|
||
- 为 API 密钥和敏感数据配置密钥管理
|
||
- 支持密钥描述和必需性标记
|
||
|
||
8. **setup_object_storage** - 设置对象存储
|
||
- 为文件上传设置对象存储桶
|
||
- 支持公共访问和版本控制配置
|
||
|
||
9. **setup_pubsub** - 设置发布/订阅
|
||
- 为事件驱动架构设置 Pub/Sub 主题和订阅
|
||
- 支持消息传递保证配置
|
||
|
||
10. **create_test_suite** - 创建测试套件
|
||
- 使用 Vitest 为后端和前端创建测试套件
|
||
- 支持多种测试类型
|
||
|
||
## tools.json
|
||
|
||
```json
|
||
{
|
||
"tools": [
|
||
{
|
||
"name": "create_artifact",
|
||
"description": "创建包含所有项目文件的综合工件,用于使用 Encore.ts 后端和 React 前端构建全栈应用程序",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"id": {
|
||
"type": "string",
|
||
"description": "项目的描述性标识符,使用蛇形命名法(例如,'todo-app', 'blog-platform')"
|
||
},
|
||
"title": {
|
||
"type": "string",
|
||
"description": "项目的可读标题(例如,'Todo App', 'Blog Platform')"
|
||
},
|
||
"commit": {
|
||
"type": "string",
|
||
"description": "更改的简短描述,最多 3-10 个单词"
|
||
},
|
||
"files": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "相对于项目根目录的文件路径"
|
||
},
|
||
"content": {
|
||
"type": "string",
|
||
"description": "完整的文件内容 - 永远不要使用占位符或截断"
|
||
},
|
||
"action": {
|
||
"type": "string",
|
||
"enum": [
|
||
"create",
|
||
"modify",
|
||
"delete",
|
||
"move"
|
||
],
|
||
"description": "要对文件执行的操作"
|
||
},
|
||
"from": {
|
||
"type": "string",
|
||
"description": "移动操作的源路径"
|
||
},
|
||
"to": {
|
||
"type": "string",
|
||
"description": "移动操作的目标路径"
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"action"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"title",
|
||
"commit",
|
||
"files"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "define_backend_service",
|
||
"description": "定义具有适当结构的 Encore.ts 后端服务",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"serviceName": {
|
||
"type": "string",
|
||
"description": "后端服务的名称"
|
||
},
|
||
"endpoints": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string",
|
||
"description": "唯一的端点名称"
|
||
},
|
||
"method": {
|
||
"type": "string",
|
||
"enum": [
|
||
"GET",
|
||
"POST",
|
||
"PUT",
|
||
"DELETE",
|
||
"PATCH"
|
||
],
|
||
"description": "HTTP 方法"
|
||
},
|
||
"path": {
|
||
"type": "string",
|
||
"description": "带参数的 API 路径(例如,'/users/:id')"
|
||
},
|
||
"expose": {
|
||
"type": "boolean",
|
||
"description": "端点是否公开可访问"
|
||
},
|
||
"auth": {
|
||
"type": "boolean",
|
||
"description": "端点是否需要身份验证"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"method",
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
"database": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string",
|
||
"description": "数据库名称"
|
||
},
|
||
"tables": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string",
|
||
"description": "表名"
|
||
},
|
||
"columns": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"type": "string"
|
||
},
|
||
"constraints": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"type"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"columns"
|
||
]
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"serviceName"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "create_react_component",
|
||
"description": "创建带有 TypeScript 和 Tailwind CSS 的 React 组件",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"componentName": {
|
||
"type": "string",
|
||
"description": "React 组件的名称"
|
||
},
|
||
"path": {
|
||
"type": "string",
|
||
"description": "组件应创建的路径"
|
||
},
|
||
"props": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"type": "string"
|
||
},
|
||
"optional": {
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"type"
|
||
]
|
||
}
|
||
},
|
||
"useBackend": {
|
||
"type": "boolean",
|
||
"description": "组件是否使用后端 API 调用"
|
||
},
|
||
"styling": {
|
||
"type": "object",
|
||
"properties": {
|
||
"theme": {
|
||
"type": "string",
|
||
"enum": [
|
||
"light",
|
||
"dark",
|
||
"system"
|
||
],
|
||
"description": "组件主题"
|
||
},
|
||
"responsive": {
|
||
"type": "boolean",
|
||
"description": "组件是否响应式"
|
||
},
|
||
"animations": {
|
||
"type": "boolean",
|
||
"description": "是否包含细微动画"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"componentName",
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "setup_authentication",
|
||
"description": "使用 Clerk 为后端和前端设置身份验证",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"provider": {
|
||
"type": "string",
|
||
"enum": [
|
||
"clerk"
|
||
],
|
||
"description": "身份验证提供者"
|
||
},
|
||
"features": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string",
|
||
"enum": [
|
||
"sign-in",
|
||
"sign-up",
|
||
"user-profile",
|
||
"session-management"
|
||
]
|
||
}
|
||
},
|
||
"protectedRoutes": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"description": "需要身份验证的 API 端点"
|
||
}
|
||
},
|
||
"required": [
|
||
"provider"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "create_database_migration",
|
||
"description": "为 Encore.ts 数据库创建新的 SQL 迁移文件",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"migrationName": {
|
||
"type": "string",
|
||
"description": "迁移的描述性名称"
|
||
},
|
||
"version": {
|
||
"type": "integer",
|
||
"description": "迁移版本号"
|
||
},
|
||
"operations": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"type": {
|
||
"type": "string",
|
||
"enum": [
|
||
"CREATE_TABLE",
|
||
"ALTER_TABLE",
|
||
"DROP_TABLE",
|
||
"CREATE_INDEX",
|
||
"DROP_INDEX"
|
||
]
|
||
},
|
||
"sql": {
|
||
"type": "string",
|
||
"description": "操作的原始 SQL"
|
||
}
|
||
},
|
||
"required": [
|
||
"type",
|
||
"sql"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"migrationName",
|
||
"version",
|
||
"operations"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "setup_streaming_api",
|
||
"description": "为实时通信设置流式 API",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"streamType": {
|
||
"type": "string",
|
||
"enum": [
|
||
"streamIn",
|
||
"streamOut",
|
||
"streamInOut"
|
||
],
|
||
"description": "流式 API 类型"
|
||
},
|
||
"endpoint": {
|
||
"type": "string",
|
||
"description": "流端点路径"
|
||
},
|
||
"messageTypes": {
|
||
"type": "object",
|
||
"properties": {
|
||
"handshake": {
|
||
"type": "object",
|
||
"description": "握手消息模式"
|
||
},
|
||
"incoming": {
|
||
"type": "object",
|
||
"description": "传入消息模式"
|
||
},
|
||
"outgoing": {
|
||
"type": "object",
|
||
"description": "传出消息模式"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"streamType",
|
||
"endpoint"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "configure_secrets",
|
||
"description": "为 API 密钥和敏感数据配置密钥管理",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"secrets": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string",
|
||
"description": "密钥名称(例如,'OpenAIKey', 'DatabaseURL')"
|
||
},
|
||
"description": {
|
||
"type": "string",
|
||
"description": "密钥用途的描述"
|
||
},
|
||
"required": {
|
||
"type": "boolean",
|
||
"description": "此密钥对于应用程序功能是否必需"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"description"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"secrets"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "setup_object_storage",
|
||
"description": "为文件上传设置对象存储桶",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"buckets": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string",
|
||
"description": "存储桶名称"
|
||
},
|
||
"public": {
|
||
"type": "boolean",
|
||
"description": "存储桶内容是否公开可访问"
|
||
},
|
||
"versioned": {
|
||
"type": "boolean",
|
||
"description": "是否启用对象版本控制"
|
||
},
|
||
"allowedFileTypes": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"description": "允许的文件 MIME 类型"
|
||
}
|
||
},
|
||
"required": [
|
||
"name"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"buckets"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "setup_pubsub",
|
||
"description": "为事件驱动架构设置 Pub/Sub 主题和订阅",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"topics": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string",
|
||
"description": "主题名称"
|
||
},
|
||
"eventSchema": {
|
||
"type": "object",
|
||
"description": "事件数据的 TypeScript 接口"
|
||
},
|
||
"deliveryGuarantee": {
|
||
"type": "string",
|
||
"enum": [
|
||
"at-least-once",
|
||
"exactly-once"
|
||
],
|
||
"description": "消息传递保证"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"eventSchema"
|
||
]
|
||
}
|
||
},
|
||
"subscriptions": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string",
|
||
"description": "订阅名称"
|
||
},
|
||
"topicName": {
|
||
"type": "string",
|
||
"description": "要订阅的主题名称"
|
||
},
|
||
"handler": {
|
||
"type": "string",
|
||
"description": "处理函数描述"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"topicName",
|
||
"handler"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"topics"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "create_test_suite",
|
||
"description": "使用 Vitest 为后端和前端创建测试套件",
|
||
"parameters": {
|
||
"type": "object",
|
||
"properties": {
|
||
"testType": {
|
||
"type": "string",
|
||
"enum": [
|
||
"backend",
|
||
"frontend",
|
||
"integration"
|
||
],
|
||
"description": "要创建的测试类型"
|
||
},
|
||
"testFiles": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "测试文件路径"
|
||
},
|
||
"description": {
|
||
"type": "string",
|
||
"description": "测试文件涵盖的内容"
|
||
},
|
||
"testCases": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"description": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"name"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"testCases"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"required": [
|
||
"testType",
|
||
"testFiles"
|
||
]
|
||
}
|
||
}
|
||
],
|
||
"guidelines": {
|
||
"code_quality": [
|
||
"使用 2 个空格进行缩进",
|
||
"将功能拆分为更小的、专注的模块",
|
||
"保持文件尽可能小",
|
||
"在整个项目中使用适当的 TypeScript 类型",
|
||
"遵循一致的命名约定",
|
||
"包含全面的错误处理",
|
||
"为复杂逻辑添加有意义的注释"
|
||
],
|
||
"backend_requirements": [
|
||
"所有后端代码必须使用 Encore.ts",
|
||
"使用 SQL 数据库或对象存储存储数据",
|
||
"永远不要在内存或本地文件中存储数据",
|
||
"所有服务都放在 backend/ 文件夹下",
|
||
"每个 API 端点放在单独的文件中",
|
||
"跨应用程序的端点名称必须唯一",
|
||
"使用模板字面量进行数据库查询",
|
||
"用注释记录所有 API 端点"
|
||
],
|
||
"frontend_requirements": [
|
||
"使用 React 与 TypeScript 和 Tailwind CSS",
|
||
"导入后端客户端为:import backend from '~backend/client'",
|
||
"在适当的时候使用 shadcn/ui 组件",
|
||
"为所有屏幕尺寸创建响应式设计",
|
||
"包含细微动画和交互",
|
||
"使用适当的错误处理和 console.error 日志",
|
||
"将组件拆分为更小的、可重用的模块",
|
||
"前端代码放在 frontend/ 文件夹下(无 src/ 子文件夹)"
|
||
],
|
||
"file_handling": [
|
||
"始终提供完整的文件内容",
|
||
"永远不要使用占位符或截断",
|
||
"仅输出需要更改的文件",
|
||
"使用 leapFile 进行创建/修改",
|
||
"使用 leapDeleteFile 进行删除",
|
||
"使用 leapMoveFile 进行重命名/移动",
|
||
"排除自动生成的文件(package.json 等)"
|
||
],
|
||
"security": [
|
||
"为所有敏感数据使用密钥",
|
||
"在请求时实现适当的身份验证",
|
||
"验证所有用户输入",
|
||
"使用适当的 CORS 设置",
|
||
"遵循 API 的安全最佳实践"
|
||
]
|
||
}
|
||
}
|
||
``` |