qdrant 需要 musl 版, 避免打包运行出现 ./qdrant: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.38' not found` 报错
api git:(fix/electron-dev) ✗ pnpm dev:electron
> @refly/[email protected] dev:electron /home/luo/nodeWork/refly/apps/api
> nodemon --config nodemon.electron.json
[nodemon] 3.1.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): src/modules/**/* src/electron/**/* ../../packages/openapi-schema/**/* ../../packages/common-types/**/* ../../packages/skill-template/**/* ../../packages/utils/**/*
[nodemon] watching extensions: ts
[nodemon] starting `pnpm build:electron && MODE=desktop electron .`
> @refly/[email protected] build:electron /home/luo/nodeWork/refly/apps/api
> pnpm gen-sqlite-schema && prisma generate --schema=prisma/sqlite-schema.prisma && tsc --build tsconfig.electron.json && ncp prisma/ dist-electron/prisma/ && ncp src/generated dist-electron/generated
> @refly/[email protected] gen-sqlite-schema /home/luo/nodeWork/refly/apps/api
> ts-node src/scripts/gen-sqlite-schema.ts
Synchronizing Prisma schema to SQLite schema...
Prisma schema loaded from prisma/sqlite-schema.prisma
Formatted prisma/sqlite-schema.prisma in 99ms 🚀
Schema synchronization completed successfully!
SQLite schema written to: /home/luo/nodeWork/refly/apps/api/prisma/sqlite-schema.prisma
Environment variables loaded from .env
Prisma schema loaded from prisma/sqlite-schema.prisma
✔ Generated Prisma Client (v5.16.1) to ./src/generated/client in 349ms
Start using Prisma Client in Node.js (See: https://pris.ly/d/client)import { PrismaClient } from './src/generated/client' const prisma = new PrismaClient()
or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate)
import { PrismaClient } from './src/generated/client/edge' const prisma = new PrismaClient()
See other ways of importing Prisma Client: http://pris.ly/d/importing-client
┌─────────────────────────────────────────────────────────────┐
│ Deploying your app to serverless or edge functions? │
│ Try Prisma Accelerate for connection pooling and caching. │
│ https://pris.ly/cli/--accelerate │
└─────────────────────────────────────────────────────────────┘
appPath /home/luo/.config/@refly/api
systemLocale en-US@posix
redisServerPath /home/luo/nodeWork/refly/apps/api/dist-electron/bin/redis-server
Redis: 227151:C 29 Apr 2025 20:15:50.865 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
227151:C 29 Apr 2025 20:15:50.865 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
227151:C 29 Apr 2025 20:15:50.865 * Redis version=7.4.3, bits=64, commit=8a1deb55, modified=0, pid=227151, just started
227151:C 29 Apr 2025 20:15:50.865 * Configuration loaded
227151:M 29 Apr 2025 20:15:50.865 * monotonic clock: POSIX clock_gettime
227151:M 29 Apr 2025 20:15:50.866 * Running mode=standalone, port=39227.
227151:M 29 Apr 2025 20:15:50.866 * Server initialized
227151:M 29 Apr 2025 20:15:50.867 * Loading RDB produced by version 7.4.3
227151:M 29 Apr 2025 20:15:50.867 * RDB age 43 seconds
227151:M 29 Apr 2025 20:15:50.867 * RDB memory usage when created 1.75 Mb
227151:M 29 Apr 2025 20:15:50.867 * Done loading RDB, keys loaded: 29, keys expired: 17.
227151:M 29 Apr 2025 20:15:50.867 * DB loaded from disk: 0.001 seconds
227151:M 29 Apr 2025 20:15:50.867 * Ready to accept connections tcp
Redis server running on port 39227
Redis port set to 39227
qdrantServerPath /home/luo/nodeWork/refly/apps/api/dist-electron/bin/qdrant
Qdrant: _ _
__ _ __| |_ __ __ _ _ __ | |_
/ _` |/ _` | '__/ _` | '_ \| __|
| (_| | (_| | | | (_| | | | | |_
\__, |\__,_|_| \__,_|_| |_|\__|
|_|
Version: 1.14.0, build: 3617a011
Access web UI at http://localhost:33417/dashboard
Qdrant: 2025-04-29T12:15:50.944748Z WARN qdrant::settings: Config file not found: config/config
2025-04-29T12:15:50.944880Z WARN qdrant::settings: Config file not found: config/development
Qdrant: 2025-04-29T12:15:50.945917Z INFO storage::content_manager::consensus::persistent: Loading raft state from /home/luo/.config/@refly/api/qdrant-data/storage/raft_state.json
Qdrant: 2025-04-29T12:15:51.053963Z INFO storage::content_manager::toc: Loading collection: refly_vectors
Qdrant: 2025-04-29T12:15:51.410773Z INFO collection::shards::local_shard: Recovering shard /home/luo/.config/@refly/api/qdrant-data/storage/collections/refly_vectors/0: 0/2 (0%)
Qdrant: 2025-04-29T12:15:51.597030Z INFO collection::shards::local_shard: Recovered collection refly_vectors: 2/2 (100%)
Qdrant: 2025-04-29T12:15:51.601582Z INFO qdrant: Distributed mode disabled
Qdrant: 2025-04-29T12:15:51.602040Z INFO qdrant: Telemetry reporting disabled
Qdrant: 2025-04-29T12:15:51.602410Z INFO qdrant: Inference service is not configured.
Qdrant: 2025-04-29T12:15:51.606146Z WARN qdrant::actix::web_ui: Static content folder for Web UI './static' does not exist
Qdrant: 2025-04-29T12:15:51.607122Z INFO qdrant::actix: TLS disabled for REST API
Qdrant: 2025-04-29T12:15:51.608308Z INFO qdrant::actix: Qdrant HTTP listening on 33417
2025-04-29T12:15:51.608448Z INFO actix_server::builder: Starting 15 workers
2025-04-29T12:15:51.608464Z INFO actix_server::server: Actix runtime found; starting in Actix runtime
Qdrant server running on HTTP port 33417 and gRPC port 33418
Qdrant port set to 33417
prismaPath /home/luo/nodeWork/refly/apps/api/node_modules/.bin/prisma
prismaSchemaPath /home/luo/nodeWork/refly/apps/api/dist-electron/prisma/sqlite-schema.prisma
Environment variables loaded from .env
Prisma schema loaded from dist-electron/prisma/sqlite-schema.prisma
Datasource "db": SQLite database "refly.db" at "file:/home/luo/.config/@refly/api/refly.db"
The database is already in sync with the Prisma schema.
✔ Generated Prisma Client (v5.16.1) to ./dist-electron/src/generated/client in 437ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [NestFactory] Starting Nest application...
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] PassportModule dependencies initialized +98ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] ConfigHostModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] DiscoveryModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] DiscoveryModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] LoggerModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] ConfigModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] ConfigModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +52ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] CommonModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] JwtModule dependencies initialized +7ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] ThrottlerModule dependencies initialized +13ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] RAGModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] StripeModule dependencies initialized +2ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] BullModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] LabelModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] AppModule dependencies initialized +3ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] CodeArtifactModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] SearchModule dependencies initialized +7ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] MiscModule dependencies initialized +22ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] SubscriptionModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] CollabModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] ActionModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] UserModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] KnowledgeModule dependencies initialized +6ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] EventModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] CanvasModule dependencies initialized +3ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] ProjectModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] ShareModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] AuthModule dependencies initialized +1ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] TemplateModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] PagesModule dependencies initialized +0ms
[Nest] 227069 - 04/29/2025, 8:15:53 PM LOG [InstanceLoader] SkillModule dependencies initialized +0ms
Collab server running at ws://localhost:36919
API server running at http://localhost:35713
Qdrant: 2025-04-29T12:15:51.609002Z INFO qdrant::tonic: Qdrant gRPC listening on 33418
2025-04-29T12:15:51.609028Z INFO qdrant::tonic: TLS disabled for gRPC API
[20:15:54.205] INFO: AppController {/}:
context: "RoutesResolver"
[20:15:54.210] INFO: Mapped {/, GET} route
context: "RouterExplorer"
[20:15:54.210] INFO: StripeWebhookController {/stripe}:
context: "RoutesResolver"
[20:15:54.213] INFO: Mapped {/stripe/webhook, POST} route
context: "RouterExplorer"
[20:15:54.214] INFO: AuthController {/v1/auth}:
context: "RoutesResolver"
[20:15:54.215] INFO: Mapped {/v1/auth/config, GET} route
context: "RouterExplorer"
[20:15:54.215] INFO: Mapped {/v1/auth/email/signup, POST} route
context: "RouterExplorer"
[20:15:54.216] INFO: Mapped {/v1/auth/email/login, POST} route
context: "RouterExplorer"
[20:15:54.216] INFO: Mapped {/v1/auth/verification/create, POST} route
context: "RouterExplorer"
[20:15:54.217] INFO: Mapped {/v1/auth/verification/resend, POST} route
context: "RouterExplorer"
[20:15:54.217] INFO: Mapped {/v1/auth/verification/check, POST} route
context: "RouterExplorer"
[20:15:54.218] INFO: Mapped {/v1/auth/github, GET} route
context: "RouterExplorer"
[20:15:54.220] INFO: Mapped {/v1/auth/google, GET} route
context: "RouterExplorer"
[20:15:54.220] INFO: Mapped {/v1/auth/callback/github, GET} route
context: "RouterExplorer"
[20:15:54.220] INFO: Mapped {/v1/auth/callback/google, GET} route
context: "RouterExplorer"
[20:15:54.220] INFO: Mapped {/v1/auth/refreshToken, POST} route
context: "RouterExplorer"
[20:15:54.220] INFO: Mapped {/v1/auth/logout, POST} route
context: "RouterExplorer"
[20:15:54.220] INFO: MiscController {/v1/misc}:
context: "RoutesResolver"
[20:15:54.221] INFO: Mapped {/v1/misc/scrape, POST} route
context: "RouterExplorer"
[20:15:54.221] INFO: Mapped {/v1/misc/upload, POST} route
context: "RouterExplorer"
[20:15:54.221] INFO: Mapped {/v1/misc/convert, POST} route
context: "RouterExplorer"
[20:15:54.222] INFO: Mapped {/v1/misc/static/:objectKey, GET} route
context: "RouterExplorer"
[20:15:54.222] INFO: Mapped {/v1/misc/public/:storageKey(*), GET} route
context: "RouterExplorer"
[20:15:54.222] INFO: UserController {/v1/user}:
context: "RoutesResolver"
[20:15:54.222] INFO: Mapped {/v1/user/settings, GET} route
context: "RouterExplorer"
[20:15:54.223] INFO: Mapped {/v1/user/settings, PUT} route
context: "RouterExplorer"
[20:15:54.223] INFO: Mapped {/v1/user/checkSettingsField, GET} route
context: "RouterExplorer"
[20:15:54.223] INFO: SubscriptionController {/v1/subscription}:
context: "RoutesResolver"
[20:15:54.223] INFO: Mapped {/v1/subscription/createCheckoutSession, POST} route
context: "RouterExplorer"
[20:15:54.223] INFO: Mapped {/v1/subscription/createPortalSession, POST} route
context: "RouterExplorer"
[20:15:54.223] INFO: Mapped {/v1/subscription/plans, GET} route
context: "RouterExplorer"
[20:15:54.223] INFO: Mapped {/v1/subscription/usage, GET} route
context: "RouterExplorer"
[20:15:54.223] INFO: Mapped {/v1/subscription/modelList, GET} route
context: "RouterExplorer"
[20:15:54.223] INFO: RagController {/v1/rag}:
context: "RoutesResolver"
[20:15:54.224] INFO: Mapped {/v1/rag/parse/:url(*), GET} route
context: "RouterExplorer"
[20:15:54.224] INFO: Mapped {/v1/rag/parse, GET} route
context: "RouterExplorer"
[20:15:54.224] INFO: KnowledgeController {/v1/knowledge}:
context: "RoutesResolver"
[20:15:54.225] INFO: Mapped {/v1/knowledge/resource/list, GET} route
context: "RouterExplorer"
[20:15:54.225] INFO: Mapped {/v1/knowledge/resource/detail, GET} route
context: "RouterExplorer"
[20:15:54.225] INFO: Mapped {/v1/knowledge/resource/create, POST} route
context: "RouterExplorer"
[20:15:54.225] INFO: Mapped {/v1/knowledge/resource/createWithFile, POST} route
context: "RouterExplorer"
[20:15:54.225] INFO: Mapped {/v1/knowledge/resource/batchCreate, POST} route
context: "RouterExplorer"
[20:15:54.225] INFO: Mapped {/v1/knowledge/resource/update, POST} route
context: "RouterExplorer"
[20:15:54.225] INFO: Mapped {/v1/knowledge/resource/reindex, POST} route
context: "RouterExplorer"
[20:15:54.225] INFO: Mapped {/v1/knowledge/resource/delete, POST} route
context: "RouterExplorer"
[20:15:54.226] INFO: Mapped {/v1/knowledge/document/list, GET} route
context: "RouterExplorer"
[20:15:54.226] INFO: Mapped {/v1/knowledge/document/detail, GET} route
context: "RouterExplorer"
[20:15:54.226] INFO: Mapped {/v1/knowledge/document/export/document, GET} route
context: "RouterExplorer"
[20:15:54.226] INFO: Mapped {/v1/knowledge/document/create, POST} route
context: "RouterExplorer"
[20:15:54.226] INFO: Mapped {/v1/knowledge/document/update, POST} route
context: "RouterExplorer"
[20:15:54.227] INFO: Mapped {/v1/knowledge/document/batchUpdate, POST} route
context: "RouterExplorer"
[20:15:54.227] INFO: Mapped {/v1/knowledge/document/delete, POST} route
context: "RouterExplorer"
[20:15:54.227] INFO: Mapped {/v1/knowledge/reference/query, POST} route
context: "RouterExplorer"
[20:15:54.227] INFO: Mapped {/v1/knowledge/reference/add, POST} route
context: "RouterExplorer"
[20:15:54.227] INFO: Mapped {/v1/knowledge/reference/delete, POST} route
context: "RouterExplorer"
[20:15:54.227] INFO: SkillController {/v1/skill}:
context: "RoutesResolver"
[20:15:54.227] INFO: Mapped {/v1/skill/list, GET} route
context: "RouterExplorer"
[20:15:54.227] INFO: Mapped {/v1/skill/invoke, POST} route
context: "RouterExplorer"
[20:15:54.227] INFO: Mapped {/v1/skill/streamInvoke, POST} route
context: "RouterExplorer"
[20:15:54.227] INFO: Mapped {/v1/skill/instance/list, GET} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/instance/new, POST} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/instance/update, POST} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/instance/pin, POST} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/instance/unpin, POST} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/instance/delete, POST} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/trigger/list, GET} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/trigger/new, POST} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/trigger/update, POST} route
context: "RouterExplorer"
[20:15:54.228] INFO: Mapped {/v1/skill/trigger/delete, POST} route
context: "RouterExplorer"
[20:15:54.228] INFO: LabelController {/v1/label}:
context: "RoutesResolver"
[20:15:54.229] INFO: Mapped {/v1/label/class/list, GET} route
context: "RouterExplorer"
[20:15:54.229] INFO: Mapped {/v1/label/class/new, POST} route
context: "RouterExplorer"
[20:15:54.229] INFO: Mapped {/v1/label/class/update, POST} route
context: "RouterExplorer"
[20:15:54.230] INFO: Mapped {/v1/label/class/delete, POST} route
context: "RouterExplorer"
[20:15:54.230] INFO: Mapped {/v1/label/instance/list, GET} route
context: "RouterExplorer"
[20:15:54.230] INFO: Mapped {/v1/label/instance/new, POST} route
context: "RouterExplorer"
[20:15:54.230] INFO: Mapped {/v1/label/instance/update, POST} route
context: "RouterExplorer"
[20:15:54.230] INFO: Mapped {/v1/label/instance/delete, POST} route
context: "RouterExplorer"
[20:15:54.231] INFO: SearchController {/v1/search}:
context: "RoutesResolver"
[20:15:54.231] INFO: Mapped {/v1/search, POST} route
context: "RouterExplorer"
[20:15:54.231] INFO: Mapped {/v1/search/multilingualSearch, POST} route
context: "RouterExplorer"
[20:15:54.231] INFO: CanvasController {/v1/canvas}:
context: "RoutesResolver"
[20:15:54.231] INFO: Mapped {/v1/canvas/list, GET} route
context: "RouterExplorer"
[20:15:54.231] INFO: Mapped {/v1/canvas/detail, GET} route
context: "RouterExplorer"
[20:15:54.231] INFO: Mapped {/v1/canvas/data, GET} route
context: "RouterExplorer"
[20:15:54.231] INFO: Mapped {/v1/canvas/duplicate, POST} route
context: "RouterExplorer"
[20:15:54.232] INFO: Mapped {/v1/canvas/create, POST} route
context: "RouterExplorer"
[20:15:54.232] INFO: Mapped {/v1/canvas/update, POST} route
context: "RouterExplorer"
[20:15:54.232] INFO: Mapped {/v1/canvas/delete, POST} route
context: "RouterExplorer"
[20:15:54.232] INFO: Mapped {/v1/canvas/autoName, POST} route
context: "RouterExplorer"
[20:15:54.232] INFO: CollabController {/v1/collab}:
context: "RoutesResolver"
[20:15:54.232] INFO: Mapped {/v1/collab/getToken, GET} route
context: "RouterExplorer"
[20:15:54.232] INFO: ActionController {/v1/action}:
context: "RoutesResolver"
[20:15:54.232] INFO: Mapped {/v1/action/result, GET} route
context: "RouterExplorer"
[20:15:54.232] INFO: CodeArtifactController {/v1/codeArtifact}:
context: "RoutesResolver"
[20:15:54.232] INFO: Mapped {/v1/codeArtifact/new, POST} route
context: "RouterExplorer"
[20:15:54.232] INFO: Mapped {/v1/codeArtifact/update, POST} route
context: "RouterExplorer"
[20:15:54.232] INFO: Mapped {/v1/codeArtifact/detail, GET} route
context: "RouterExplorer"
[20:15:54.232] INFO: ShareController {/v1/share}:
context: "RoutesResolver"
[20:15:54.232] INFO: Mapped {/v1/share/list, GET} route
context: "RouterExplorer"
[20:15:54.232] INFO: Mapped {/v1/share/new, POST} route
context: "RouterExplorer"
[20:15:54.233] INFO: Mapped {/v1/share/delete, POST} route
context: "RouterExplorer"
[20:15:54.233] INFO: Mapped {/v1/share/duplicate, POST} route
context: "RouterExplorer"
[20:15:54.233] INFO: TemplateController {/v1/template}:
context: "RoutesResolver"
[20:15:54.233] INFO: Mapped {/v1/template/list, GET} route
context: "RouterExplorer"
[20:15:54.233] INFO: Mapped {/v1/template/create, POST} route
context: "RouterExplorer"
[20:15:54.233] INFO: Mapped {/v1/template/update, POST} route
context: "RouterExplorer"
[20:15:54.233] INFO: Mapped {/v1/template/category/list, GET} route
context: "RouterExplorer"
[20:15:54.233] INFO: PagesController {/v1/pages}:
context: "RoutesResolver"
[20:15:54.233] INFO: Mapped {/v1/pages, GET} route
context: "RouterExplorer"
[20:15:54.234] INFO: Mapped {/v1/pages/:pageId, GET} route
context: "RouterExplorer"
[20:15:54.234] INFO: Mapped {/v1/pages/:pageId, PUT} route
context: "RouterExplorer"
[20:15:54.234] INFO: Mapped {/v1/pages/:pageId/share, POST} route
context: "RouterExplorer"
[20:15:54.234] INFO: Mapped {/v1/pages/:pageId/nodes/:nodeId, DELETE} route
context: "RouterExplorer"
[20:15:54.235] INFO: Mapped {/v1/pages/canvas/:canvasId, GET} route
context: "RouterExplorer"
[20:15:54.235] INFO: Mapped {/v1/pages/canvas/:canvasId/nodes, POST} route
context: "RouterExplorer"
[20:15:54.235] INFO: ProjectController {/v1/project}:
context: "RoutesResolver"
[20:15:54.235] INFO: Mapped {/v1/project/list, GET} route
context: "RouterExplorer"
[20:15:54.235] INFO: Mapped {/v1/project/detail, GET} route
context: "RouterExplorer"
[20:15:54.236] INFO: Mapped {/v1/project/new, POST} route
context: "RouterExplorer"
[20:15:54.236] INFO: Mapped {/v1/project/update, POST} route
context: "RouterExplorer"
[20:15:54.236] INFO: Mapped {/v1/project/updateItems, POST} route
context: "RouterExplorer"
[20:15:54.236] INFO: Mapped {/v1/project/delete, POST} route
context: "RouterExplorer"
[20:15:54.236] INFO: Mapped {/v1/project/deleteItems, POST} route
context: "RouterExplorer"
[20:15:54.279] INFO: Initializing Prisma fulltext search backend
context: "PrismaFulltextSearchBackend"
[20:15:54.279] INFO: Fulltext search service initialized
context: "FulltextSearchService"
[20:15:54.474] INFO: FS storage backend initialized at /home/luo/.config/@refly/api/objectStorage
context: "FsStorageBackend"
[20:15:54.474] INFO: Object storage service initialized
context: "ObjectStorageService"
[20:15:54.474] INFO: FS storage backend initialized at /home/luo/.config/@refly/api/objectStorage
context: "FsStorageBackend"
[20:15:54.474] INFO: Object storage service initialized
context: "ObjectStorageService"
Qdrant: 2025-04-29T12:15:54.540808Z INFO actix_web::middleware::logger: 127.0.0.1 "GET /collections/refly_vectors/exists HTTP/1.1" 200 81 "-" "qdrant-js" 0.036892
[20:15:54.671] INFO: Redis connection established
context: "RedisService"
[20:15:54.768] INFO: Connected to database
context: "PrismaService"
[20:15:54.768] INFO: Database connection initialized successfully
context: "PrismaService"
[20:15:54.770] INFO: collection already exists: refly_vectors
context: "QdrantService"
(node:227069) electron: Failed to load URL: http://localhost:5173/ with error: ERR_CONNECTION_REFUSED
(Use `electron --trace-warnings ...` to show where the warning was created)
Qdrant: 2025-04-29T12:15:54.804447Z INFO actix_web::middleware::logger: 127.0.0.1 "PUT /collections/refly_vectors/index HTTP/1.1" 200 94 "-" "qdrant-js" 0.028164
[20:15:54.808] INFO: Qdrant collection initialized successfully on attempt 1
context: "QdrantService"
[20:15:54.837] INFO: Canceled subscriptions check job scheduled
context: "SubscriptionService"
[20:15:54.837] INFO: Subscription cronjob scheduled successfully
context: "SubscriptionService"
[20:15:54.838] INFO: Initializing Stripe Module for webhooks
context: "StripeModule"
[20:15:54.853] INFO: Registering Stripe webhook handlers from SubscriptionService
context: "StripeModule"
[20:15:54.865] INFO: Initialized clean static files cronjob
context: "MiscService"
[20:15:54.878] INFO: Nest application successfully started
context: "NestApplication"
Redis startup timeout reached, assuming it's running
Qdrant startup timeout reached, assuming it's running
Shutting down Redis server...
Shutting down Qdrant server...
Redis: 227151:signal-handler (1745928960) Received SIGTERM scheduling shutdown...
Qdrant: 2025-04-29T12:16:00.941367Z INFO actix_server::server: SIGTERM received; starting graceful shutdown
2025-04-29T12:16:00.941479Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941483Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941502Z INFO actix_server::accept: Accept thread stopped
2025-04-29T12:16:00.941511Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941479Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941546Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941548Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941570Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941593Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941593Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941636Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941700Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941712Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.941741Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.942420Z INFO actix_server::worker: Shutting down idle worker
2025-04-29T12:16:00.942446Z INFO actix_server::worker: Shutting down idle worker
[nodemon] clean exit - waiting for changes before restart