Files
smartmate/backend/config.example.yaml
Losita abe3b4960e Version: 0.9.68.dev.260504
后端:
1. 阶段 3 notification 服务边界落地,新增 `cmd/notification`、`services/notification`、`gateway/notification`、`shared/contracts/notification` 和 notification port,按 userauth 同款最小手搓 zrpc 样板收口
2. notification outbox consumer、relay 和 retry loop 迁入独立服务入口,处理 `notification.feishu.requested`,gateway 改为通过 zrpc client 调用 notification
3. 清退旧单体 notification DAO/model/service/provider/runner 和 `service/events/notification_feishu.go`,旧实现不再作为活跃编译路径
4. 修复 outbox 路由归属、dispatch 启动扫描、Kafka topic 探测/投递超时、sending 租约恢复、毒消息 MarkDead 错误回传和 RPC timeout 边界
5. 同步调整 active-scheduler 触发通知事件、核心 outbox handler、MySQL 迁移边界和 notification 配置

文档:
1. 更新微服务迁移计划,将阶段 3 notification 标记为已完成,并明确下一阶段从 active-scheduler 开始
2026-05-04 18:40:39 +08:00

153 lines
3.0 KiB
YAML

# SmartFlow 后端配置示例
#
# 说明:
# 1. 请复制为 config.yaml 后按实际环境填写。
# 2. 本示例只保留当前代码仍会读取的配置项,避免示例与运行配置持续漂移。
# 服务启动配置。
server:
port: 8080
# MySQL 主库配置。
database:
host: localhost
port: 3306
user: smartflow_user
password: "put_your_database_password_here"
dbname: "put_your_database_name_here"
# 登录态与鉴权令牌配置。
jwt:
accessSecret: "put_your_jwt_access_secret_here"
refreshSecret: "put_your_jwt_refresh_secret_here"
accessTokenExpire: 15min
refreshTokenExpire: 7d
# Redis 配置。
redis:
host: localhost
port: 6379
password: ""
# user/auth zrpc 独立服务与网关客户端配置。
userauth:
rpc:
listenOn: "0.0.0.0:9081"
endpoints:
- "127.0.0.1:9081"
timeout: 2s
# Kafka outbox 事件总线配置。
kafka:
enabled: true
brokers:
- "localhost:9092"
topic: "smartflow.agent.outbox"
groupID: "smartflow-agent-outbox-consumer"
retryScanInterval: 1s
retryBatchSize: 100
maxRetry: 20
# 通知投递配置。
notification:
rpc:
listenOn: "0.0.0.0:9082"
endpoints:
- "127.0.0.1:9082"
timeout: 6s
frontendBaseURL: "http://localhost:5173"
retryScanEvery: 1m
retryBatchSize: 50
# 时间与学期边界配置。
time:
zone: "Asia/Shanghai"
semesterStartDate: "2026-03-02"
semesterEndDate: "2026-07-19"
# 智能体模型配置。
agent:
liteModel: "doubao-seed-2-0-code-preview-260215"
proModel: "doubao-seed-2-0-code-preview-260215"
maxModel: "doubao-seed-2-0-code-preview-260215"
baseURL: "https://ark.cn-beijing.volces.com/api/v3"
thinking:
plan: true
execute: true
deliver: false
memory: false
# 课表图片导入识别配置。
courseImport:
visionModel: ""
maxImageBytes: 5242880
maxTokens: 8192
# 通用 RAG 配置。
rag:
enabled: true
store: "milvus"
topK: 8
threshold: 0.55
retrieve:
timeoutMs: 1500
ingest:
chunkSize: 400
chunkOverlap: 80
embed:
provider: "eino"
model: "doubao-embedding-vision-251215"
baseURL: "https://ark.cn-beijing.volces.com/api/v3"
timeoutMs: 1200
dimension: 1024
reranker:
enabled: false
provider: "noop"
timeoutMs: 1200
milvus:
address: "http://localhost:19530"
token: "root:Milvus"
dbName: ""
collectionName: "smartflow_rag_chunks"
metricType: "COSINE"
requestTimeoutMs: 1500
# 记忆模块配置。
memory:
enabled: true
rag:
enabled: true
read:
mode: legacy
constraintLimit: 5
preferenceLimit: 5
factLimit: 5
inject:
renderMode: flat
prompt:
extract: ""
decision: ""
threshold: 0.55
enableReranker: false
llm:
temperature: 0.1
topP: 0.2
job:
maxRetry: 6
worker:
pollEvery: 2s
claimBatch: 1
decision:
enabled: true
candidateTopK: 5
candidateMinScore: 0.6
fallbackMode: legacy_add
write:
mode: legacy
minConfidence: 0.5
# 联网搜索能力配置。
websearch:
provider: bocha
apiKey: ""