钛投标标书生成

SKILL商业运营
商业运营 未标注权限 许可证不明确
安装这个技能

脚本 stdout 原文(Markdown,含进度或下载表格)

一句话选型结论

按资料字段整理

钛投标标书生成是商业运营类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类商业运营 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_89534082/taitoubiao-bid-generation
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

商业运营
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_89534082仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量28.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写运营方案

按目标产出活动方案与执行清单。

分析数据与指标

从报表里找问题、给结论。

整理客户与销售材料

把客户信息与话术整理成可直接用的材料。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在商业运营场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
钛投标标书生成当前 未标注权限 未标注 未标注 未标注 有
MX 股票筛选器 联网访问 ClawHub 市场 79.9 万 OpenClaw 有
交易 未标注权限 ClawHub 市场 58.1 万 OpenClaw 有
营销技巧 只读 ClawHub 市场 54.0 万 OpenClaw 有
百灵鸟好 联网访问 GitHub 仓库 52.6 万 Codex、Claude、Cursor 有
股票信息浏览器 接触敏感数据 ClawHub 市场 40.5 万 OpenClaw 有

SKILL.md 全文

28.6 KB
模型实际读到的说明书原文,来自技能仓库

标书生成技能

用户提到生成标书、写投标文件、出投标文件或标书生成时使用。字段说明见 @references/api.md。命令模板见 templates/workflow.sh。生成脚本在 scripts/bid_generation.py,内置分析在 analysis/main.py。

执行流程

在本技能根目录按顺序执行。没有 analysis_uuid 或 bidDocumentId 时,只用内置分析,不要调用其他技能。

  1. 用户没给出目标字数(万字)和图表数量时,先确认这两项。图表数量只接受 none、normal、abundant。
  2. 缺少分析结果时先分析招标文件:python analysis/main.py --file-path "招标文件绝对路径"。从结果读取 analysis_uuid 和 bidDocumentId。
  3. 触发生成:python main.py --bid-document-id "BID_DOCUMENT_ID" --analysis-uuid "ANALYSIS_UUID" --word-of-number 10 --degree normal --no-wait
  4. 用上一步返回的 progress_uuid 查询进度:python main.py --bid-document-id "BID_DOCUMENT_ID" --progress-uuid "PROGRESS_UUID"。不要用 analysis_uuid 代替 progress_uuid。
  5. 把脚本 stdout 原样交给用户。完成后文件在本地。余额不足时脚本会自动生成微信支付二维码,把 PAY_QR_MARKDOWN: 后面的整行原样发给用户。到账后用同一次生成命令再执行一次。

能力说明

  • 支持按 bidDocumentId + analysis_uuid 触发标书生成
  • progress_uuid 必须来自触发响应:来自触发时返回的 create_response.data;查询进度时使用 --progress-uuid,严禁用
    analysis_uuid 替代
  • 支持两条路径:
    • --no-wait:仅触发并返回 progress_uuid,由外部定时任务/用户在后续对话中轮询直到终态
    • 默认/--sync:脚本内部轮询直到 FINISH/FINISHED/FAIL/FAILED 终态并输出下载链接
  • 脚本内置重复触发保护:若文档已存在 bidFilePath 会拒绝重复生成;触发接口返回 HTTP 429 则表示任务已在运行中,可直接转入进度查询
  • 终态完成时脚本会解密下载地址,并把文件保存到用户桌面,结果中优先给出本地路径(支持多个文件/暗标场景)。不要引导到网盘;只有本地保存失败时才保留在线链接

面向终端用户的表达(默认)

> 默认不要把命令行写给用户。 面向普通业务人员时,只说明要做什么(例如:先完成招标文件分析、准备好投标文档 ID、告知字数与图表偏好、首次需微信扫码、余额不足时扫码支付、生成需等待);不要列出 cd、python main.py、--progress-uuid、--sync 等。

🚫 默认禁止对用户输出: 仓库路径、完整命令行、环境变量名、长步骤代码教程(除非用户明确索要「命令行」「开发者」)。

