From cb4c4eece986555f0b84b911c53232d3dde56761 Mon Sep 17 00:00:00 2001 From: liangxu Date: Fri, 1 May 2026 13:40:45 +0800 Subject: [PATCH] feat(config): update rabbitmq and membership settings, add redis and cache configurations --- apps/desktop-client/package.json | 4 +- .../src/main/adapters/deepseek.ts | 4 +- deploy/config.yaml | 69 ++++++++++++++++--- deploy/ops-config.yaml | 16 +++-- 4 files changed, 75 insertions(+), 18 deletions(-) diff --git a/apps/desktop-client/package.json b/apps/desktop-client/package.json index 76cb3ca..deaedfa 100644 --- a/apps/desktop-client/package.json +++ b/apps/desktop-client/package.json @@ -49,8 +49,8 @@ }, "build": { "appId": "com.geo.rankly.desktop", - "productName": "GEO Rankly Desktop", - "copyright": "Copyright © 2026 GEO Rankly", + "productName": "省心推", + "copyright": "Copyright © 2026 shengxintui.com. All Rights Reserved.", "directories": { "output": "release", "buildResources": "build" diff --git a/apps/desktop-client/src/main/adapters/deepseek.ts b/apps/desktop-client/src/main/adapters/deepseek.ts index b285334..831e461 100644 --- a/apps/desktop-client/src/main/adapters/deepseek.ts +++ b/apps/desktop-client/src/main/adapters/deepseek.ts @@ -128,7 +128,7 @@ function normalizeDeepSeekProviderModelLabel(value: unknown): string | null { return null; } if (/r1|reasoner|deepthink|深度思考/.test(compact)) { - return "DeepSeek-R1"; + return "DeepSeek"; } const versionMatch = @@ -1511,7 +1511,7 @@ async function readDeepSeekPageSnapshot( return null; } if (/r1|reasoner|deepthink|深度思考/.test(compact)) { - return "DeepSeek-R1"; + return "DeepSeek"; } const versionMatch = diff --git a/deploy/config.yaml b/deploy/config.yaml index 59b61f7..3d76b57 100644 --- a/deploy/config.yaml +++ b/deploy/config.yaml @@ -24,13 +24,54 @@ monitoring_database: rabbitmq: url: amqp://geo:geo_dev@rabbitmq:5672/geo + monitor_result_exchange: monitor.result + monitor_result_routing_key: monitor.result.ingest + monitor_result_queue: monitor.result.ingest + monitor_result_dlx: monitor.result.dlx + monitor_result_dlq: monitor.result.ingest.dlq + monitor_result_dlq_routing_key: monitor.result.ingest.dlq + monitor_projection_exchange: monitor.projection + monitor_projection_routing_key: monitor.projection.rebuild + monitor_projection_queue: monitor.projection.rebuild + monitor_projection_dlx: monitor.projection.dlx + monitor_projection_dlq: monitor.projection.rebuild.dlq + monitor_projection_dlq_routing_key: monitor.projection.rebuild.dlq + generation_exchange: generation.task + generation_routing_key: generation.task.run + generation_queue: generation.task.run + generation_dlx: generation.task.dlx + generation_dlq: generation.task.run.dlq + generation_dlq_routing_key: generation.task.run.dlq + generation_event_exchange: generation.event + desktop_task_event_exchange: desktop.task.event + desktop_dispatch_exchange: desktop.task.dispatch + desktop_dispatch_publish_prefix: publish + desktop_dispatch_monitor_prefix: monitor + desktop_account_health_exchange: desktop.account.health + desktop_account_health_routing_key: desktop.account.health.report + desktop_account_health_queue: desktop.account.health.report + desktop_account_health_dlx: desktop.account.health.dlx + desktop_account_health_dlq: desktop.account.health.report.dlq + desktop_account_health_dlq_routing_key: desktop.account.health.report.dlq + template_assist_exchange: template.assist + template_assist_routing_key: template.assist.run + template_assist_queue: template.assist.run + template_assist_dlx: template.assist.dlx + template_assist_dlq: template.assist.run.dlq + template_assist_dlq_routing_key: template.assist.run.dlq + kol_assist_exchange: kol.assist + kol_assist_routing_key: kol.assist.run + kol_assist_queue: kol.assist.run + kol_assist_dlx: kol.assist.dlx + kol_assist_dlq: kol.assist.run.dlq + kol_assist_dlq_routing_key: kol.assist.run.dlq consumer_prefetch: 10 publish_channel_pool_size: 32 scheduler: http_host: 127.0.0.1 http_port: 8081 - internal_metrics_token: "" + internal_metrics_token: dev_scheduler_metrics_token dispatch_interval: 15s dispatch_timeout: 30s dispatch_batch_size: 100 @@ -41,6 +82,9 @@ monitoring_workers: result_ingest_concurrency: 4 projection_rebuild_concurrency: 2 +monitoring_dispatch: + desktop_tasks_rollout_percentage: 5 + membership: default_plan_code: free plans: @@ -58,9 +102,9 @@ membership: name: Plus article_generation: 200 article_quota_cycle: monthly - ai_points_monthly: 0 + ai_points_monthly: 1000 ai_point_base_chars: 1000 - image_storage_bytes: 524288000 + image_storage_bytes: 26214000 company_limit: 1 subscription_duration: 720h - code: pro @@ -69,10 +113,16 @@ membership: article_quota_cycle: monthly ai_points_monthly: 1500 ai_point_base_chars: 1000 - image_storage_bytes: 1073741824 + image_storage_bytes: 524288000 company_limit: 2 subscription_duration: 720h +brand_library: + free_brand_limit: 1 + paid_brand_limit: 2 + max_keywords: 5 + max_questions_per_keyword: 5 + redis: addr: redis:6379 db: 0 @@ -109,10 +159,9 @@ log: llm: provider: ark base_url: https://ark.cn-beijing.volces.com/api/v3 - # api_key is injected via LLM_API_KEY env var - api_key: "" - model: doubao-seed-2-0-lite-260215 - knowledge_url_model: doubao-seed-2-0-mini-260215 + api_key: "7fb6c66b-129c-4935-9617-709236c4205a" + model: doubao-seed-2-0-pro-260215 # doubao-seed-2-0-lite-260215 # + knowledge_url_model: doubao-seed-2-0-mini-260215 #doubao-seed-2-0-mini-260215 timeout: 2m max_output_tokens: 16000 temperature: 0.7 @@ -122,8 +171,7 @@ llm: retrieval: provider: siliconflow base_url: https://api.siliconflow.cn/v1 - # api_key is injected via SILICONFLOW_API_KEY env var - api_key: "" + api_key: "sk-dikvcafrdcbajjpfgjjephqcggpdxwxdkighllieijlehwsf" embedding_model: BAAI/bge-m3 reranker_model: BAAI/bge-reranker-v2-m3 timeout: 30s @@ -140,3 +188,4 @@ generation: worker_concurrency: 8 stream_enabled: false article_timeout: 8m + diff --git a/deploy/ops-config.yaml b/deploy/ops-config.yaml index 128f154..46d7cdb 100644 --- a/deploy/ops-config.yaml +++ b/deploy/ops-config.yaml @@ -22,23 +22,31 @@ monitoring_database: max_open_conns: 10 max_idle_conns: 2 +redis: + addr: localhost:6379 + db: 0 + +cache: + driver: redis + log: level: info format: json jwt: - secret: "" # 由 OPS_JWT_SECRET 环境变量注入 + secret: "geo-ops-15645415841" # 必须通过 OPS_JWT_SECRET 环境变量提供 access_ttl: 8h default_admin: username: admin display_name: 系统管理员 email: "" - password: "" # 由 OPS_DEFAULT_ADMIN_PASSWORD 环境变量注入(仅在 operator_accounts 为空时生效) + password: "liang0920" # 必须通过 OPS_DEFAULT_ADMIN_PASSWORD 提供(首次启动且表为空时使用) admin_users: default_plan_code: free ip_region: - v4_xdb_path: /app/data/ip2region_v4.xdb - v6_xdb_path: /app/data/ip2region_v6.xdb + # 可选外部 xdb 路径;文件不存在时自动使用二进制 embed 内置数据。 + v4_xdb_path: "" + v6_xdb_path: ""