ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AgenticSeek 本地 Agent 拆解:从 Ollama 到 Web UI 的配置骨架与验证路径

AgenticSeek 本地 Agent 拆解:从 Ollama 到 Web UI 的配置骨架与验证路径 1. 为什么 AgenticSeek 值得拆开看AgenticSeek 是一个把本地大模型、多 Agent 分工、浏览器自动化、代码执行、文件操作和 Web UI 串在一条工作流里的 local agent 项目。它给自己的定位很直接私有、本地优先的 Manus 替代方案。这句话容易让人兴奋也容易让人误解。它不是把 Ollama 接到网页上的聊天壳子而是试图让模型真正去“做事”——搜索网页、打开链接、运行代码、读写工作目录再把结果反馈回模型继续修正。我关注它有一段时间了原因很简单它几乎覆盖了一个 local agent 项目该有的全部关键模块。Router 负责判断请求类型Planner 负责拆解复杂任务Browser、Coder、File 各司其职Provider 层把 Ollama、LM Studio 和云端 API 统一成一套接口前端用 React 轮询 FastAPI 后端展示执行过程。对想理解 local agent 架构的人来说这是一个不算庞大、但足够典型的样本。这篇不聊源码逐行分析聚焦一件事把 AgenticSeek 的配置骨架搭起来从 Ollama 接入到 Web UI 验证走通一条可复制的路径。读完你应该能判断它现在能做什么、边界在哪、值不值得投入时间。适合有本地模型基础、想动手跑一个 agent 系统的开发者也适合刚接触 local agent 概念、想找个真实项目上手的小白。2. 前置准备Ollama 与 TaoToken 的分工在动手之前先把两个东西的角色分清楚。Ollama 负责在本地跑模型AgenticSeek 通过 Provider 层调用它。但本地模型在复杂任务规划、代码生成、工具调用格式约束上能力往往不够稳。这时候需要一个能稳定输出结构化结果的模型来兜底尤其是 Router 判断和 Planner 拆解 JSON 这两个环节。TaoToken 在这里的作用是提供一个统一的模型接入入口。你可以把它理解成一个模型网关本地 Ollama 跑轻量任务遇到需要强推理的规划步骤时切到 TaoToken 上的模型。它的 API 地址是 https://taotoken.net/api兼容 OpenAI 风格的调用方式所以 AgenticSeek 的 Provider 配置里可以直接复用。先拿到 API Key。访问 https://taotoken.net/api-keys 创建密钥注意这个页面带 UTM 参数方便追踪来源。创建后复制保存后面写进配置文件。如果你还没决定用哪些模型可以先到模型对话页面 https://taotoken.net/models 看看当前可用的模型列表对比一下上下文长度和推理能力再决定 Router 和 Planner 分别用哪个。对于长期跑编码和 Agent 任务的场景Coding Plan 页面 https://taotoken.net/coding-plan 有更细的套餐说明适合需要稳定调用量的情况。注意本地优先不等于永远不联网。如果你在配置里选了云端 Provider请求内容会发送到对应服务。涉及敏感文件的任务建议全程走本地 Ollama。3. 可复制的配置骨架AgenticSeek 的配置分散在几个文件里核心是 config.toml 和 settings.json。下面给出一个能跑通的最小骨架你可以直接复制后按需改。3.1 config.toml 骨架这个文件主要定义 Provider、模型名和 Agent 行为参数。放在项目根目录。[MAIN] provider ollama model qwen2.5:7b temperature 0.2 max_tokens 4096 [OLLAMA] base_url http://localhost:11434 model qwen2.5:7b [TAOTOKEN] base_url https://taotoken.net/api api_key sk-你的密钥 model gpt-4o-mini [ROUTER] provider taotoken model gpt-4o-mini complexity_threshold 0.6 [PLANNER] provider taotoken model gpt-4o-mini max_steps 8 [WORK_DIR] path /home/yourname/agenticseek_workspace safe_mode true几个关键点说明。provider 字段决定默认走哪个模型源本地调试时设成 ollama需要强规划时把 ROUTER 和 PLANNER 单独指向 taotoken。complexity_threshold 控制任务复杂度判断的敏感度值越低越容易触发 Planner。WORK_DIR 是 Agent 能操作的目录边界务必单独创建不要指向主目录。3.2 settings.json 骨架前端和后端共享的一些运行时设置放在这里主要影响 Web UI 的轮询和展示行为。{ api_base: http://localhost:8000, poll_interval_ms: 1500, show_screenshots: true, show_execution_blocks: true, max_history: 50, browser: { headless: true, timeout_sec: 30, searxng_url: http://localhost:8080 }, safety: { confirm_shell: true, blocked_commands: [rm, dd, mkfs, chmod, chown, kill] } }poll_interval_ms 是前端拉取最新回答的间隔设太小会增加后端压力设太大界面更新会卡顿1500 毫秒是个折中值。confirm_shell 打开后涉及 shell 执行的步骤会要求确认建议初期保持开启。blocked_commands 是危险命令黑名单按需增删。3.3 环境变量与启动把密钥这类敏感信息放到 .env不要硬编码进 config.toml。# .env TAOTOKEN_API_KEYsk-你的密钥 OLLAMA_HOSThttp://localhost:11434 WORK_DIR/home/yourname/agenticseek_workspace启动顺序建议先起 Ollama再起 SearxNG最后起后端和前端。用 docker-compose 可以一次拉起但调试阶段分开起更容易定位问题。ollama serve docker run -d -p 8080:8080 searxng/searxng python api.py cd frontend/agentic-seek-front npm start4. 验证请求与成功结果配置写完不代表能跑通得用几个小任务验证链路。我一般分三步走从简单到复杂。4.1 验证本地模型连通先确认 Ollama 能被 AgenticSeek 调起来。在 CLI 里输入一个纯聊天请求你好用一句话介绍你自己如果 Router 判断为 casual 类型会交给 CasualAgent 处理走本地 Ollama。预期结果是几秒内返回一段文本Web UI 的对话区出现回答没有执行块。如果卡住或报连接错误检查 OLLAMA_HOST 和 base_url 是否一致。4.2 验证工具调用接着测一个带文件操作的简单任务在当前工作目录创建一个 test.txt写入 hello agenticseek这个请求应该被路由到 FileAgent。预期结果是 Web UI 出现一个执行块显示文件写入操作工作目录下真的多出 test.txt。如果执行块出现但文件没生成多半是 WORK_DIR 路径权限问题。4.3 验证 Planner 与云端模型最后测复杂任务触发 Planner搜索三个本地 AI 工具项目把名称和一句话简介保存到 tools.md这个任务包含搜索、筛选、写文件多个动作Router 应该判断为高复杂度交给 Planner 拆解。Planner 走 TaoToken 上的模型生成 JSON 计划再分发给 Browser 和 File Agent。预期结果是 Web UI 依次出现搜索执行块、文件写入块最终 tools.md 里有三条记录。如果 Planner 返回的 JSON 解析失败说明模型输出格式不稳换一个约束能力更强的模型或者在 prompts 里加强格式说明。5. 本篇常见错排查跑不通的时候问题往往集中在几个地方。下面是我踩过的坑和对应解法。Ollama 连接被拒报错Connection refused或Max retries exceeded。先确认ollama serve在跑再确认 config.toml 里的 base_url 是http://localhost:11434而不是127.0.0.1混用。Docker 里跑后端时localhost 指向容器本身要改成宿主机的实际地址。Router 总是选错 Agent简单任务被丢给 Planner或者文件任务被当成聊天。这通常是 complexity_threshold 设太低或者 Router 用的模型判断力不够。把阈值调到 0.7 以上Router 换成 TaoToken 上推理更强的模型。Planner JSON 解析失败日志里出现json.decoder.JSONDecodeError。原因是模型输出的计划里混了自然语言。解法是在 planner_agent.txt 提示词里明确要求只输出 JSON不要加解释同时把 temperature 降到 0.1。Web UI 一直转圈不更新前端轮询拿不到数据。检查 api_base 是否指向后端实际端口后端是否正常响应/health。如果后端日志有报错先解决后端问题前端只是表象。浏览器 Agent 打不开网页SearxNG 没起或者 headless 模式下 Selenium 缺依赖。先单独访问http://localhost:8080确认 SearxNG 可用再检查浏览器驱动版本是否匹配。文件写到了意外位置WORK_DIR 配置不对或者 Agent 用了绝对路径。把 WORK_DIR 设成独立沙盒目录定期检查目录内容别让它碰主目录。排障时优先看后端日志前端只是展示层。大部分问题在sources/interaction.py和sources/router.py的日志里能找到线索。接入相关的文档可以在 https://taotoken.net/doc 查到接口细节和参数说明。6. 把这条链路用起来配置骨架搭通之后AgenticSeek 的实际用法就清晰了本地 Ollama 处理日常对话和轻量文件任务TaoToken 上的模型负责 Router 判断和 Planner 拆解两者通过 Provider 层无缝切换。Web UI 把整个执行过程可视化你能看到每一步调用了哪个 Agent、执行了什么工具、返回了什么结果。这套链路的价值不在于替代人而在于把搜索、执行、修正、保存这些小动作串起来。适合的任务是公开信息搜索总结、工作目录内的文件处理、小脚本生成与验证。不适合的是高风险网页操作、生产环境 shell 命令、涉及敏感数据的云端调用。想长期跑编码和 Agent 任务的话Coding Plan 页面 https://taotoken.net/coding-plan 有更稳定的调用方案。需要管理多个密钥或查看用量控制台在 https://taotoken.net/console。Claude Code 相关的接入配置可以参考 https://taotoken.net/claudecode。下一步建议你从一个小任务开始比如让它整理工作目录里的文件列表并生成一份 markdown 索引。跑通之后再逐步加复杂度观察 Router 和 Planner 的表现。边界是试出来的不是读出来的。
返回列表