WorkBuddy Skill — Codeforces 竞赛平台数据查询与分析。
在 D:/AI_study/learn/codeforces-mcp 克隆并分析了 Mohamed-hanfy/codeforces-mcp(148 行 MCP Server),
发现三大硬伤:
- 只覆盖 9/18 端点 — 缺少 blogEntry.*、contest.hacks、problemset.problems、recentActions、system.status、group.isManager、user.blogEntries、user.friends
- 完全无认证 — 不支持 apiKey + apiSig 签名,无法访问 user.friends 等需鉴权端点
- Docker 纯属累赘 — 14 行 Dockerfile 拉一个 200MB+ 镜像跑 stdio 脚本,零价值
决策:用 WorkBuddy Skill 替代 MCP Server。
- 公开端点(16 个)→ WorkBuddy WebFetch 直接调用,零代码零依赖
- 认证端点(user.friends、group.isManager)→
scripts/cf_api.py计算 SHA512 apiSig 签名,仅用 Python 标准库 - 嵌入竞赛编程领域知识(rating 分段、标签体系、推荐策略),超越纯 API 包装
- 比赛查询:比赛列表、排名、rating 变化、提交记录、hack 记录
- 用户查询:用户信息、rating 历史、提交记录、博客列表、好友列表(需认证)
- 题库检索:按标签/rating 筛选题目、最近提交
- 博客阅读:查看 CF 博客内容与评论
- 最近动态:CF 平台最近活动
- 领域知识:rating 分段体系、标签含义、练习推荐策略
| 层级 | 方法 | 机制 |
|---|---|---|
| 公开(16 个) | blogEntry.、contest.、problemset.*、recentActions、system.status、user.info/rating/status/blogEntries/ratedList | WorkBuddy WebFetch → https://codeforces.com/api/{method}?{params} |
| 认证(2 个) | user.friends、group.isManager | scripts/cf_api.py + --key + --secret |
- 零外部依赖:
cf_api.py仅用 Python 标准库(hashlib, urllib, json, argparse) - 公开端点无需代码:WorkBuddy 内置 WebFetch 直接调 API,SKILL.md 含 URL 模板
- 频率限制感知:CF API 每 2 秒最多 1 次请求,SKILL.md 指示批量请求间隔
- 密钥安全:API key/secret 通过 CLI 参数传入,不写入文件
git clone [email protected]:ttzc/codeforces-api.git ~/.workbuddy/skills/codeforces-api- WorkBuddy Skill(Markdown 指令 + WebFetch)
- Python 标准库(hashlib, urllib, json, argparse)
- 零外部依赖
- API 文档:https://codeforces.com/apiHelp
- API 方法列表:https://codeforces.com/apiHelp/methods
- API 对象结构:https://codeforces.com/apiHelp/objects
- API Key 设置:https://codeforces.com/settings/api
| 项目 | 语言 | 链接 | 参考价值 |
|---|---|---|---|
| codeforces-mcp | Python | https://github.com/Mohamed-hanfy/codeforces-mcp | 原始 MCP,端点列表参考 |
| go-codeforces | Go | https://github.com/mukundan314/go-codeforces | 完整端点覆盖 + 认证实现 |
| codeforces-api-node | Node.js | https://github.com/ahmed-dinar/codeforces-api-node | 端点参数参考 |
| codeforces-api-ts | TypeScript | https://www.npmjs.com/package/codeforces-api-ts | 端点参数 + 认证参考 |
MIT