Version: 0.9.15.dev.260412
后端: 1. 排程工具从 tools/ 根目录拆分为 tools/schedule 独立子包 - 12 个排程工具文件等价迁入 tools/schedule/,tools/ 根目录仅保留 registry.go 作为统一注册入口 - 所有依赖方(conv / model / node / prompt / service)import 统一切到 schedule 子包 2. Web 搜索工具链落地(tools/web 子包) - 新增 web_search(结构化检索)与 web_fetch(正文抓取)两个读工具,支持博查 API / mock 降级 - 启动流程按配置选择 provider,未识别类型自动降级为 mock,不阻断主流程 - 执行提示补齐 web 工具使用约束与返回值示例 - config.example.yaml 补齐 websearch 配置段 前端:无 仓库:无
This commit is contained in:
@@ -17,6 +17,7 @@ import (
|
||||
"github.com/LoveLosita/smartflow/backend/middleware"
|
||||
newagentconv "github.com/LoveLosita/smartflow/backend/newAgent/conv"
|
||||
newagenttools "github.com/LoveLosita/smartflow/backend/newAgent/tools"
|
||||
"github.com/LoveLosita/smartflow/backend/newAgent/tools/web"
|
||||
"github.com/LoveLosita/smartflow/backend/pkg"
|
||||
"github.com/LoveLosita/smartflow/backend/routers"
|
||||
"github.com/LoveLosita/smartflow/backend/service"
|
||||
@@ -139,8 +140,33 @@ func Start() {
|
||||
|
||||
// newAgent 依赖接线。
|
||||
agentService.SetAgentStateStore(dao.NewAgentStateStoreAdapter(cacheRepo))
|
||||
|
||||
// 1. WebSearch provider 初始化:根据配置选择 mock/bocha;
|
||||
// 2. provider 为 nil 时,web_search / web_fetch 返回"暂未启用",不阻断主流程。
|
||||
var webSearchProvider web.SearchProvider
|
||||
webProvider := viper.GetString("websearch.provider")
|
||||
switch webProvider {
|
||||
case "bocha":
|
||||
bochaKey := viper.GetString("websearch.apiKey")
|
||||
if bochaKey == "" {
|
||||
log.Println("WebSearch: 博查 API Key 为空,降级为 mock")
|
||||
webSearchProvider = &web.MockProvider{}
|
||||
} else {
|
||||
webSearchProvider = web.NewBochaProvider(bochaKey, "")
|
||||
log.Println("WebSearch provider: bocha")
|
||||
}
|
||||
case "mock", "":
|
||||
webSearchProvider = &web.MockProvider{}
|
||||
log.Println("WebSearch provider: mock(模拟模式)")
|
||||
default:
|
||||
// 未识别的 provider 类型降级为 mock 并输出警告。
|
||||
log.Printf("WebSearch provider %q 未识别,降级为 mock", webProvider)
|
||||
webSearchProvider = &web.MockProvider{}
|
||||
}
|
||||
|
||||
agentService.SetToolRegistry(newagenttools.NewDefaultRegistryWithDeps(newagenttools.DefaultRegistryDeps{
|
||||
RAGRuntime: ragRuntime,
|
||||
RAGRuntime: ragRuntime,
|
||||
WebSearchProvider: webSearchProvider,
|
||||
}))
|
||||
agentService.SetScheduleProvider(newagentconv.NewScheduleProvider(scheduleRepo, taskClassRepo))
|
||||
agentService.SetSchedulePersistor(newagentconv.NewSchedulePersistorAdapter(manager))
|
||||
|
||||
Reference in New Issue
Block a user