下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-cpxku7e4--huitou-aicenter-tenderparser.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-cpxku7e4/huitou-aicenter-tenderparser。招标文件一键解读。上传招标文件(pdf/docx 等),自动解析出项目基本信息、资格要求、评审要求、投标文件编制要求、无效标与废标项、应标需提交文件、审查要点 7 大项,并生成 Markdown/Word 报告。支持设备授权登录、登录状态检查、余额查询与充值引导。用户要求解读/解析招标文件或标书、查找废标项、资格审查或评审要求时使用。
阅读全文 (展开查看完整说明)
概述
招标文件解读技能
通过 scripts/client.py(零依赖轻客户端,仅 Python 标准库)调用 zbh-ai 服务完成招标文件解读。
前置条件
- Python 3.10+,无第三方依赖
- 服务端已启动,客户端默认地址
https://biaoshuai.huitoue.com/api/skill,
可用环境变量 ZBH_AI_BASE_URL 或 config.json 的 base_url 字段覆盖
- 用户已在门户注册(门户地址
https://aicenter.huitoue.com/);登录由客户端自动发起设备授权:
浏览器打开授权页面,用户登录门户账号、核对确认码后点「同意授权」,客户端自动取得并保存 user-key。也兼容手动方式 login <user-key>(user-key 在门户个人信息页复制)
使用流程
智能体(WorkBuddy 等)务必使用「提交 + 轮询」模式,原因:bash 工具只在命令整体
结束后才把输出返回给智能体,阻塞式
parse会让用户在最长 10 分钟里看不到任何进度。
# 1. 登录(首次使用),智能体务必用两步非阻塞授权(详见「给智能体的提示」):
# ① python scripts/client.py login --start --no-open # 打印授权页地址与确认码后秒回,不弹系统浏览器
# ② 先把授权页地址与确认码作为对话消息发给用户核对,同时用内嵌浏览器打开该地址;
# ③ python scripts/client.py login --poll # 轮询一次结果;pending 继续轮询,approved 落盘结束
# 内嵌浏览器:IDE/智能体环境的内置浏览器或网页预览工具(如 VSCode 的 Simple Browser);
# 人工终端仍可阻塞式 `python scripts/client.py login`(自动弹系统浏览器),
# 或手动保存 user-key:python scripts/client.py login <user-key>
# 2. 检查登录状态与余额(可选)
python scripts/client.py status
# 3. 提交解析任务(--no-wait 秒回 task_id,立即结束)
python scripts/client.py parse 招标文件.pdf --no-wait
# 4. 每约 15 秒轮询一次进度;每次轮询后把进度行转述给用户,让用户实时看到进展
python scripts/client.py result <task_id>
# 输出示例:[解析中 42%] 正在解析:评审要求(已等待 2分05秒)
# 5. 看到 [已完成 100%] 后,把报告保存到招标文件同目录
python scripts/client.py result <task_id> --out "C:/path/招标文件名-解读报告.md"
python scripts/client.py result <task_id> --content # 需要时额外打印报告全文
# 登出
python scripts/client.py logout人工在终端使用时可以直接 python scripts/client.py parse 招标文件.pdf:阻塞式运行,每 5 秒打印一行进度直至出报告(最长 10 分钟),FIN 时自动把报告 Markdown 保存到招标文件同目录 <文件名>-解读报告.md,并打印报告 docx 的下载地址。轮询超时只代表等待结束,任务仍在服务端继续解析,改用 result 续查即可,不要重新 parse。
报告保存位置:
- 人工阻塞式
parse:招标文件同目录<文件名>-解读报告.md - 智能体轮询模式:第 5 步
result --out显式指定,建议同样存到招标文件同目录 result不带--out:当前目录<task_id>-解读报告.md
命令参考
| 命令 | 说明 |
|---|---|
login [user-key] | 无参数:设备授权登录(打开授权页→用户登录并授权→自动保存 user-key);带参数:手动保存 user-key。均顺带查询余额(校验失败仅警告,仍返回 0) |
login --start | 两步授权第一步(供智能体):发起设备授权,打印授权页地址与确认码后立即返回;轮询 token 只落盘不打印。默认自动弹系统浏览器,智能体务必加 --no-open(不弹系统浏览器),改用内嵌浏览器打开授权页 |
login --poll | 两步授权第二步(与 –start 搭配):轮询一次授权结果,秒回。退出码 3 且输出"尚未授权"=继续轮询;输出"已过期"=重新 –start;退出码 0=成功(自动保存 user-key) |
logout | 删除 config.json 退出登录 |
status | 检查登录状态(config.json 是否含 user_key)、用户手机号与产品余额 |
parse <file> [--no-wait] [--out <path>] | 上传招标文件发起解析(start_parse);--no-wait 秒回 task_id(智能体必用),缺省会阻塞轮询到结束 |
result [task_id] [--out <path>] [--content] | 查询一次解析进度/结果(get_parse),单行输出 [状态 百分比] 消息(已等待 X分XX秒);FIN 时保存报告 |
退出码
| code | 含义 |
|---|---|
| 0 | 成功 |
| 1 | 一般错误(含解析任务失败、任务不存在或已过期、轮询超时) |
| 2 | 参数错误(文件不存在、未指定 task_id) |
| 3 | 未登录或授权未完成(config.json 无 user_key) |
| 4 | 余额不足,已打印充值引导 |
自动更新检查
每次启动脚本先检查产品新版本,同一天最多检查一次,检查记录写入 config.json 的last_version_check / latest_version。发现新版本时在 stderr 提示下载地址(10 分钟内有效)。检查失败只警告,不影响正常使用。
余额不足处理
解析接口返回 402 时,客户端自动调用 POST /skill/sso/login 生成一次性门户自动登录地址(5 分钟内有效)并打印,同时以退出码 4 退出。用户在浏览器打开该地址即可登录门户充值,充值完成后重新执行 parse 即可。
config.json 字段
| 字段 | 说明 |
|---|---|
user_key | 登录凭证 user-key,由 login(设备授权或手动)写入,logout 删除整个文件 |
auth_token / auth_expires_at | 待授权请求的临时记录(轮询 token 与截止时间,login –start 写入、–poll 使用),成功或过期后自动清除;token 不外露 |
base_url | 可选,服务端地址,缺省 https://biaoshuai.huitoue.com/api/skill |
last_version_check | 最近一次更新检查日期(YYYY-MM-DD) |
latest_version | 最近一次检查看到的最新版本号 |
local_version | 可选,本地版本号,缺省取脚本内置 CLIENT_VERSION |
last_task_id | 最近一次 parse 受理的任务 ID |
last_task_time | 最近一次 parse 的提交时间(epoch 秒),供 result 计算已等待时长 |
给智能体的提示
- 遇到接口错误直接终止任务:任何命令(登录、提交、轮询等)出现接口错误
(连接失败、请求超时、5xx 服务端错误、result 返回 [失败]/ERR 等)时,立即终止本次任务,不要重试、不要继续轮询,把客户端打印的错误信息原样告知用户
- 解析进度必须实时播报:一律用
parse --no-wait提交任务,再用result轮询
(约每 15 秒一次)。不要用阻塞式 parse——bash 工具只在命令结束时返回输出,阻塞式会让用户在整个解析期间什么都看不到
- 每次轮询
result后,把打印的进度行(含百分比、当前步骤、已等待时间)用一句话
告知用户,如「解析中 42%,正在分析评审要求,已等待 2 分钟」,直到 FIN/ERR
- 退出码 3(未登录)时用两步非阻塞授权,让用户在对话里就能看到授权页地址与确认码,并用内嵌浏览器打开授权页(IDE/智能体环境的内置浏览器或网页预览工具,如 VSCode 的 Simple Browser;不要弹系统浏览器):
① 执行 python scripts/client.py login --start --no-open(秒回),先把打印的授权页地址与确认码作为对话文本发给用户,同时用内嵌浏览器打开该授权页地址,告知请在页面登录门户账号、核对确认码一致后点「同意授权」。② 循环 python scripts/client.py login --poll(约每 3-5 秒一次,每次秒回):输出"尚未授权"→转述等待状态并继续轮询;输出"已过期"→重新执行 –start –no-open 并转述新的地址与确认码;退出码 0→授权成功不要编造 user-key
- 人工一次性使用仍可阻塞式
login(最长约 10 分钟):先打印授权页地址与确认码再打开浏览器等待完成 - parse 时提示"用户身份无效或已失效"说明 user-key 失效,客户端会自动重新授权一次并重试,
照常播报进度即可;login 提示"用户 Key 校验/余额查询失败"说明手动传入的 key 可能不对,核对后重新 login
- 退出码 4(余额不足)时,把客户端打印的门户自动登录地址原样给用户,引导充值,充值后重试同一文件
- result 长时间(如超过 10 分钟)仍是「解析中」也不要重新 parse(会重复扣次数),
继续轮询即可,任务在服务端不会丢
- result 返回"任务不存在或已过期"说明任务已被清理,需重新 parse
- FIN 后用
result --out把报告保存到招标文件同目录<文件名>-解读报告.md,
并把打印的 docx 下载地址一并提供给用户;报告内容需要引用时用 read 读本地 md 文件,不要用 --content 刷屏
- 不要在回复中展示完整的 user-key