分支①第四步代码/配置层:RoutingMuseAiRuntimeClient 补 Dify 装配为占位 Unavailable 时的 fail-closed ——dify 选中但未装配/凭据缺 → 返回 Dify 专属 AI_DIFY_UNAVAILABLE 并拒绝,绝不回退 New-API(此前会 误报 AI_NEW_API_UNAVAILABLE);dify 分支三出口(requiresSourceRefs→REF_INVALID / !difyAvailable→ UNAVAILABLE / 否则 difyClient.execute)均不触碰 newApiClient(亲验)。Dify non-stream-read 超时默认 90→180s 对齐总预算(180≤180<SSE 死线 240);单人 solo-compose.env.example 启用 Dify 块(凭据取自 既有 S1 DIFY 块,未新造);New-API adapter 与配置保留(S8 才摘)。 在用 Agent 的 runtimeProvider 存于 muse_ai_agent_version.config(运行时 DB JSON 列)非静态种子,故真正 把在用 Agent 切 Dify 属 live 数据操作,归 M3 由主会话执行(本提交不含 DB 改动、不切换 live provider, 超时改动在 Dify 未启用前休眠)。 验证:ai 模块 530 用例全绿(新增 fail-closed 不回退 + Dify 完整正文形态 2 例);P1rDifyChatLiveAcceptanceIT 真连 100.64.0.8:18080 验证 wiring/契约/失败映射通过。**M3 live happy-path 阻断**:Dify「muse-写作透传」 app(75f105e8)/chat-messages 返 500(/info 200)= 该 app 模型后端未配好(Dify 侧配置,非 Muse 代码), 代码正确映射 AI_DIFY_PROVIDER_5XX 可重试+fail-closed;待所有者在 Dify 侧修复 app 模型配置后跑 M3。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
1.3 KiB
Plaintext
23 lines
1.3 KiB
Plaintext
# Muse 2.0.0 单人版 compose env 样例。
|
||
# S9 的 docker-compose.solo.yml 引用本文件;S4 只固化默认开关,不在这里提交真实凭据。
|
||
|
||
# 租户机制保持开启,单人部署所有 app/admin 请求固定使用 tenant-id: 1。
|
||
MUSE_TENANT_ENABLE=true
|
||
|
||
# Account New-API 管理口与多用户 worker 默认关闭。
|
||
MUSE_ACCOUNT_NEW_API_ENABLED=false
|
||
MUSE_ACCOUNT_EVENTS_PUBLISH_WORKER_ENABLED=false
|
||
MUSE_ACCOUNT_EVENTS_ATTRIBUTION_WORKER_ENABLED=false
|
||
MUSE_ACCOUNT_EVENTS_QUOTA_REQUEST_WORKER_ENABLED=false
|
||
|
||
# AI 运行时:S7d 生成主链切 Dify,启用 Dify adapter;New-API adapter 代码保留但配置默认关闭(S8 验收后才摘)。
|
||
MUSE_AI_NEW_API_ENABLED=false
|
||
MUSE_AI_DIFY_ENABLED=true
|
||
# Dify 生成 app 的真实凭据不在样例提交(见文件开头);base-url / writing app-id / api-key 从
|
||
# scripts/dev/p1r-external-acceptance.env 的 DIFY_S1 块(Muse 专属 workspace)注入,勿在此新造。
|
||
# credentialRef 仅为引用名(非密钥),须与注入的 Dify 凭据 ref 一致。
|
||
MUSE_AI_DIFY_WRITING_CREDENTIAL_REF=dify-writing-s1
|
||
# 生成正文时延上限对齐 180s 总预算(< SSE 死线 240s);短读超时须 ≥ 总预算,否则被 min() 截到 90s。
|
||
MUSE_AI_DIFY_NON_STREAM_READ_TIMEOUT_SECONDS=180
|
||
MUSE_AI_DIFY_TOTAL_TIMEOUT_SECONDS=180
|