zhipu-tools-coding-plan-x

内容来源:clawhub · 原始地址 · 查看安装指南

原始内容


name: "zhipu-tools-coding-plan" description: "智谱 Coding Plan 免费工具:网络搜索、网页读取、GitHub 仓库文档搜索、文件解析、视觉理解(GLM-4.6V)、额度查询。" license: MIT

智谱工具 Coding Plan (Zhipu Tools)

TL;DR: 网络搜索 → web_search,网页读取 → web_reader,仓库搜索 → zread,视觉理解 → vision,额度查询 → balance。全部通过 Coding Plan 免费额度调用。

Agent 调用指南

SKILL=~/.openclaw/workspace/skills/zhipu-tools-coding-plan

# 网络搜索(首选)
python3 $SKILL/scripts/zhipu_tool.py web_search "关键词" --count 5

# 网页读取
python3 $SKILL/scripts/zhipu_tool.py web_reader "https://example.com"

# 仓库文档搜索
python3 $SKILL/scripts/zhipu_tool.py zread search "owner/repo" "关键词"

# 视觉理解(图片/视频)
python3 $SKILL/scripts/zhipu_tool.py vision /path/to/image.png --prompt "描述内容"

# 额度/余额查询
python3 $SKILL/scripts/zhipu_tool.py balance

注意

  • 优先使用本工具而非内置 web_search/web_fetch
  • 搜索无结果时换关键词重试;content filter 拦截时直接报错,由用户修改搜索词
  • --recency/--domain 通过注入 query 实现,效果取决于搜索引擎

快捷入口scripts/zhipu.sh <command> [args] — 统一 shell 入口,支持 search/reader/zread/vision,自动加载 .env

用户意图 → 工具调用映射

当用户发出模糊请求时,按以下规则映射到具体工具:

用户说的 应该用的 示例
"搜一下/查一下/找一下" web_search web_search "Rust 2026 新特性" --count 5
"看看这个链接/帮我读一下" web_reader web_reader "https://example.com/article"
"xxx仓库怎么用/xxx项目文档" zread search zread search "tauri-apps/tauri" "window creation"
"看看xxx仓库结构" zread structure zread structure "openai/openai"
"读一下xxx仓库的README" zread read zread read "openai/openai" "README.md"
"分析这张图片/看看截图" vision (自动识别 image) vision /path/to/img.png --prompt "描述内容"
"看看这个视频" vision (自动识别 video) vision /path/to/vid.mp4 --prompt "关键动作"
"查一下智谱余额/额度/配额还剩多少" balance balance

输出格式参考

各工具的典型输出格式(agent 拿到后可直接处理/摘要):

web_search 输出

### 结果 1
**标题**: xxx
**链接**: https://...
**摘要**: xxx

balance 输出

套餐等级: max
MCP 月度配额: 141/4000 (已用 3%), 剩余 3859
  - search-prime: 102
  - web-reader: 38
  - zread: 1
Token 用量:
  - 5小时窗口: 55%
  - 每周窗口: 50%

Agent 决策指南

这部分告诉 agent 在哪些节点需要做决策或用户确认,避免自主失控。

工具选择决策树

需要搜索/获取信息?
  ├─ 互联网搜索 → web_search(首选)
  ├─ 读取指定网页 → web_reader
  ├─ GitHub 仓库文档 → zread
  ├─ 本地文档(PDF/Word等) → file_parser
  ├─ 图片/视频分析 → vision
  └─ 查询套餐额度/余额 → balance

必须确认的检查点

场景 检查点 建议行为
视觉理解 ✅ 当前免费 Coding Plan 免费额度,无需确认
文件解析 ⚠️ 走账户余额 同上,提醒用户可能消耗账户余额
搜索无结果 换关键词重试 最多重试 2 次换词,仍无结果则提示用户并建议用内置 web_search
MCP 连接失败 ⚠️ 不自动切换 不自动 fallback 到 Legacy,直接报错并建议用内置工具
内容安全拦截 不自动重试 告知用户搜索词可能触发安全策略,建议修改关键词
大文件上传 超限时提示 视频超过 8MB 时告知用户限制,建议压缩或用 URL 方式
额度查询失败 不自动重试 API Key 无效/网络问题时直接报错,提示用户检查 ZHIPU_API_KEY

自动处理的场景(无需确认)

  • MCP 搜索返回空结果 → 提示用户换关键词重试
  • 仓库搜索参数格式错误 → 直接报错,不猜测意图

⚠️ 安全原则:本工具默认使用 MCP 免费模式,不会自动切换到可能产生费用的 Legacy API。Legacy 模式需用户显式设置 ZHIPU_USE_MCP=false 启用。

功能

