Install
openclaw skills install @yangfei222666-9/zhuge-skill利用64卦推演和多数据源,提供足球比赛预测、经验自学习和多场决策支持的智能辅助工具。
openclaw skills install @yangfei222666-9/zhuge-skill别再每次决策都烧 token。 用结构化推演 + 晶体复用,把 90% 的决策留在 CPU 里跑,只在必要时调 LLM。
整合 API-Football / The Odds API / Understat xG 等 5 大数据源 · 6 维爻位 + 64 卦决策 · 经验自学习 · DeepSeek / Kimi / 通义 / 智谱 / Claude / GPT / Gemini 等 12 家 LLM 任选
大多数 AI agent 每做一次决策就烧一次 LLM(几 k ~ 几万 token)。诸葛亮的架构让你大幅降低这个成本:
| 决策路径 | token 消耗 | 备注 |
|---|---|---|
| 纯 LLM agent 做决策 | ~3000–10000 token/次 | 每次都要把上下文塞进 prompt |
| 诸葛亮:数据源 → 爻位 → 卦象 → 决策 | 0 token | 纯 CPU 数值计算 |
| 诸葛亮:命中历史晶体 | 0 token | 直接复用结构化模式,跳过 LLM |
| 诸葛亮:LLM 润色孔明评语(可选) | ~200–500 token | 只在你需要时调,且可以关掉 |
实际场景:批量预测 50 场比赛
这才是 zhuge-skill 的核心价值——不是因为易经玄学,是因为结构化推演能做的事就不该花 token 做。
我是一个能分析数据 + 推演决策 + 持续自学习的 AI 助手。当前主要场景是足球比赛预测,但底层是通用的 64 卦推演引擎,可扩展到任何决策场景。
| 能力 | 命令 | 说明 |
|---|---|---|
| 单场预测 | python start.py predict "Napoli vs Lazio" | 拉数据 → 6 维爻位 → 卦象 → 决策 |
| 批量预测 | python scripts/batch.py "A vs B" "C vs D" | 一次跑多场 |
| 结果回传 | python scripts/backfill.py | 比赛后回填实际结果,更新命中率 |
| 命中率统计 | python scripts/stats.py | 看历史表现 |
| 经验结晶 | python scripts/crystallize.py | 提炼成功模式为「晶体」(本地操作) |
| 共同进化 | python scripts/sync.py pull | 从公共池只拉取匿名晶体(单向消费,HTTP GET,不携带本地数据) |
| 权重校准 | python scripts/calibrate.py | 用回传数据自动调爻位权重 |
| 战报 | python scripts/report.py --llm | LLM 写古风周报/月报 |
| 守护模式 | python scripts/backfill.py --loop 30 | 每 30 分钟自动回传 |
给 Agent 的提示词:
"用诸葛亮 skill 预测明天的 Napoli vs Lazio"
Agent 应该调用:
python start.py predict "Napoli vs Lazio" --league serie-a
输出要点:
预测 → 写经验库 → 等结果 → backfill 回传 → stats 看准确率
↓
共同进化 ← sync 拉公共晶体(只入) ← crystallize 本地结晶 ← calibrate 校准权重
Skill 运行需要以下环境变量。均为可选——未填写时对应功能会优雅降级而不是崩溃。
| 变量 | 用途 | 获取地址 | 不填的后果 |
|---|---|---|---|
API_FOOTBALL_KEY | 获取联赛/球队/比赛数据 | https://dashboard.api-football.com/ | 无数据,预测退化为 demo 模式 |
THE_ODDS_API_KEY | 获取博彩赔率 | https://the-odds-api.com/ | 6 维爻位中的「赔率维度」缺失 |
Skill 支持 12 个供应商。只需配置其中一个,其他留空:
| 变量 | 供应商 | 用途 |
|---|---|---|
DEEPSEEK_API_KEY | DeepSeek | 孔明评语生成(推荐,便宜) |
OPENAI_API_KEY + OPENAI_API_BASE | OpenAI / 任何 OpenAI-compat | 同上 |
ANTHROPIC_API_KEY | Anthropic Claude | 同上 |
GEMINI_API_KEY | Google Gemini | 同上 |
KIMI_API_KEY | Moonshot Kimi | 同上 |
QWEN_API_KEY | 阿里通义 | 同上 |
ZHIPU_API_KEY | 智谱 GLM | 同上 |
DOUBAO_API_KEY | 字节豆包 | 同上 |
YI_API_KEY | 01.AI | 同上 |
BAICHUAN_API_KEY | 百川 | 同上 |
MINIMAX_API_KEY | MiniMax | 同上 |
CLAUDE_RELAY_KEY + CLAUDE_RELAY_BASE | 第三方中转 | ⚠️ 见下方 §LLM 中转风险 |
未配置任何 LLM 时:跳过"孔明评语"步骤,其它功能正常。
| 脚本 | 行为 | 是否向外发数据 |
|---|---|---|
start.py predict | 本地推演 | ❌ 否(除非调 LLM 生成评语,见下方) |
scripts/predict.py | 本地推演 | ❌ 否 |
scripts/backfill.py | 从数据源 API 拉结果 | ↓ 仅拉入,不外发 |
scripts/stats.py | 本地统计 | ❌ 否 |
scripts/calibrate.py | 本地调参 | ❌ 否 |
scripts/crystallize.py | 本地提炼"晶体" | ❌ 否(只写本地 data/crystals_local.jsonl) |
scripts/sync.py pull | 从公共 URL 拉匿名晶体(只 GET) | ↓ 仅拉入,不外发 |
scripts/share.py | 生成本地 md/json 到 exports/ | ❌ 否(纯本地文件,不联网) |
scripts/report.py --llm | 调 LLM 写周报 | ↗ prompt 送 LLM 供应商 |
任何调用 LLM 的脚本(predict --llm / report --llm)会把以下内容发送到你配置的 LLM 供应商:
Skill 支持一个叫 relay 的中转模式(CLAUDE_RELAY_BASE=https://apiport.cc.cd 等)。启用中转意味着:
生产环境强烈建议:直连官方 API(设置 ANTHROPIC_API_KEY / OPENAI_API_KEY 指向官方端点),不要用 relay。
Relay 仅适用于:
sync.py)与本地导出(share.py)v1.0.1 的架构事实:本 skill 的代码里没有任何一行把本地数据发到网络。
scripts/sync.py 只有两个子命令:pull(HTTP GET 从公共 URL 拉)和 status(本地查看)。push 函数已从代码中移除,不是"默认关闭"——是根本没写。scripts/share.py 只把你本地的预测记录渲染成 exports/predictions_*.md|json 文件,供你自己手动分享,不联网。公共晶体池(作为 sync.py pull 的来源):
https://raw.githubusercontent.com/yangfei222666-9/zhuge-crystals/main/crystals.jsonlZHUGE_REMOTE_CRYSTAL_URL 环境变量改为你自己的 forkcurl 就能看到内容,完全透明详见 PRIVACY.md 的架构级隐私合约。
start.py 带 wizard 模式会交互提示后可选写入 .env(wizard.write_env)
.env,不污染系统级 envdata/experience.jsonl / data/crystals_local.jsonl / data/crystals_shared.jsonl(均在 skill 目录下)打开这三个文件,grep 关键词确认行为:
# 1. 确认 sync.py 没有任何上传逻辑(应只看到 docstring 里 "没有 push" 的字样)
grep -n "requests.post\|push\|upload\|POST" scripts/sync.py
# 2. 确认 share.py 不联网(应无匹配)
grep -n "requests\|urlopen\|http" scripts/share.py
# 3. 确认全仓库没有隐藏的上传端点
grep -rn "requests.post\|urlopen.*POST\|upload" scripts/ core/
# 应只看到 core/llm.py 里调你自己配置的 LLM 供应商(不含本地数据库)
# 4. 确认 wizard 写 .env 需要用户确认
grep -n "write_env\|\.env" core/wizard.py
start.py — 一键入口(带欢迎动画 + wizard)core/ — 核心算法(卦象/爻位/LLM 适配/孔明/结晶)adapters/ — 数据源(API-Football/The Odds API/Understat)scripts/ — 入口脚本data/ — 64 卦表 + 种子经验库 + 晶体池✓ Hermes Agent / OpenClaw / Claude Code / Cursor / 任何 Python 环境
✓ 12 LLM 供应商(豆包/Kimi/通义/智谱/Yi/百川/MiniMax/DeepSeek/OpenAI/Claude/Gemini/中转)
✓ 三种配置方式:环境变量 / .env / 命令行参数
✓ 网络降级:任何外部 API 失败都不阻塞核心流程
scripts/predict.py 预测输出显示晶体复用次数 + 首见年龄 + 信任标签scripts/crystallize.py --dry-run 预览结晶结果不写入scripts/stats.py --crystals 晶体排行 + stale 监控scripts/error_log.py --resolve <id> + priority / status 字段(生命周期对齐 self-improving-agent 方法论)first_seen / last_seen / recurrence_count,match_crystal 命中回写 crystals_local.jsonlscripts/error_log.py:JSONL 错误日志,接入 backfill 守护循环 / fetch_actual_result / core/llm.py 三个 except 点README.en.md 英文版(为国际用户 / Show HN 准备)CHANGELOG.md 独立文件assets/demo.png — 诸葛亮推演引擎实录截图(启动动画 + 6 维爻位实时评分)push 已移除)不一致,已重写为 §晶体拉取 与本地导出,对齐代码sync.py 改为 pull(只 GET),share.py 标为纯本地导出sync 推/拉 → sync 拉公共晶体(只入)sync.py 的 push 函数从代码中移除,固化为单向消费架构(只 pull 不 push)sync.py 子命令简化为 pull(从公开 URL 只读拉取)和 status(本地查看)share.py 明确为本地导出工具(生成 exports/*.md|json),不联网