与「仅输出脚本结果」的关系: 标书进度与下载等 stdout 原文仍须原样展示;衔接话术用自然语言即可。

微信登录认证

  • 没有可用 Token 时,运行本技能目录里的 python wx_login.py。几秒内命令结束,浏览器在后台继续等扫码,最长 5 分钟。二维码和这个后台浏览器绑在一起,浏览器一关码就失效。
  • 只让用户扫二维码,不要提供浏览器登录链接。有的客户端打不开技能目录里的图片时,按下面顺序给图,不要只发文件路径:
    1. 把脚本输出里 WECHAT_QR_MARKDOWN: 后面的整行原样放进回复。这是内嵌二维码,不依赖用户能不能访问脚本所在磁盘。
    2. 本地 PNG 只作为补充。工作目录存在时,脚本还会导出 /workspace/微信登录二维码.png。文件卡片如果没有真正预览出来,就不要再靠路径。
  • 不要只用读取工具打开这张 PNG。那样只有助手自己看得到,用户看不到。
  • 用户用微信扫码后,必须在手机上点「确认登录」。只扫不点等于没登录。用户表示已经扫码后,再执行原来的业务命令。
  • Token 写入 ~/.taitoubiao/token.json,五个技能共用。5 分钟内不要重复启动登录,否则旧码作废。
  • 接口返回登录失效时,会清掉缓存并重新出一张码。自动化请设置 TAITOUBIAO_SKIP_AUTO_LOGIN=1。