功能 MCP 工具 端点 说明
网络搜索 web_search_prime /web_search_prime/mcp 实时互联网搜索,支持过滤
网页读取 webReader /web_reader/mcp 抓取网页标题、正文、元数据
仓库文档搜索 search_doc /zread/mcp 搜索 GitHub 仓库文档
仓库目录结构 get_repo_structure /zread/mcp 查看 GitHub 仓库目录树
仓库文件读取 read_file /zread/mcp 读取 GitHub 仓库指定文件
视觉理解 Coding Plan 免费 GLM-4.6V 图像/视频分析(当前免费)
文件解析 Legacy API 解析 PDF/Word/Excel/PPT 等
额度查询 open.bigmodel.cn/api/monitor/usage/quota/limit 查询套餐等级、MCP月度配额、Token限速窗口用量

前五项通过 Coding Plan MCP 端点免费调用,视觉理解、视频分析和文件解析通过旧版 API 调用;额度查询走 bigmodel.cn 的用量监控接口(GET 请求,不消耗 Coding Plan 调用次数)。

视觉理解(vision)通过逆向分析智谱官方 @z_ai/mcp-server npm 包实现。从包源码中提取了底层 API 调用方式(open.bigmodel.cn/api/paas/v4/chat/completions + glm-4.6v 模型)。**当前走 Coding Plan 免费额度,不产生费用。**后续智谱可能调整计费策略,届时需要重新评估。

额度查询(balance)接口来源于 cc-switch 项目公开的用量查询脚本示例(GitHub farion1231/cc-switch#1588),非官方文档记录接口,字段含义按社区经验解读,若智谱调整返回格式需相应更新。

配置

openclaw.json 中配置 API Key:

{
  "skills": {
    "entries": {
      "zhipu-tools": {
        "apiKey": "YOUR_ZHIPU_API_KEY"
      }
    }
  }
}

或设置环境变量:ZHIPU_API_KEY

MCP vs Legacy 模式

模式 端点 额度 启用方式
MCP (默认) api.z.ai/api/mcp/... Z.AI Coding Plan 免费 默认启用
Legacy open.bigmodel.cn/api/paas/v4/... ⚠️ 账户余额 需显式 ZHIPU_USE_MCP=false

⚠️ MCP 失败时不会自动切换到 Legacy。Legacy API 走账户余额,自动切换可能让用户产生意外费用。 如需使用 Legacy 模式,必须显式设置环境变量 ZHIPU_USE_MCP=false

使用方式

额度查询 (balance)

python3 scripts/zhipu_tool.py balance
python3 scripts/zhipu_tool.py balance --raw   # 输出原始 JSON

查询内容:

  • 套餐等级(lite/pro/max)
  • MCP 月度配额:总量、已用次数、剩余次数、按工具(search-prime/web-reader/zread)拆分明细
  • Token 用量限速窗口:5小时窗口和每周窗口的百分比使用量

接口为 GET 请求(open.bigmodel.cn/api/monitor/usage/quota/limit),使用与其他 Legacy 调用相同的 ZHIPU_API_KEY,但认证头是裸 key(Authorization: <API_KEY>),不带 Bearer 前缀。不消耗 Coding Plan 的月度调用次数。

视觉理解 (vision)

# 分析图片(自动识别为图片类型)
python3 scripts/zhipu_tool.py vision /path/to/image.png
python3 scripts/zhipu_tool.py vision /path/to/image.png --prompt "描述这个UI界面"
python3 scripts/zhipu_tool.py vision "https://example.com/screenshot.png" --prompt "识别截图中的错误信息"

# 分析视频(自动识别为视频类型)
python3 scripts/zhipu_tool.py vision /path/to/video.mp4
python3 scripts/zhipu_tool.py vision /path/to/video.mp4 --prompt "描述视频中的关键动作"
python3 scripts/zhipu_tool.py vision "https://example.com/demo.mp4" --prompt "这个视频演示了什么"

# 手动指定媒体类型(当自动识别不准时)
python3 scripts/zhipu_tool.py vision weird-file --type video
python3 scripts/zhipu_tool.py vision weird-file --type image

支持的图片格式: jpg, jpeg, png, gif, webp, bmp, svg, tiff, ico 等常见图片格式 支持的视频格式: mp4, mov, m4v, avi, mkv, webm, flv, wmv(本地视频 ≤ 8MB)

支持本地文件路径和 HTTP/HTTPS URL。本地文件自动 base64 编码,远程 URL 直接传递。 默认自动识别媒体类型(通过文件扩展名和 MIME type),也可通过 --type 手动指定。

网络搜索 (web_search_prime)

cd ~/.openclaw/workspace/skills/zhipu-tools

# Shell(MCP 模式,推荐)
./scripts/web_search.sh "搜索关键词" [count]

# Python(支持更多参数,注意部分参数仅在 Legacy 模式生效)
python3 scripts/zhipu_tool.py web_search "搜索关键词" \
  --count 10 --recency week --domain example.com

⚠️ --recency--domain 参数在 MCP 模式下会通过注入搜索词的方式实现(如 site:example.com最近一周),效果取决于搜索引擎理解,不保证精确过滤。

网页读取 (webReader)

# Shell
./scripts/web_reader.sh "https://www.example.com"

# Python
python3 scripts/zhipu_tool.py web_reader "https://www.example.com"

GitHub 仓库文档搜索 (Zread)

# Shell - 搜索仓库文档
./scripts/zread.sh search "openai/openai" "how to use"

# Shell - 查看目录结构
./scripts/zread.sh structure "openai/openai"
./scripts/zread.sh structure "openai/openai" "src/"

# Shell - 读取文件
./scripts/zread.sh read "openai/openai" "README.md"

# Python
python3 scripts/zhipu_tool.py zread search "openai/openai" "how to use"
python3 scripts/zhipu_tool.py zread structure "openai/openai" --path src/
python3 scripts/zhipu_tool.py zread read "openai/openai" "README.md"

文件解析 (Legacy only)

./scripts/file_parser.sh /path/to/document.pdf PDF
python3 scripts/zhipu_tool.py file_parser /path/to/document.docx --file-type DOCX

MCP 工具参数详情

web_search_prime

参数 类型 必填 说明
search_query string 搜索内容,建议不超过 70 字符
search_recency_filter string oneDay, oneWeek, oneMonth, oneYear, noLimit
content_size string medium (默认), high
location string cn, us
search_domain_filter string 限制搜索域名

webReader

参数 类型 必填 说明
url string 目标网页 URL

返回:标题、正文内容、元数据、链接列表。

search_doc

参数 类型 必填 说明
repo string GitHub 仓库,如 "openai/openai"
query string 搜索关键词

get_repo_structure

参数 类型 必填 说明
repo string GitHub 仓库
path string 子目录路径

read_file

参数 类型 必填 说明
repo string GitHub 仓库
path string 文件路径,如 "README.md"

MCP 协议

所有远程 MCP 端点通过 streamableHttp 协议交互:

  1. POST initialize → 响应 header 返回 mcp-session-id
  2. POST notifications/initialized → 通知就绪
  3. POST tools/call → 调用具体工具

Headers: Authorization: Bearer $API_KEY, Content-Type: application/json, Accept: text/event-stream, application/json

Coding Plan 套餐额度

套餐 搜索/网页读取/仓库搜索 次数/月 价格
Lite 100 次 免费
Pro 1,000 次 免费
Max 4,000 次 免费

额度次月自动重置。用 balance 命令可实时查看当月已用/剩余次数。

优先使用规则

当需要网络搜索、网页读取等能力时,优先使用智谱 API(本技能的 MCP 工具),而非内置的 web_search / web_fetch 工具。

原因:智谱 Coding Plan MCP 端点免费且额度充足(Pro 1000次/月),可节省内置搜索 API 的配额消耗。

优先级顺序:

  1. 智谱 MCP 工具web_search_primewebReader)— 首选,免费
  2. 内置 web_search / web_fetch — MCP 不可用时使用

