← Back to Skills Marketplace
zhangpengle

bidding-tracker

by zhangpengle · GitHub ↗ · v0.1.3 · MIT-0
cross-platform ⚠ suspicious
164
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install bidding-tracker
Description
军政采招投标商机管理专用工具。负责项目登记/标书采购/封标/开标/结果录入/中标统计/胜算评估,不处理合同履约、发票、报销或其他非招投标事务。
README (SKILL.md)

bidding-tracker 使用指南

本文档面向 LLM,说明如何通过 bidding-tracker CLI 管理招投标项目全生命周期。

适用范围:军队采购(军采)和政府采购(政采)的投标商机跟踪,包括项目登记、标书购买、封标投递、开标结果、中标统计、招标文件胜算评估。 不适用:合同管理、发票报销、项目交付、非招投标的采购咨询。


首次初始化

系统首次使用时,必须先注册总监账号,否则所有非 init 命令均会报错。

bidding-tracker init --name "王总监"

执行后返回 {"status": "ok"} 即可继续使用其他命令。


核心操作流程

1. 注册项目

收到招标公告时,提取关键字段并调用 register。--json 传入结构化字段,--manager-name 指定负责人姓名。

bidding-tracker register \
  --json '{"project_name":"XX系统采购","budget":500000,"bid_opening_time":"2026-05-10T14:00:00","doc_purchase_deadline":"2026-04-20T17:00:00"}' \
  --manager-name "张经理" \
  --travel-days 2

--json 支持的字段(均为可选,* 为强烈建议填写):

字段 类型 说明
project_name * string 项目名称
bid_opening_time * ISO8601 开标时间(用于推算封标时间)
doc_purchase_deadline * ISO8601 标书购买截止时间
budget number 预算(元)
procurer string 采购方名称
bid_agency string 招标代理机构
manager_contact string 负责人联系方式
registration_deadline ISO8601 报名截止时间
registration_location string 报名地点
doc_purchase_location string 标书购买地点
doc_purchase_price number 标书售价(0 表示免费)
doc_required_materials string|array 报名所需材料
bid_opening_location string 开标地点

成功返回:

{"project_id": 1, "project_no": "2026-001", "project_name": "...", "suggested_seal_time": "2026-05-08T14:00:00", "attachment_dir": "..."}

若有招标公告文件,追加 --file /path/to/file.pdf,文件将自动移入附件目录。

2. 查看项目列表

bidding-tracker status                          # 查看所有活跃项目
bidding-tracker status --keyword "关键词"       # 按项目名或编号搜索
bidding-tracker status --upcoming-days 7       # 查看7天内有关键节点的项目

3. 状态推进

根据用户反馈选择对应命令,关键字可以是项目名称片段或完整项目编号(如 2026-001):

用户场景 命令
已购买标书 bidding-tracker purchased "项目名"
已封标/已寄出标书 bidding-tracker seal "项目名"
项目废标、放弃投标 bidding-tracker cancel "项目名"

4. 录入开标结果

开标后,根据结果录入。项目须处于 opened 状态(由 seal 推进而来)。

# 中标
bidding-tracker result "项目名" --won --our-price 980000 --winning-price 980000

# 未中标(尽量提供完整信息)
bidding-tracker result "项目名" --lost --our-price 1050000 --winning-price 980000 --winner "某某公司" --notes "报价偏高"

状态机约束

以下为合法流转路径,LLM 不可跳步操作:

registered → doc_pending → doc_purchased → preparing → sealed → opened → won
                                                                        → lost
任意非终态 → cancelled(终态,不可逆)

实用映射:

  • purchased 命令 → 状态推进至 doc_purchased
  • seal 命令 → 状态推进至 sealed(同时记录实际封标时间)
  • result 命令 → 仅在 opened 状态可执行,推进至 wonlost

opened 状态需通过 update_project 直接写库或由提醒 Cron 触发,result 命令本身不推进 sealed → opened


团队管理

bidding-tracker users                                          # 查看所有成员
bidding-tracker users --role manager                          # 仅看负责人
bidding-tracker adduser --new-user-id wx_uid --name "李经理" --contact "138xxxx"

adduser 仅总监可执行。


统计分析

bidding-tracker stats                         # 全局汇总(胜率、平均预算等)
bidding-tracker stats --by-month             # 按月趋势
bidding-tracker stats --by-manager           # 按负责人分组
bidding-tracker stats --by-month --period 2026-Q1   # 限定季度范围
bidding-tracker stats --by-month --period 2026-03   # 限定月份范围

--by-manager--by-month 不可同时使用。


胜算评估

evaluate - 解析招标文件

读取 PDF/Word/TXT 招标文件,提取文本并组装分析 prompt,供 LLM 进行深度博弈评估。

bidding-tracker evaluate --file /path/to/tender.pdf
bidding-tracker evaluate --file /path/to/tender.docx

成功返回:

{
  "status": "ok",
  "message": "招标文件《xxx.pdf》已解析(12345 字),请按分析框架进行深度博弈评估",
  "data": {
    "analysis_prompt": "...",
    "profiles": "...",
    "document_text": "...",
    "file_name": "xxx.pdf"
  }
}

LLM 收到响应后,应将 analysis_prompt 作为分析框架指令,profiles 作为投标主体战略资产库上下文,document_text 作为待分析的招标文件原文,三者结合输出深度博弈报告。

自定义主体档案: profiles 字段内容优先读取 ~/.config/bidding-tracker/profiles.md(如存在),否则使用包内默认。用户可编辑该文件更新公司资质、人员与业绩信息,无需修改代码。

bind-eval - 绑定胜算评估结果

将评估胜率(0-1)和报告摘要绑定到指定项目,记录评估时间。

bidding-tracker bind-eval "项目名" --probability 0.75
bidding-tracker bind-eval "项目名" --probability 0.75 --report "技术优势明显,但缺乏CMMI认证"
bidding-tracker bind-eval "2026-001" --probability 0.4 --report "疑似定向标,建议陪跑"

--probability 取值范围 0.0~1.0--report 为可选的预测报告摘要(建议不超过200字)。


输出格式约定

所有命令成功时,stdout 输出 JSON,exit code 为 0:

{"status": "ok", "message": "...", "data": {...}}

失败时,stderr 输出 JSON,exit code 为 1:

{"error": "具体错误原因", "code": 1}

遇到错误时,将 error 字段内容直接反馈给用户即可。


环境配置

变量 说明 默认值
DB_PATH SQLite 数据库路径 {CWD}/data/bids.db
ATTACHMENTS_DIR 附件存储根目录 {DB_PATH同级}/attachments

加载优先级:进程环境变量 > {CWD}/.env > ~/.config/bidding-tracker/.env > 默认值。

Usage Guidance
Before installing or enabling this skill: 1) Resolve the metadata mismatch — the registry lists this as instruction-only but the package includes Python code and the SKILL.md suggests pip install; treat it as installable code, not a pure instruction. 2) Inspect ~/.config/bidding-tracker/.env and any CWD .env files — the package will load keys from those into os.environ if present; don’t keep unrelated secrets there. 3) The tool moves files you give it into attachments directories and writes to a local SQLite DB (DB_PATH default {CWD}/data/bids.db) — run it in an isolated working directory or container if you don’t want your filesystem modified. 4) README mentions WeCom notifications but no credentials are declared; locate any notification/WeCom code before enabling network access and supply credentials only if you trust the destination. 5) If you plan to let agents call this skill autonomously, consider restricting that capability (or review all code paths that might send network requests) because the skill reads local config and files. 6) If uncertain, run the package in a disposable VM/container, or ask the maintainer to: provide a consistent install spec, document any required external credentials, and confirm whether any network outbound behavior exists.
Capability Assessment
Purpose & Capability
Name/description, CLI and scripts all match a bid-tracking tool. However there are mismatches: registry metadata says 'No install spec' but SKILL.md metadata suggests 'pip install -e {baseDir}' and the package contains many Python files (not an instruction-only skill). README mentions enterprise WeCom notifications but the skill does not declare or require any WeCom credentials in metadata.
Instruction Scope
Runtime instructions and skill code require reading and writing local files: project DB (default {CWD}/data/bids.db), attachments directories, and optional user files under ~/.config/bidding-tracker (profiles.md, .env, evaluate_prompt.md). The evaluate flow explicitly asks the LLM to parse user-supplied documents and to read profiles.md. Loading of .env files into the process environment is performed (config.load_env), which will inject keys from user-level and CWD .env files into os.environ when they do not already exist.
Install Mechanism
No remote download/install URLs are present (the package is local source). SKILL.md metadata indicates 'pip install -e {baseDir}' which is reasonable for a Python package. The registry entry is inconsistent about 'instruction-only' vs the presence of many code files—this inconsistency should be resolved before trusting installer expectations.
Credentials
The skill declares no required environment variables or secrets, which aligns with many local CLI tools. However it will read and inject .env files (CWD/.env and ~/.config/bidding-tracker/.env) into os.environ if keys are absent from the process — this can pull sensitive values from the user's system into the tool at runtime. README/README-like text suggests WeCom integration for notifications but no credentials are declared; if additional code (not shown) sends messages to external services it would normally require API tokens, creating an undeclared credential need.
Persistence & Privilege
The skill does not request 'always: true' and does not modify other skills' configs. It does write to a local SQLite DB and attachments directories (expected for its purpose) and may be invoked autonomously (default), which is the normal platform behavior.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bidding-tracker
  3. After installation, invoke the skill by name or use /bidding-tracker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.3
- 调整了胜算评估相关 prompts 内容,优化深度博弈分析框架表达。 - 更新并完善了 profiles 主体档案模板内容。 - 未更改命令或功能接口,仅内容优化。
v0.1.2
- 新增“胜算评估”功能,支持招标文件解析和博弈分析 prompt 自动生成(evaluate 命令) - 支持绑定项目胜率及评估报告摘要(bind-eval 命令) - 文档调整:强调适用范围为军队/政府采购,仅聚焦招投标环节 - 增加 profiles.md 支持,可自定义公司主体档案,用于辅助 LLM 胜算分析 - 代码结构优化,新增 prompts 相关模块
v0.1.1
bidding-tracker v0.1.1 - 全面更新了使用指南,详细覆盖项目全周期管理命令说明与字段要求。 - 明确所有 CLI 命令格式及输入输出约定,均使用结构化 JSON。 - 新增团队管理与统计分析的具体操作说明,包括成员管理与按月/负责人统计。 - 强化了状态流转与约束说明,防止非法跳步操作。 - 增加环境变量与配置项优先级说明,便于部署和使用。
Metadata
Slug bidding-tracker
Version 0.1.3
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is bidding-tracker?

军政采招投标商机管理专用工具。负责项目登记/标书采购/封标/开标/结果录入/中标统计/胜算评估,不处理合同履约、发票、报销或其他非招投标事务。 It is an AI Agent Skill for Claude Code / OpenClaw, with 164 downloads so far.

How do I install bidding-tracker?

Run "/install bidding-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is bidding-tracker free?

Yes, bidding-tracker is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does bidding-tracker support?

bidding-tracker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created bidding-tracker?

It is built and maintained by zhangpengle (@zhangpengle); the current version is v0.1.3.

💬 Comments