init
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# 版本控制
|
||||
.git
|
||||
.github
|
||||
|
||||
# 构建产物(builder 阶段重新生成)
|
||||
.next
|
||||
node_modules
|
||||
|
||||
# 测试
|
||||
coverage
|
||||
tests
|
||||
vitest.config.ts
|
||||
docker-compose.test.yml
|
||||
|
||||
# 运行时数据
|
||||
logs
|
||||
data
|
||||
certificates
|
||||
backups
|
||||
uploads
|
||||
|
||||
# IDE 和 AI 工具
|
||||
.vscode
|
||||
.cursor
|
||||
.claude
|
||||
.gemini
|
||||
.agent
|
||||
.shared
|
||||
.artifacts
|
||||
|
||||
# 数据库文件
|
||||
*.db
|
||||
*.db-journal
|
||||
prisma/data
|
||||
|
||||
# 临时文件
|
||||
.DS_Store
|
||||
*.tsbuildinfo
|
||||
.tmp-old-snapshot-*
|
||||
|
||||
# 环境变量
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
.env.test
|
||||
|
||||
# 文档和杂项
|
||||
*.md
|
||||
*.py
|
||||
debug-request.json
|
||||
AGENTS.md
|
||||
docs
|
||||
agent
|
||||
@@ -0,0 +1,80 @@
|
||||
# ==================== 数据库 ====================
|
||||
# 本地开发模式:docker-compose.yml 将 MySQL 映射到宿主机的 13306 端口
|
||||
# Docker 容器模式:docker-compose.yml 会自动覆盖此配置
|
||||
DATABASE_URL="mysql://root:waoowaoo123@localhost:13306/waoowaoo"
|
||||
|
||||
# ==================== 存储 ====================
|
||||
# minio: S3 兼容对象存储(默认)
|
||||
# local: 本地文件存储(仅开发调试)
|
||||
# cos: 预留 provider(当前版本未实现)
|
||||
STORAGE_TYPE=minio
|
||||
|
||||
# MinIO / S3 兼容存储配置
|
||||
# 本地开发模式:docker-compose.yml 将 MinIO 映射到宿主机的 19000 端口
|
||||
MINIO_ENDPOINT=http://localhost:19000
|
||||
MINIO_REGION=us-east-1
|
||||
MINIO_BUCKET=waoowaoo
|
||||
MINIO_ACCESS_KEY=minioadmin
|
||||
MINIO_SECRET_KEY=minioadmin
|
||||
MINIO_FORCE_PATH_STYLE=true
|
||||
|
||||
# COS 配置(预留)
|
||||
# COS_SECRET_ID=
|
||||
# COS_SECRET_KEY=
|
||||
# COS_BUCKET=
|
||||
# COS_REGION=
|
||||
|
||||
# ==================== 认证 ====================
|
||||
# 本地开发模式(方式三):使用 http://localhost:3000
|
||||
# Docker 容器模式(方式一、二):由 docker-compose.yml 注入为 http://localhost:13000
|
||||
NEXTAUTH_URL=http://localhost:3000
|
||||
NEXTAUTH_SECRET=please-change-this-to-a-random-string
|
||||
|
||||
# ==================== 应用内部自调用地址 ====================
|
||||
# 仅用于服务端内部 fetch 本应用 API / 文件。
|
||||
# 本地开发模式通常与 NEXTAUTH_URL 一致;Docker 模式由 docker-compose.yml 注入为 http://127.0.0.1:3000
|
||||
INTERNAL_APP_URL=http://127.0.0.1:3000
|
||||
|
||||
# ==================== 内部密钥 ====================
|
||||
CRON_SECRET=please-change-this-cron-secret
|
||||
INTERNAL_TASK_TOKEN=please-change-this-task-token
|
||||
API_ENCRYPTION_KEY=waoowaoo-opensource-fixed-key-2026
|
||||
|
||||
# ==================== Redis ====================
|
||||
# 本地开发模式:docker-compose.yml 将 Redis 映射到宿主机的 16379 端口
|
||||
# Docker 容器模式:docker-compose.yml 会自动覆盖此配置
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=16379
|
||||
REDIS_USERNAME=
|
||||
REDIS_PASSWORD=
|
||||
REDIS_TLS=
|
||||
|
||||
# ==================== Worker 配置 ====================
|
||||
WATCHDOG_INTERVAL_MS=30000
|
||||
TASK_HEARTBEAT_TIMEOUT_MS=90000
|
||||
QUEUE_CONCURRENCY_IMAGE=50
|
||||
QUEUE_CONCURRENCY_VIDEO=50
|
||||
QUEUE_CONCURRENCY_VOICE=20
|
||||
QUEUE_CONCURRENCY_TEXT=50
|
||||
|
||||
# ==================== Bull Board (任务管理面板) ====================
|
||||
BULL_BOARD_HOST=0.0.0.0
|
||||
BULL_BOARD_PORT=3010
|
||||
BULL_BOARD_BASE_PATH=/admin/queues
|
||||
BULL_BOARD_USER=
|
||||
BULL_BOARD_PASSWORD=
|
||||
|
||||
# ==================== 日志 ====================
|
||||
LOG_UNIFIED_ENABLED=true
|
||||
LOG_LEVEL=ERROR
|
||||
LOG_FORMAT=json
|
||||
LOG_DEBUG_ENABLED=false
|
||||
LOG_AUDIT_ENABLED=true
|
||||
LOG_SERVICE=waoowaoo
|
||||
LOG_REDACT_KEYS=password,token,apiKey,apikey,authorization,cookie,secret,access_token,refresh_token
|
||||
|
||||
# ==================== 计费 ====================
|
||||
BILLING_MODE=OFF
|
||||
|
||||
# ==================== 流式输出 ====================
|
||||
LLM_STREAM_EPHEMERAL_ENABLED=true
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "next/core-web-vitals",
|
||||
"rules": {
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/no-unused-vars": "warn",
|
||||
"@next/next/no-img-element": "warn",
|
||||
"react-hooks/exhaustive-deps": "warn"
|
||||
}
|
||||
}
|
||||
|
||||
+90
-2
@@ -1,2 +1,90 @@
|
||||
node_modules/
|
||||
logs/
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.*
|
||||
.yarn/*
|
||||
!.yarn/patches
|
||||
!.yarn/plugins
|
||||
!.yarn/releases
|
||||
!.yarn/versions
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# next.js
|
||||
/.next/
|
||||
/out/
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# IDE and AI tools
|
||||
.vscode/
|
||||
.idea/
|
||||
.claude/
|
||||
.cursor/
|
||||
.gemini/
|
||||
.artifacts/
|
||||
.agent/
|
||||
.shared/
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
|
||||
/src/generated/prisma
|
||||
|
||||
# logs
|
||||
/logs
|
||||
*.log
|
||||
|
||||
# environment variables
|
||||
.env
|
||||
.env.local
|
||||
.env.test
|
||||
.env.*.local
|
||||
docker-logs/
|
||||
|
||||
# database
|
||||
*.db
|
||||
*.db-journal
|
||||
prisma/data/
|
||||
|
||||
# uploads (user data)
|
||||
uploads/
|
||||
/data/
|
||||
|
||||
certificates
|
||||
|
||||
# local temporary snapshots for old-version verification
|
||||
.tmp-old-snapshot-*/
|
||||
|
||||
# temporary files
|
||||
tmp/
|
||||
|
||||
# internal AI agent config (not for public)
|
||||
AGENTS.md
|
||||
agent/
|
||||
|
||||
# internal docs (not for public)
|
||||
docs/
|
||||
|
||||
# GitHub CI workflows (internal)
|
||||
# .github/ — 只保留 workflows,忽略其他
|
||||
.github/*
|
||||
!.github/workflows/
|
||||
@@ -0,0 +1,40 @@
|
||||
import { prisma } from '@/lib/prisma'
|
||||
|
||||
const id = 'a3cbc6d3-8720-4584-addd-e2bc4ace7759'
|
||||
|
||||
async function main() {
|
||||
const t = await prisma.task.findUnique({
|
||||
where: { id },
|
||||
select: {
|
||||
id: true,
|
||||
type: true,
|
||||
userId: true,
|
||||
projectId: true,
|
||||
payload: true,
|
||||
errorMessage: true,
|
||||
createdAt: true,
|
||||
},
|
||||
})
|
||||
console.log(JSON.stringify(t, null, 2))
|
||||
|
||||
if (!t) return
|
||||
|
||||
const pref = await prisma.userPreference.findUnique({
|
||||
where: { userId: t.userId },
|
||||
select: {
|
||||
analysisModel: true,
|
||||
customProviders: true,
|
||||
customModels: true,
|
||||
},
|
||||
})
|
||||
console.log('userPreference', JSON.stringify(pref, null, 2))
|
||||
}
|
||||
|
||||
main()
|
||||
.catch((err) => {
|
||||
console.error(err)
|
||||
process.exit(1)
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect()
|
||||
})
|
||||
Reference in New Issue
Block a user