Token导航 LogoToken导航TokenDH.com
Rtw Ollama Agent logo
AI代理未说明官方级别未说明来源级核验

Rtw Ollama Agent

MCP Server

一个基于LangChain和Ollama的本地Plan-and-Execute代理,支持任务分解、自动重规划和多工具调用。

工具数

6

提示词数

0

GitHub Stars

1

资源数

0
PythonAI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

stanaka1110

提供方

stanaka1110

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

rtw-ollama-agent

在LangChain+Ollama+MCP上运行的本地Plan-and-Execute代理。

正如“Reinventing The Wheel”之名,它不使用现有的代理框架,而是自行实施计划、执行、重放循环。

______________________________________________________________________

特徴

  • 完全本地执行 —通过Ollama在本地移动模型(默认值: qwen2.5:7b
  • 计划和执行 —LLM将任务分解为编号步骤,然后依次执行
  • 自动回复 -如果步骤失败或未完成的步骤仍然存在,请在继续完成的同时重新制定计划
  • 路由器 —通过关键字判定将问候、闲谈直接分配给Chat路径,仅将需要工具的任务分配给Agent路径
  • 输入固定器 —自动修改小型模型产生幻觉的工具名称、参数名称和转义字符,然后调用
  • 护栏 —Watchdog(重复失败检测)、语言保护(日语强制)、超时(EXEC_TIMEOUT),模板名称将采用不同的格式
  • 计量 —每次会话后,TCA/ArgFit/StepCR metrics.jsonl 记录到
  • MCP工具 —在容器中启动6种工具服务器
  • 模块结构 —按职责分割文件,以纯函数为中心完善单体测试

______________________________________________________________________

体系结构

┌─────────────────────────────────────────────────────────┐
│ executor.py          run()                              │
│   ├── _quick_classify() / classify_intent()  ← Router  │
│   ├── planner.py     make_plan()                        │
│   │     └── gather_current_state()                      │
│   └── exec_loop.py   run_exec_loop()                    │
│         ├── _fix_tool_name()   ← Tool Name Fixer        │
│         ├── _fix_args()        ← Arg Fixer              │
│         ├── _fix_content()     ← Content Fixer          │
│         ├── _invoke_tool()                              │
│         ├── _build_watchdog_hint()  ← Watchdog          │
│         └── planner.py  _apply_replan()                 │
└─────────────────────────────────────────────────────────┘

文件配置

app/
├── main.py          # エントリポイント (argparse + asyncio.run)
├── executor.py      # Router → plan → exec の接続
├── exec_loop.py     # 実行ループ + Input Fixer + Watchdog + メトリクス
├── planner.py       # LLM による計画生成・リプラン・状態収集
├── models.py        # Step dataclass / parse_steps / format_checklist
├── prompts.py       # 各フェーズのプロンプトテンプレート
├── utils.py         # MetricsLogger / setup_logging / ヘルパー関数
├── config.py        # 定数 (MAX_STEPS, EXEC_TIMEOUT など)
├── llm.py           # Ollama クライアント + モデル別設定
├── servers/         # MCP サーバー設定
└── tests/           # 単体テスト (pytest)

______________________________________________________________________

MCP工具

工具|用途| |---|---| 文件读写(/data/ 以下) | 执行命令(/workspace, /data) | 网页搜索+获取页面 在当前日期获取(JST) | sqlite | SQLite DB 操作 (/data/agent.db) | |memory|键值格式的注释持久化|

______________________________________________________________________

护栏

机能说明

在别名表+difflib中修改幻觉工具名称 错误的参数名(cmdcommand 等)根据方案进行修改 |内容修复器| write_file 的,之 \n 将文字转换为实际换行符(防止SyntaxError) 如果同一工具失败两次以上,则在重放时注入提示 | Language Guard | SYSTEM_PROMPTで日本语出力を强制| \\uEXEC_TIMEOUT \\uEXEC_TIMEOUT \\uEXEC_TIMEOUT asyncio.wait_for 剪切(默认值300秒)

______________________________________________________________________

计量

每次会话结束时 /app/logs/metrics.jsonl 对较大场景进行渲染期间已观察到该故障。

指标说明

总体拥有成本-在旋转期间调用工具的百分比 在不修改参数的情况下匹配方案的工具调用百分比 步骤完成速率-在所有步骤中完成的百分比

______________________________________________________________________

安装,安装

前提: 已安装Docker/Docker Compose

git clone https://github.com/stanaka1110/rtw-ollama-agent.git
cd rtw-ollama-agent

# コンテナをビルド・起動 (初回は Ollama モデルのダウンロードに時間がかかります)
docker compose up -d

ollama 服务 healthcheck 通过的话可以使用代理。

docker compose ps

______________________________________________________________________

用法

项目根目录 agent 通过脚本执行。

chmod +x agent  # 初回のみ

./agent "ToDoリストに「買い物」を追加して"
./agent "現在時刻を教えて"
./agent "hello world を出力する Python を書いて実行して"
./agent "agent.db に users テーブルを作って3件のサンプルデータを挿入して"

______________________________________________________________________

修改模型

docker-compose.yml 中所述修改相应参数的值。

environment:
  - OLLAMA_MODEL=qwen2.5:7b  # 任意の Ollama モデル

更改后 docker compose up -d 重新启动交互渲染。

支持的型号(llm.py ),模板名称将采用不同的格式

|模型|尺寸|特征| |---|---|---| | qwen2.5:7b |7B|基线(默认)| | qwen2.5:14b | 14B |泛用| | llama3.1:8b | 8B | Meta泛用| | llama3.2:3b | 3B | 軽量 | | mistral:7b | 7B |泛用| | gemma3:4b \[4B\]笔记本电脑通用 | gemma3:9b | 9B | Google泛用| | phi4 | 14B | STEM・论理推论| | lfm2.5-thinking | 1.2B |超軽量・推论特化| | qwen3:30b-a3b 30B(MoE)|高效率旗舰| | deepseek-r1:14b | 14B |蒸留版・推论特化|

上述以外的模型为默认设置(temperature=0.0, num_ctx=4096)来定义自定义外观。

______________________________________________________________________

测试

单体测试

docker exec langchain_app python -m pytest tests/ -v

|测试文件|对象| |---|---| | test_models.py | parse_steps / format_checklist | | test_utils.py | _sanitize / _task_message / _tool_descriptions | | test_planner.py | gather_current_state / _apply_replan | | test_exec_loop.py | _invoke_tool / _update_step |

模型比较测试

按顺序运行多个模型以比较结果和度量。

./test_models.sh

结果是 test_results/YYYYMMDD_HHMMSS/ 保存如下:。

文件内容 |---|---| | model_test_results.txt 每个模型任务的结果和所需时间 | metrics_snapshot.jsonl 这次的生度量 | *_task*.stderr.log 每个模型/任务的详细日志

目录标签

目录标签

PythonAI代理工作流自动化本地LLM代理本地部署任务分解自动重规划多工具调用LangChain集成

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP