AIStudio Dataset 是一个提供与百度AIStudio数据集交互的Web应用,支持完整的数据集管理功能,包括查看、创建、编辑、删除数据集以及上传、管理文件等操作。该应用采用Vue 3前端和Node.js后端架构,支持直连和中转两种连接模式。
- Node.js 18+
- npm 9+
- 有效的AIStudio cookie (放置于src/server/cookie.txt)
npm install
npm run generate:api
开发环境:
npm run dev
生产环境:
npm run build
npm run start:prod
使用main.gradio.py
在仅支持Python启动的平台上运行本服务。
前置步骤(首次使用时必须执行):
- 确保src/server/cookie.txt中包含有效的AIStudio cookie
- 安装依赖:
npm install
- 生成API客户端:
npm run generate:api
- 构建前端:
npm run build
启动命令:
# 在CMD中设置端口并运行
set GRADIO_SERVER_PORT=7860 && python main.gradio.py
# 在PowerShell中设置端口并运行
$env:GRADIO_SERVER_PORT = "7860"; python main.gradio.py
本项目采用基于OpenAPI规范的自动化API客户端生成架构:
aistudio.ts -> client.ts -> @local/aistudio-api (生成的模块)
- OpenAPI规范:
src/aidtudio_dataset/api/openapi.yaml
- 定义所有AI Studio API接口 - 生成的客户端:
node_modules/@local/aistudio-api
- 自动生成的TypeScript客户端 - 适配层:
src/aidtudio_dataset/api/client.ts
- 简化生成API的使用 - 业务层:
src/aidtudio_dataset/aistudio.ts
- 主要的业务逻辑实现
当AI Studio API发生变化时:
- 更新
src/aidtudio_dataset/api/openapi.yaml
- 运行
npm run generate:api
重新生成客户端代码 - 如需要,更新适配层的业务逻辑
- 默认端口:3000
- 端口配置:通过PORT或GRADIO_SERVER_PORT环境变量设置
- WebSocket路径:/queue/join
- 服务器文件路径配置:可在server.ts的SERVER_FILE_PATHS_CONFIG中配置
- 数据集创建、编辑、删除
- 数据集列表查看(私有、公开、收藏)
- 数据集内容查看和编辑
- 数据集收藏/取消收藏
- 数据集信息自动更新
- 多种文件上传方式:
- URL上传(支持自定义Referer和User-Agent)
- 服务器文件上传
- 浏览器直接上传
- 文件管理:
- 文件重命名、删除、复制
- 文件预览和下载
- 批量文件操作
- 基于OpenAPI的类型安全API客户端
- 自动化的错误处理和重试机制
- 完整的TypeScript类型支持
- 模块化的架构设计