feat(wire): 地基④ wire.go 接 vision/voice/mcp/skill/exec 五个子系统,从死代码变可用
- vision:model.Router 绑 WithVisionModel(LLM_VISION_MODEL);vision.RegisterTools(VisualTool/OCRTool) 用同一 OpenAICompatibleAdapter(LLM_BASE_URL 为空则跳过并 Warn)。 - voice:voice.New(cfg.Voice) Chain(cloud→local→edge-tts/espeak→silent)存 a.voice。 - mcp:读 cfg.MCP.ServersJSON → 逐 Enabled server mcp.NewRegistry(...).Register(ctx)(Connect+ DiscoverTools+RegisterTool),注册 KindMCP 能力 mcp:<name> 供 adminListPlugins 枚举; close() 中 Unregister 防 stdio 子进程孤儿;每 server 15s connect 超时,失败 Warn 跳过。 - skills:LoadDir(configs/skills) → skills.Register 为 KindSkill(Runner.Run 仍 ErrRunPending, 执行留后续)。 - exec/terminal:新 terminalTool(sdk.Tool) 内部调 execProv.Execute,注册进 dispatcher; ExecSandbox.Enabled=false 默认拦截(授权默认关)。 - config:LLMConfig 增 VisionModel(LLM_VISION_MODEL);新增 MCPConfig/ServersJSON(MCPSERVERS_JSON)。 - 拆 5 个辅助文件(vision.go/voice.go/mcp.go/skills.go/terminal_tool.go)避免 wire.go 膨胀; wire.go 最终 535 行。 默认配置下各子系统干净跳过不阻断启动(LLM_BASE_URL 已配则 vision 用主模型降级)。 go build/vet/test 全绿(46 包),gofmt 干净。
This commit is contained in:
1 parent
9b207a31e8
commit
eddb9b9891
8 files changed
+362
-1
No files matched your search
@@ -39,6 +39,10 @@ LLM_API_KEY=sk-xxxxx
|
||||
LLM_MODEL=gpt-4o
|
||||
LLM_FALLBACK_MODEL=gpt-4o-mini
|
||||
|
||||
# ---- LLM 视觉模型(多模态路由:含图片的请求路由到此模型) ----
|
||||
# 不配置则图片路由回主模型;仅当启用多模态能力时设置。
|
||||
# LLM_VISION_MODEL=gpt-4o-mini
|
||||
|
||||
# Provider = anthropic:Anthropic Messages /v1/messages(tool_use.input 为结构化对象,工具循环更稳)
|
||||
# ANTHROPIC_BASE_URL=https://api.anthropic.com
|
||||
# ANTHROPIC_API_KEY=sk-ant-xxxxx
|
||||
@@ -70,5 +74,18 @@ THINK_SILENCE_TIMEOUT_SEC=120
|
||||
WS_MAX_CONNECTIONS=1000
|
||||
SESSION_IDLE_TIMEOUT_MIN=30
|
||||
|
||||
# ---- MCP 服务器(可选,JSON 数组字符串;每台 server 含 name/command/args/url/enabled) ----
|
||||
# stdio 子进程示例:
|
||||
# MCP_SERVERS_JSON=[{"name":"calc","command":"mcp-calc","args":["--stdio"],"enabled":true}]
|
||||
# SSE 端点示例:
|
||||
# MCP_SERVERS_JSON=[{"name":"weather","url":"http://localhost:3001/sse","enabled":true}]
|
||||
|
||||
# ---- 本地执行沙箱(exec/terminal 工具;默认关闭,授权放权) ----
|
||||
# 只有 Enabled=true 时 agent 才可执行命令;仍需命令白名单与根目录边界。
|
||||
# EXEC_SANDBOX_ENABLED=false
|
||||
# EXEC_SANDBOX_COMMANDS=git,ls,cat,pwd
|
||||
# EXEC_SANDBOX_ROOTS=./data
|
||||
# EXEC_SANDBOX_ENV=PATH
|
||||
|
||||
# ---- 跨域白名单 ----
|
||||
ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3000
|
||||
Reference in new issue
Block a user