Rust CLI · MCP Server · Agent Skill
ToolScout 工具优先门卫。
AI Agent 很容易在本来应该调用成熟工具的时候,顺手写一段临时代码。ToolScout 的目标很简单:在 Agent 重复造轮子之前,先检查本机已有工具、候选工具和历史经验。
01 / Why
它不是为了多一个工具,而是为了少写不必要的代码。
pre-code gate
写代码前触发
只在即将用临时代码重做通用本地操作时触发,例如文档转换、图片处理、JSON 提取、压缩、搜索等。
tool first
成熟工具优先
先查询 registry,再检测本机是否有 pandoc、jq、ffmpeg、magick、rg 等候选工具。
memory last
经验可复用但不越权
tool-memory 只保存工具经验,不是企业知识库,也不能被提升为高权威记忆。
02 / Architecture
三层设计:规则、运行时、共享工具记忆。
ToolScout 包含什么
- SKILL.md:Agent 如何触发、何时不触发的唯一规则源。
- Rust runtime core:提供 CLI、MCP、registry 查询、工具检测和诊断。
- shared tool-memory:默认保存在
~/.config/toolscout/tool-memory,记录实际验证过的工具经验。
ToolScout 不做什么
- 不代替 Agent 执行危险命令。
- 不自动安装软件。
- 不修改用户业务文件。
- 不维护第二份高权威规则。
- 不把 tool-memory 当成 Vault / 企业知识权威。
03 / Flow
Agent 工作流:先判断,再行动。
04 / Decisions
输出不是“必须用工具”,而是给 Agent 一个明确行动建议。
01
use_existing_tool
本机已有成熟工具,优先使用它,而不是写临时代码。
02
verify_recalled_recipe
历史经验里有可复用命令,但需要重新检测工具仍然存在、命令仍然有效。
03
tool_known_but_missing
存在合适工具但本机缺失,Agent 应使用 fallback,或在获得许可后安装。
04
write_code_allowed
没有合适成熟工具,或者任务本身需要自定义逻辑,才允许写代码。
05 / Install
macOS 快速安装;Linux 可从源码构建。
curl -sL https://github.com/licat233/toolscout/releases/download/v1.0.1/toolscout-universal-apple-darwin.tar.gz | tar xz mv toolscout-universal /usr/local/bin/toolscout toolscout memory init --json toolscout doctor toolscout advise --task 'extract text from a docx file' --intent avoid_custom_code --category document --json
06 / Agents
面向 Codex、Claude Code 和 Hermes Agent 的统一工具优先规则。
关键边界:不要在任务开始时默认运行 ToolScout。只有当 Agent 即将写临时代码去重做通用本地操作,或准备为这类操作安装依赖时,才触发 ToolScout。普通聊天、方案讨论、代码阅读、代码审查、仓库检查、正常软件开发,不应该触发。
GitHub
让 Agent 少造轮子,多用成熟工具。
项目源码、安装教程、MCP 集成示例和完整规则都在 GitHub 仓库中维护。