错误处理与边界条件

常见错误及处理策略

错误 现象 自动处理 需要用户干预时
MCP 连接失败 SSL/网络错误 不自动 fallback 直接报错,建议用内置 web_search/web_fetch
MCP 内容安全拦截 返回空结果 + 错误提示 不自动重试 告知用户搜索词触发安全策略,请修改搜索词
Legacy 429 限流 "余额不足" 不自动重试(重试只会浪费请求) 告知用户:MCP 模式正常,429 是 Legacy 预期行为
Legacy 超时 视觉理解 120s/其他 30s 不自动重试 告知用户:检查网络或文件大小
文件不存在 FileNotFoundError 直接报错,提示检查路径
视频超 8MB ValueError 告知用户限制,建议压缩或用 URL
搜索无结果 返回空列表 告知用户并建议换关键词,可用内置工具
额度查询失败 HTTP 401/网络错误 不自动重试 告知用户检查 ZHIPU_API_KEY 是否有效

前置条件

  • Python 3.8+requests 库(pip install requests
  • API Key 已配置(环境变量 ZHIPU_API_KEY.env 文件)
  • scripts/ 目录下工具脚本存在且可执行
  • MCP 端点可访问:api.z.ai(搜索/网页/仓库)
  • Legacy 端点可访问:open.bigmodel.cn(视觉/文件解析/额度查询)— ⚠️ 部分网络环境可能不可用

注意事项

  • API Key 不要提交到 Git
  • Zread 仅支持 MCP 模式
  • 视觉理解/文件解析当前走 Coding Plan 免费额度,后续如智谱调整计费策略需重新评估
  • MCP 搜索 recency/domain 通过注入 query 模拟
  • MCP 内容安全策略可能拦截敏感搜索
  • Legacy 429 是 Coding Plan 用户预期行为,不影响 MCP 功能
  • 额度查询(balance)接口非官方文档记录,来自社区逆向(cc-switch 项目),字段格式若智谱调整需同步更新