# ─── LLM 配置(百炼 / DashScope OpenAI 兼容模式)───────────────────────────
# 百炼平台 API Key,从 https://bailian.console.aliyun.com/ 获取
DASHSCOPE_API_KEY=your_api_key_here

# 百炼 OpenAI 兼容端点(不要随意修改)
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# 调用的模型名;经百炼调用智谱 GLM-5.2
LLM_MODEL=glm-5.2

# LLM 采样参数(可选)
LLM_TEMPERATURE=0.1
LLM_MAX_TOKENS=2048
# 是否开启 GLM 思考模式(enable_thinking)。
#   false(默认,推荐)= 关闭思考,响应快;这两个 ReAct 步骤(任务拆解/排序)是简单分类任务,不需要深度思考
#   true              = 开启思考,质量更高但慢(单步可达 10-40s)
LLM_ENABLE_THINKING=false
# 思考档位(reasoning_effort),可选 low/medium/high,留空则不发送。
#   仅思考型模型支持;回退机制会在模型不支持(返回 400/422 等非标准码)时自动剥除该参数重试。
#   low = 让模型"草稿随便写两笔",思考 tokens 显著减少,适合配额紧张的场景
LLM_REASONING_EFFORT=

# 模糊匹配召回的候选数量(可选,默认 5)
SELECTOR_TOP_K=5

# 命中阈值(LLM 打分 0-100,top1 >= 该值且 top1-top2 分差>=10 才算检索命中)
# 默认 60;低于此值或分差过小判定为未命中,best/skillPath 返回 null
# 配合规则化评分:语言不匹配/动作类型不一致等硬伤会被压到 45-50 以下
SELECTOR_HIT_THRESHOLD=60

# 备用模型(连续 3 次 529 过载时切换,留空则不切换)
FALLBACK_MODEL=qwen3.7-max

# 多路召回融合权重(动作通道 / 领域通道 / 原文兜底通道,三者之和无需为 1,内部会按比例融合)
# 默认 0.4 / 0.4 / 0.2。领域通道用于匹配 SKILL 的 useWhen 与产出物特征词,是提升召回稳定性的关键。
SELECTOR_WEIGHT_ACTION=0.4
SELECTOR_WEIGHT_DOMAIN=0.4
SELECTOR_WEIGHT_RAW=0.2

# ─── 编排并发控制 ──────────────────────────────────────────────────────────
# 全局 AI Session 并发上限(Orchestrator 进程级信号量,跨所有编排任务共享)。
# 并行 fan-out 步骤 / 多任务同时提交时,活跃 opencode Session 总数不超过该值,
# 超出部分 FIFO 排队。前端顶栏"🔀 并发"pill 实时展示占用(15s 轮询)。
MAX_CONCURRENT_SESSIONS=50

# ─── CLI 配置(AI 编程助手后端)────────────────────────────────────────────
# 默认 CLI 类型:'deveco-code'(默认,HarmonyOS 场景)| 'opencode'
#   deveco-code  → 需启动 deveco serve(默认 localhost:4096)
#   opencode     → 需启动 opencode serve(默认 localhost:4096)
# 两者默认端口一致,切换无需改端口,但同一时间只能运行一个 serve;
# 需两者并存时给其一指定其他端口(如 DEVECO_PORT=4097)
# 优先级:显式 type 参数 > --type 命令行参数 > shell 环境变量 CLI_TYPE > 此处
CLI_TYPE=deveco-code

# 连接配置(可选,一般保持默认即可)
# OPENCODE_HOST=localhost
# OPENCODE_PORT=4096
# DEVECO_HOST=localhost
# DEVECO_PORT=4096

# GitCode Token(用于访问私有仓库,若不需要可留空)
GIT_TOKEN=xxxxxxxxxxxxxxxxxx

# 数据目录(任务中间产物根目录,默认 ~/.3lib/3rdloop/db;取消注释可指定,路径建议填绝对路径)
# 3LIB_DATA_DIR=C:\Users\16050\.3lib\3rdloop\db

# SKILL 目录(技能库根目录;不配置时默认取发布包内 vendor/Server/Skills,开发期为仓库内 Server/Skills;取消注释可指定,路径建议填绝对路径)
3LIB_SKILL_DIR=/absolute/path/to/Skills