一次性提交当天全部改动(110 个文件)。 **未按 TOP_CODING_RULES.md G14.5「一次提交只装一件事」拆分** —— 用户明确要求 单一提交,此处如实记录,不静默忽略该冲突。 提交前验证:后端 go build / go vet / go test ./... 全绿,前端 npm run build exit 0,/api/health 与管理员 login 均返回 200。 - 专员目录收敛为 6 个:下线 knowledge-operations / process-coordination / presentation-briefing / report-generation 四个专员(前后端 manifest 与 seed 同步删除),新增 general-assistant。专员的归属关系(拥有哪些技能定义、 哪些目录项、提示词与绑定从哪来)改由 specialists/core 的 ownership.go、 prompt_provider.go、binding_provider.go 统一提供,seed 与 admin_handlers 随之内置化,卸载路径统一走 uninstall.go。 - 技能:补齐 text-to-speech 的前端 manifest(后端包在 HEAD 已存在), skillcore/ownership.go 提供与专员对称的归属查询。 - AI 路由:ai_config.json 由 OpenRouter/Ollama 切到 LMUAI / SiliconFlow / llama.cpp 本地路由,ai_secrets.example.json 与部署 env 样例同步新增 SILICONFLOW_API_KEY。 - 系统管理页重整:新增 AiAdminPage、OrganizationManagementPage,删除 AdminOverviewPage、CompanyConfigPage,SystemConfigPage 精简,nav / router / config/workbench.js 同步调整。依 G05.5,开发阶段直接收口到新结构,不留旧路由。 - 新增 internal/objectrefs:统一统计对象(专员 / 技能 / xapp)的运行时引用 (被多少 xapp、项目、任务引用),供管理页做删除前的影响面判断。 - 公众号创作专员:新增 OfficialAccountSpecialistPanel,workflow 与投递链路调整。 - XApp:考试 / 培训 Shell 扩展,XAppDirectoryPage 与 xappDefinition 同步。 - 文档:新增 GW01–GW05 工作台演进系列与 AR12 对话驱动与结构化交互架构; 同步 AR05 / SY17 / SY23 / SY25 / PL04;TOP_CODING_RULES.md 增补 G05.5。 Co-Authored-By: Claude Code <noreply@anthropic.com>
173 lines
5.6 KiB
JSON
173 lines
5.6 KiB
JSON
{
|
|
"agent_routes": {
|
|
"embed_gen": "embed_route_openrouter_text_v3",
|
|
"image_gen": "image_route_openrouter_gpt_image_2",
|
|
"path_coach": "chat_route_lmuai_deepseek_flash",
|
|
"title_gen": "chat_route_lmuai_deepseek_flash"
|
|
},
|
|
"chat_routes": {
|
|
"chat_route_lmuai_deepseek_flash": {
|
|
"description": "LMUAI / DeepSeek Flash",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 4096,
|
|
"model": "deepseek-flash",
|
|
"provider": "lmuai",
|
|
"short_model_name": "DeepSeek Flash",
|
|
"short_route_name": "LMUAI",
|
|
"temperature": 0.7
|
|
},
|
|
"chat_route_siliconflow_deepseek_v4_flash": {
|
|
"description": "SiliconFlow / DeepSeek V4 Flash",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 4096,
|
|
"model": "deepseek-ai/DeepSeek-V4-Flash",
|
|
"provider": "siliconflow",
|
|
"short_model_name": "DeepSeek V4 Flash",
|
|
"short_route_name": "SiliconFlow",
|
|
"temperature": 0.7
|
|
},
|
|
"chat_route_ollama_qwen": {
|
|
"description": "本地对话 · llama.cpp / Qwen3.5 4B",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 2048,
|
|
"model": "Qwen3.5-4B-Q4_K_M.gguf",
|
|
"provider": "llamacpp",
|
|
"short_model_name": "Qwen3.5 4B",
|
|
"short_route_name": "本地对话",
|
|
"temperature": 0.7
|
|
},
|
|
"chat_route_ollama_qwen_fast": {
|
|
"description": "本地快聊 · llama.cpp / Qwen3.5 4B",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 512,
|
|
"model": "Qwen3.5-4B-Q4_K_M.gguf",
|
|
"provider": "llamacpp",
|
|
"short_model_name": "Qwen3.5 4B",
|
|
"short_route_name": "本地快聊",
|
|
"temperature": 0.3
|
|
},
|
|
"chat_route_openrouter_deepseek_v3": {
|
|
"description": "OpenRouter / DeepSeek V3.2",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 4096,
|
|
"model": "deepseek/deepseek-v3.2",
|
|
"provider": "openrouter",
|
|
"short_model_name": "DeepSeek V3.2",
|
|
"short_route_name": "OpenRouter",
|
|
"temperature": 0.6
|
|
},
|
|
"chat_route_openrouter_deepseek_v4_flash": {
|
|
"description": "OpenRouter / DeepSeek V4 Flash 0731",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 4096,
|
|
"model": "deepseek/deepseek-v4-flash-0731",
|
|
"provider": "openrouter",
|
|
"short_model_name": "DeepSeek V4 Flash 0731",
|
|
"short_route_name": "OpenRouter",
|
|
"temperature": 0.7
|
|
},
|
|
"chat_route_openrouter_gpt_5": {
|
|
"description": "OpenRouter / GPT 5.4",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 8192,
|
|
"model": "openai/gpt-5.4",
|
|
"provider": "openrouter",
|
|
"short_model_name": "GPT 5.4",
|
|
"short_route_name": "OpenRouter",
|
|
"temperature": 0.7
|
|
},
|
|
"chat_route_openrouter_grok_4": {
|
|
"description": "OpenRouter / Grok 4.20",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 4096,
|
|
"model": "x-ai/grok-4.20",
|
|
"provider": "openrouter",
|
|
"short_model_name": "Grok 4.20",
|
|
"short_route_name": "OpenRouter",
|
|
"temperature": 0.6
|
|
}
|
|
},
|
|
"default_embed_route": "embed_route_openrouter_text_v3",
|
|
"default_route": "chat_route_lmuai_deepseek_flash",
|
|
"description": "eai_agentplatform AI 路由配置 — 按场景分类定义多条路由,支持 provider/模型切换",
|
|
"embed_routes": {
|
|
"embed_route_ollama_bge_m3": {
|
|
"description": "本地向量 · Ollama / BGE-M3",
|
|
"endpoint": "/embeddings",
|
|
"model": "bge-m3",
|
|
"provider": "ollama",
|
|
"short_model_name": "BGE-M3",
|
|
"short_route_name": "本地向量"
|
|
},
|
|
"embed_route_openrouter_text_v3": {
|
|
"description": "OpenRouter / text-embedding-3-small",
|
|
"endpoint": "/embeddings",
|
|
"model": "openai/text-embedding-3-small",
|
|
"provider": "openrouter",
|
|
"short_model_name": "text-embedding-3-small",
|
|
"short_route_name": "OpenRouter"
|
|
}
|
|
},
|
|
"fallback_routes": {
|
|
"chat_route_lmuai_deepseek_flash": [
|
|
"chat_route_ollama_qwen_fast",
|
|
"chat_route_ollama_qwen"
|
|
],
|
|
"chat_route_siliconflow_deepseek_v4_flash": [
|
|
"chat_route_ollama_qwen_fast",
|
|
"chat_route_ollama_qwen"
|
|
],
|
|
"chat_route_openrouter_deepseek_v3": [
|
|
"chat_route_openrouter_grok_4",
|
|
"chat_route_ollama_qwen"
|
|
],
|
|
"chat_route_openrouter_deepseek_v4_flash": [
|
|
"chat_route_openrouter_deepseek_v3",
|
|
"chat_route_openrouter_grok_4",
|
|
"chat_route_ollama_qwen"
|
|
],
|
|
"chat_route_openrouter_grok_4": [
|
|
"chat_route_ollama_qwen"
|
|
],
|
|
"embed_route_ollama_bge_m3": [
|
|
"embed_route_openrouter_text_v3"
|
|
],
|
|
"embed_route_openrouter_text_v3": [
|
|
"embed_route_ollama_bge_m3"
|
|
]
|
|
},
|
|
"image_routes": {
|
|
"image_route_ollama_llava": {
|
|
"description": "本地图像 · Ollama / LLaVA",
|
|
"endpoint": "/chat/completions",
|
|
"max_tokens": 2048,
|
|
"model": "llava",
|
|
"provider": "ollama",
|
|
"short_model_name": "LLaVA",
|
|
"short_route_name": "本地图像",
|
|
"temperature": 0.7
|
|
},
|
|
"image_route_openrouter_flux": {
|
|
"description": "OpenRouter / FLUX 1.1 Pro",
|
|
"endpoint": "/images/generations",
|
|
"max_tokens": 1024,
|
|
"model": "black-forest-labs/flux-1.1-pro",
|
|
"provider": "openrouter",
|
|
"short_model_name": "FLUX 1.1 Pro",
|
|
"short_route_name": "OpenRouter",
|
|
"temperature": 1
|
|
},
|
|
"image_route_openrouter_gpt_image_2": {
|
|
"description": "OpenRouter / GPT 5.4 Image 2",
|
|
"endpoint": "/images/generations",
|
|
"max_tokens": 4096,
|
|
"model": "openai/gpt-5.4-image-2",
|
|
"provider": "openrouter",
|
|
"short_model_name": "GPT 5.4 Image 2",
|
|
"short_route_name": "OpenRouter",
|
|
"temperature": 1
|
|
}
|
|
},
|
|
"version": "2.1.0"
|
|
}
|