# 通过命令行直接调用指定工具

## 使用场景

当你已经知道某个工具的名称和参数结构，想绕过其他界面，直接在命令行中执行该工具并查看执行结果时，可以使用工具系统的调用命令。

## 操作步骤

1. 先确认目标工具名称和参数要求。
2. 如果工具没有必填参数，可以直接运行：`jt call 工具名`。
3. 如果需要直接在命令行传参，可以使用 `--args` 传入 JSON 字符串，例如：`jt call read_code --args '{"files":[{"path":"README.md","start_line":1,"end_line":20}]}'`。
4. 如果参数较长，建议先写入 JSON 文件，再通过 `--args-file` 读取，例如：`jt call read_code --args-file ./args.json`。
5. `args.json` 中的内容应与工具参数结构一致，例如：`{"files":[{"path":"README.md","start_line":1,"end_line":20}]}`。
6. 提交命令后，等待工具执行完成并查看结果；若执行失败，根据终端中的缺参提示、JSON 格式错误提示或工具错误输出修正后再试。

## 你会看到的提示与反馈

- 工具执行后，系统会明确显示：

  - 工具执行成功
  - 或工具执行失败

- 如果工具有标准输出，会显示“输出”内容。
- 如果工具有错误输出，会显示“错误”内容。
- 如果 `--args` 或 `--args-file` 中的内容不是合法 JSON，会直接提示参数格式错误。
- 如果缺少必填参数，系统会明确列出：

  - 缺少哪些参数
  - 每个必填参数的说明

- 如果工具名称不存在，系统会直接提示该工具不存在。

## 注意事项

- `--args` 和 `--args-file` 都要求参数内容是合法 JSON，字段名和层级必须与 `jt show 工具名` 看到的参数定义一致。
- 当参数较长、层级较深时，更适合先写到 JSON 文件，再用 `--args-file` 读取。
- 如果工具执行失败，不一定是工具系统本身有问题，也可能是你传入的业务参数不正确。
- 调用命令会真正执行目标工具，因此在涉及写文件、网络请求或状态变更的工具时要先确认影响范围。