余额与付费引导

  • 与网页一致:标书生成前,站点会调用主站 checkBalance(resourceType=document 或自研 v2 时 advDocument)。本技能在触发生成(非仅 --progress-uuid 查询)前会默认请求 TAITOUBIAO_BALANCE_BASE_URL(默认 https://taitoubiao.com/db-api,与前端 balance.js 使用的 axios 根路径 /db-api 一致)下的 /balance/userBalance/checkBalance。
  • 退出码:余额不足时脚本会按网页套餐自动生成微信支付二维码(modelType===3 为套餐 2,否则套餐 1),然后退出码为 2。把 stdout 里的 PAY_QR_MARKDOWN: 整行原样发给用户扫码,不要改成浏览器支付链接。若设置了 TAITOUBIAO_BALANCE_STRICT=1 且余额接口无法给出明确是否充足(预检未完成),退出码为 3。
  • 环境变量(与前端 VUE_APP_* / 网关部署对应;充值 / 支付根 URL 代码内已有线上市站默认值,下列变量仅在有自建网关或调试时使用覆盖):
  • TAITOUBIAO_RECHARGE_BASE_URL — 充值订单服务根 URL。
  • TAITOUBIAO_PAY_BASE_URL — 支付中心根 URL。
  • TAITOUBIAO_BALANCE_BASE_URL — 余额接口所在根 URL(可选,默认 https://taitoubiao.com/db-api)。
  • TAITOUBIAO_CHECK_BALANCE=0 — 关闭触发生成前的余额预检(仅调试或后端不可用)。
  • TAITOUBIAO_BALANCE_STRICT=1 — 余额预检不可判定(接口异常或返回不完整)时直接退出(退出码 3),不继续触发生成;不设则为默认行为(stdout 输出 # 余额预检未完成 说明后继续)。
  • 命令行生成收款码(可选):在 skills/bid-generation 目录下:
  • python3 main.py --payment-guide — 按 --model-type 默认选择套餐(与网页:modelType===3 → 套餐 2,否则套餐 1)。
  • 等价:python3 scripts/payment_guide.py --package-id 1 --channel wx_native(须在上述目录下执行)。
  • 二维码默认写入 skills/bid-generation/.cache/recharge-pay-qr.png,请将 PNG 路径告知用户扫码。
  • 连通性探测:python3 main.py --probe-payment — 需有效 Token;充值 / 支付网关默认已内置。
  • 仅查询余额(确认支付是否已反映到账):python3 main.py --check-balance — 调用 checkBalance,与触发生成前预检同源;非支付订单轮询。
  • 依赖:requirements.txt 含 qrcode[pil],用于本地生成 PNG。

对话机器人:充值 / 支付完成后输出约定(固定话术)

以下用于外置对话机器人编排层(易误把余额不足、支付回调延迟、重复出码写在一屏内)。须与上文「仅输出脚本原始结果」一致:事实与链接以脚本 stdout 为准,机器人只加极短过渡句。

用户表示「支付完成 / 已付款」时——固定流程(按顺序,勿跳过逻辑):

  1. 只做一步:用同一账号 Token 重新执行与此前相同的标书生成命令(含 --sync 或进度查询闭环)。不要在同一轮里串联「重新登录 → 再出码 → 再等 10 秒 → 再出码」等多种动作。
  2. 到账延迟:若脚本仍报余额不足(exit 2)或接口暂不可用,使用固定一句说明即可,例如:「支付到账可能有 1~3 分钟延迟,请稍后只说「继续生成」;无需重复扫码同一订单。」禁止立刻再次调用 --payment-guide 生成新二维码,除非用户明确要求「再出一次收款码」。
  3. 支付是否成功 / 是否已到账:需要确认时,在 skills/bid-generation 下执行 python3 main.py --check-balance,脚本会重新请求主站 checkBalance(resourceType 随 --model-type:modelType===3 → advDocument,否则 document,与上文「触发生成前余额预检」一致),依据 stdout 中的 # 余额充足 / # 余额不足 / # 余额预检未完成 答复用户。禁止用 payment_guide.py --poll 轮询支付订单状态作为主要依据;禁止无脚本 stdout 编造到账结论。
  4. 重新登录:仅当脚本或接口明确返回鉴权失败、或 ensure_token 失败时,才引导 --wx-login;禁止在支付后「预防性」让用户重新登录。
  5. 文案长度:余额不足时展示脚本打印的 # 余额不足 Markdown 即可;禁止再叠加大段 emoji 表格、重复「套餐说明」、与脚本矛盾的金额/订单号(订单号以当次 payment_guide stdout 为准)。

推荐固定短句(可原样使用):

  • 支付完成后发起生成:「已按您的付款结果重新触发生成,以下为脚本输出:」→ 附脚本 stdout
  • 延迟重试:「若仍提示余额不足,一般为到账延迟,请 2 分钟后回复「继续生成」,无需重复充值。」
  • 引导网页兜底(仅此一句,勿展开营销话术):「也可登录 taitoubiao.com 在订单与标书页完成后续操作。」

🚫 输出规范(必须遵守)

> ⚠️ 核心原则:模型必须只输出脚本返回的原始结果,严禁自行生成中间状态消息或进度摘要!

🚫 严格禁止的行为:

  • ❌ 禁止额外改写/总结:不得在脚本原文之外生成进度摘要、耗时统计等信息
  • ❌ 禁止额外等待提示:不得在脚本原文之外插入等待/轮询安排类的自然语言
  • ❌ 禁止自行解释状态:不得在脚本原文之外对状态字段做自然语言解释或翻译

✅ 正确行为:

  • 用户侧沟通:见上文「面向终端用户的表达(默认)」— 默认不向用户贴命令行;脚本 stdout(进度、余额提示、下载表等)仍须原样展示。
  • 仅输出脚本原始结果:将脚本 stdout 原样展示给用户,不做任何修改或总结(含余额预检阶段输出的 # 余额不足、# 余额预检未完成、# 余额预检跳过 等 Markdown)
  • 终止当前本轮输出:调用脚本后,若结果未完成,则结束本轮技能输出;后续进度查询由外部定时器或用户按规则再次调用脚本发起
  • 完成后直接展示下载信息:当脚本返回包含 fileUrlDecrypted 时,直接展示下载链接

示例:

❌ 错误输出(AI 自行生成):

⏳ 标书任务进行中:当前状态=生成中,已耗时=180s。
我会在 30s 后进行下一次查询。

✅ 正确输出(脚本原始结果):

# 标书生成进度(单次查询)

- **投标文档ID**:`xxx`
- **状态**:RUNNING
- **预计耗时**:预计约 1 小时内完成(以实际进度为准)
- **进度**:45%

(等待用户再次触发查询获取结果)

或当生成完成时(脚本已自动解密并展示下载链接):

# 标书生成进度(单次查询)

- **投标文档ID**:`xxx`
- **状态**:FINISH
- **预计耗时**:预计约 1 小时内完成(以实际进度为准)
- **进度**:100%

## 📥 标书下载

| 文件类型 | 下载链接 |
|----------|----------|
| 投标文件 | [点击下载](fileUrlDecrypted 解密后的真实 URL) |

下载链接有效期为 30 分钟,过期后需重新获取新链接。

> 注意:脚本内部已自动调用 AES 解密算法将加密的 fileUrl 转换为可用的 fileUrlDecrypted,用户可直接点击下载。

不同模式下的输出区别

本技能支持三种调用模式,输出格式有所差异:

进度查询模式(仅传 --progress-uuid):标题为 # 标书生成进度(单次查询),用于外部定时任务轮询场景。

--no-wait 模式(仅触发):标题为 # 标书生成结果,状态为 started,必须突出展示 progress_uuid
;并在后续步骤中立即使用该 progress_uuid 发起一次进度查询(除非你改用 --sync)。

✅ 正确输出(--no-wait 模式):

# 标书生成结果

- **投标文档ID**:`xxx`
- **状态**:started
- **说明**:已触发标书生成,请稍后查询结果
- **预计耗时**:预计约 1 小时内完成(以实际进度为准)
- **当前进度状态**:`RUNNING`
- **当前进度**:`<currentProgress>%`
- **进度描述**:`<description>`
- **进度任务 UUID**:`<progress_uuid>`

请保存以上进度任务 UUID,用于后续查询进度:
```bash
python ./main.py --bid-document-id "xxx" --progress-uuid "<progress_uuid>" --last-progress 0

> **注意**:`--no-wait` 仅触发生成,此时下载信息尚未就绪;必须使用返回的 `progress_uuid` 查询进度(若仍未完成,则由外部定时器或用户继续按规则查询)。

> 若后续再次触发时后端返回 `HTTP 429`(任务已在运行),脚本会优先从本技能 `analysis/tender_task_map.json` 读取已保存的 `progress_uuid`;若缓存未命中,才会提示查看脚本日志获取。

**`--sync` 模式(同步等待)**:触发后脚本内部轮询,完成后标题为 `# 标书生成结果`,状态为 `generated`。

**无 flag 默认模式**:行为与 `--sync` 完全一致。

或当生成完成时(完整轮询模式,非 `--no-wait`):

标书生成结果

  • 投标文档ID:xxx
  • 状态:generated
  • 说明:标书已生成完成,可通过 fileUrlDecrypted 下载

📥 标书下载

文件类型 下载链接
投标文件 点击下载

下载链接有效期为 30 分钟,过期后需重新获取新链接。


## 使用限制

- 若不存在分析记录(拿不到 `analysis_uuid` 或 `bidDocumentId`),在本技能目录执行内置分析 `python analysis/main.py`,不要调用其他技能
- 生成前必须确认 `bidDocumentId` 与 `analysis_uuid` 对应关系正确
- 若文档已存在 `bidFilePath`(已生成),不得重复触发生成

## 调用方式

**步骤 0 - 检查字数与图表数量参数(强制,必须先确认)**

> **🔴 触发前必须确认:`wordOfNumber`(目标字数)和 `degree`(图表数量)!**
> 如果用户未明确提供这两个参数,**不得直接触发**,必须先输出以下提示并等待用户回复:
>
> ```
> 需要您补充两个投标文件生成的必填参数:
>
> 1. 投标文件目标总字数(单位:万字),例如政务类运维项目通常建议填写 3~5
> 2. 图表数量,可选:
>    适中:默认推荐,图文搭配合理
>    大量:插入较多图表和图片,内容更直观
>    无图表:不使用图表
>
> 请告知您需要的参数值,我将继续为您生成投标文件。
> ```
>
> 用户回复确认后,再执行步骤 1,将确认后的值传入 `--word-of-number` 和 `--degree`。

**步骤 1 - 准备 UUID,并避免重复触发**

- 若用户已经给了 `analysis_uuid` 和 `bidDocumentId`,直接进入生成,不要重复分析
- 若缺少其中任一值:在本技能目录执行内置分析,不要调用名为 tender-analysis 的外部技能
    ```bash
    python analysis/main.py --map-query "/absolute/path/to/tender.pdf"
    python analysis/main.py --file-path "/absolute/path/to/tender.pdf"
    python analysis/main.py --task-uuid "TASK_UUID" --poll
    ```
- 内置分析的步骤、分包确认、轮询和结果展示,与原标书分析技能相同,工作目录是本技能下的 `analysis/`
- 从 `# 招标文件分析结果` 中读取:
    - 分析任务 UUID(`analysis_uuid`)
    - 标书文档 ID(`bidDocumentId`)
- 触发前需避免重复生成:若 `bidFilePath` 已存在,则不要再触发生成(脚本会进行校验并拒绝重复触发)
- 获取到以上两个值后,再执行步骤 2

> **🔴 重要:以下两个 UUID 是不同的,严禁混用!**
> - `analysis_uuid`:来自本技能 `analysis/main.py` 的输出,用于**触发生成**时传入 `--analysis-uuid`
> - `progress_uuid`:来自步骤 1 触发后的返回值 `create_response.data`,用于**查询进度**时传入 `--progress-uuid`

**步骤 1 - 仅触发生成,拿到受理结果**

```bash
python ./main.py --bid-document-id "BID_DOCUMENT_ID" --analysis-uuid "ANALYSIS_UUID" --word-of-number 10 --degree normal --no-wait

步骤 1 返回后,必须从返回字段 create_response.data 中提取 PROGRESS_UUID(即进度任务 UUID)。

并且:脚本已在 --no-wait 触发返回中输出“预计耗时 + 当前进度快照”(best-effort);若仍未完成,则按步骤
2(进度查询)继续调用,或由外部定时任务继续轮询查询。

步骤 2 - 查询进度(两种模式任选其一)

> 🔴 progress_uuid 必须来自步骤 1 的 create_response.data,严禁使用 analysis_uuid!

模式 A - 外部定时任务单次查询(仅传 --progress-uuid):

python ./main.py --bid-document-id "BID_DOCUMENT_ID" --progress-uuid "PROGRESS_UUID" --last-progress <上一次进度值>
  • 首次查询时 --last-progress 0,后续每次调用时将上一次返回的进度值传入
  • 进入“单次查询模式”的条件:只传 --progress-uuid,不要同时传入 --analysis-uuid
  • 由外部定时任务每 30 秒调用一次
  • 最多轮询 1 小时
  • 停止条件:
    • FINISH 或 FINISHED:停止并展示下载链接(脚本已自动获取)
    • FAIL 或 FAILED:停止并返回失败(不得继续轮询)

模式 B - 同步等待完成(--sync):

python ./main.py --bid-document-id "BID_DOCUMENT_ID" --analysis-uuid "ANALYSIS_UUID" --word-of-number 10 --degree normal --sync
  • 脚本内部自动轮询,直到生成完成或超时
  • 轮询间隔 30 秒,超时时间 1 小时
  • 完成后直接输出完整结果(含下载链接)

步骤 3 - 生成完成后自动获取下载地址

当脚本状态为 FINISH 或 FINISHED 时,--progress-uuid 和 --sync 模式会自动调用 get_bid_word_info 获取下载地址,无需额外操作。

请求参数(仅触发生成时有效)

> 以下参数用于调用后端 createBidDocument 接口。查询进度模式不需要这些参数。

{
  "id": "BID_DOCUMENT_ID",
  "ids": [
    "ANALYSIS_UUID"
  ],
  "wordOfNumber": 10,
  "degree": "normal"
}
  • id:必填(触发生成时),bidDocumentId
  • ids:必填(触发生成时),ids[0] 放分析任务 UUID(如 063b5334-af74-4b83-990d-f5e54e69ff88)
  • wordOfNumber:必填(触发生成时),目标字数(单位:万字,支持小数)
  • degree:必填(触发生成时),图表数量控制(normal=适中,abundant=大量,none=无图表)

必填参数确认规则

用户必须传入:

  • 目标总字数(单位:万字)
  • 图表数量控制(适中 / 大量 / 无图表)

当用户未明确提供以上任一参数时,必须先向用户输出以下提示,确认后再执行:

需要您补充两个投标文件生成的必填参数:

1. 投标文件目标总字数(单位:万字),例如政务类运维项目通常建议填写 3~5
2. 图表数量,可选:
   适中:默认推荐,图文搭配合理
   大量:插入较多图表和图片,内容更直观
   无图表:不使用图表

请告知您需要的参数值,我将继续为您生成投标文件。

生成前若关键信息仍不确定(如文档名称、bidDocumentId、analysis uuid 对应关系不明确),必须先向用户确认:

  • 是否生成《xxx》投标文件?
  • 用户确认后再触发生成请求

方法内关键校验

  • 文档不存在或已有 bidFilePath:拒绝生成(如需重新生成,请先用本技能的 analysis/main.py 重新分析,再使用新的 analysis_uuid 和 bidDocumentId 触发生成)
  • HTTP 429 防重复计费:若 createBidDocument 返回 HTTP
    429,表示该文档的生成任务已在运行中。这是服务端防重复计费机制,并非限流。此时不应视为错误,可转为使用 --progress-uuid
    查询已有任务进度

🔴 状态判定规则(必须遵守)

--progress-uuid 的脚本输出中,status 字段决定后续行为:

  1. 生成进行中(status 非 FINISH/FINISHED,且非 FAIL/FAILED)

    • 必须终止本轮后续查询请求(不得继续发送下一次 --progress-uuid)
    • 必须让用户看到脚本原文中的进度信息(currentProgress / description)
    • 等待外部定时器或用户再次调用脚本发起下一次进度查询
  2. 生成失败(status = FAIL 或 status = FAILED)

    • 必须立即停止后续任何进度查询与轮询
    • 不得再发送下一次 --progress-uuid
  3. 生成完成(status = FINISH 或 status = FINISHED)

    • 必须完整展示脚本返回的下载入口(包含 fileUrlDecrypted)
    • 必须终止后续进度查询与重复触发生成

状态查询与完成判定

查询通过脚本执行,传入进度任务 UUID 即可获取当前状态。

重点字段(data 内):

  • status:进度状态(如 START / FINISH / FINISHED / FAIL / FAILED)
  • currentProgress:当前进度值
  • description:进度描述

判定建议:

  • status = FINISH 或 FINISHED:✅ 生成完成(停止轮询)
  • 生成完成后脚本已自动调用 get_bid_word_info 并解密,从返回中提取 fileUrlDecrypted
  • status = FAIL 或 FAILED:❌ 标书生成失败(停止轮询,不再继续发送下一次查询)
  • 其他状态:脚本已输出当前状态;终止本轮后续进度查询,等待外部定时器或用户再次调用脚本发起下一次查询

轮询时长建议

  • 推荐轮询间隔:30 秒一次(外部定时器反复执行 --bid-document-id --progress-uuid,不传 --analysis-uuid)
  • 推荐总轮询时长:最多 1 小时(超过后建议停止并提示超时)
  • 若 1 小时内未完成,提示用户任务正在进行中,请稍后查看
  • 若使用 --sync 模式,脚本内部自动轮询,超时时间同样为 1 小时

异常处理约定

  • 脚本方法返回非成功状态、401/403、Token 无效:立即返回失败,不继续轮询
  • 查询链路失败(get_progress 或 get_bid_word_info 失败):返回明确错误原因
  • 网络超时/连接异常:返回失败并建议重试

失败示例(Token 无效)

  • ❌ 标书生成失败:当前 JWT Token 无效(无法获取公司信息,请联系管理员)。
  • 已停止轮询,不再继续等待任务状态。
  • 请重新登录获取新 Token 后重试。

内置招标文件分析

分析代码在本技能的 analysis/ 目录,发布本技能时一并带上,不依赖单独安装的标书分析技能。

  • 用户只上传招标文件时,先运行 python analysis/main.py
  • 分析完成后读取 analysis_uuid 和 bidDocumentId,再运行本目录的 python main.py 生成
  • 用户已经提供这两个编号时,跳过分析,直接生成

可选参数

参数 说明 默认值
--bid-document-id 标书文档 ID(必填) 无
--analysis-uuid 分析任务 UUID(触发生成时必填) 无
--progress-uuid 进度任务 UUID(仅传此参数时执行单次查询,来自步骤 1 的 create_response.data) 无
--word-of-number 目标总字数(万字,支持小数,触发生成时必填) 无
--degree 图表数量控制(normal=适中,abundant=大量,none=无图表,触发生成时必填) 无
--sync 触发生成并同步轮询直至完成 关闭
--no-wait 仅触发,不等待轮询 关闭
--last-progress 上一次查询的进度百分比,防止进度回退 无
--poll-interval 轮询间隔(秒) 30
--timeout 总轮询时长(秒),仅 --sync 模式有效 3600
--check-balance 仅查询余额是否满足生成(checkBalance;确认到账用,非订单轮询) 关闭

> --model-type 和 --use-default-db 为内部固定配置,不可由用户修改。

结果字段说明

  • 查询状态:progress_response.data.status、progress_response.data.currentProgress、progress_response.data.description
  • 下载信息:bid_word_info_response.data[].fileUrlDecrypted(生成完成后,脚本已自动解密;fileUrl 为加密原文不可直接使用)
  • 若下载信息返回 data 中包含 2 个 URL,表示当前为暗标场景,通常分别对应:
    • 投标文件(主文件)
    • 暗标文件(技术部分文件)
  • 失败信息:error 或明确失败提示文本

推荐脚本

  • 仅触发:--bid-document-id ... --analysis-uuid ... --word-of-number ... --degree ... --no-wait
  • 单次查询(供外部定时任务调用):--bid-document-id ... --progress-uuid ... --last-progress <上一次进度值>
  • 同步等待:--bid-document-id ... --analysis-uuid ... --word-of-number ... --degree ... --sync

生成完成后的下载入口

当进度状态为 FINISH 或 FINISHED 时,必须向用户提供下载入口:

  1. 调用 get_bid_word_info(bidDocumentId) 获取 fileUrlDecrypted(脚本已自动解密,fileUrl 为加密原文不可直接使用)
  2. 若返回 2 个 URL,表示暗标场景:
    • 投标文件(主文件)
    • 暗标文件(技术部分文件)
  3. 展示下载信息表:

示例:

# 标书生成进度(单次查询)

- **投标文档ID**:`xxx`
- **状态**:FINISH
- **进度**:100%

## 📥 标书下载

| 文件类型 | 下载链接 |
|----------|----------|
| 投标文件 | [点击下载](fileUrlDecrypted 解密后的真实 URL) |

下载链接有效期为 30 分钟,过期后需重新获取新链接。

或暗标场景:

## 📥 标书下载

检测到多个文件(暗标场景):

| 文件类型 | 下载链接 |
|----------|----------|
| 投标文件 | [点击下载](fileUrlDecrypted) |
| 暗标文件 | [点击下载](fileUrlDecrypted) |

下载链接有效期为 30 分钟,过期后需重新获取新链接。

> 注意:脚本已自动将加密的 fileUrl 解密为 fileUrlDecrypted,可直接使用。

常见问题

5 问
答案由本站依据条目字段整理
钛投标标书生成怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_89534082/taitoubiao-bid-generation。安装方式为未标注。装完刷新技能列表或重开客户端。

钛投标标书生成支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

钛投标标书生成权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

钛投标标书生成收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

钛投标标书生成用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。