八卦智能报价:为 Skill 调用加一层本地熔断保护

前言

在 Cursor、Claude Code 等环境里串联多个 Agent Skill 时,某个下游技能一旦连续报错或错误率升高,往往会把整段对话拖进重复重试。手工写 try/except 能挡一部分,但缺少统一的状态机、日志和恢复策略,运维侧也不好看清「是哪个 skill 在拖后腿」。

下面介绍 SkillHub 社区技能 八卦智能报价(坐标 @user_5b2fc4e3/bagua)。商店页归类为 business-ops,标签标明 requires_api_key=false。安装后包内文档与脚本实际提供的是 hexagram-circuit-v3(八卦熔断机制 v3):规则计数与本地 Ollama 模型辅助判断相结合,在技能执行路径上做熔断与降级。若你期待的是「智能报价 / 商务核价」类能力,需要先核对包内说明——当前公开包内未见报价单、价目表或计费接口相关实现。

这是什么

  • 定位:面向 Skill 调用的熔断与审计辅助层(规则层 + 可选 LLM 层),由发布者 user_5b2fc4e3 以社区来源(community)上架 SkillHub。
  • 版本:1.0.0(包内 SKILL.md 标注 hexagram-circuit-v3 文档日期为 2026-04-29)。
  • 出处:SkillHub 页面 八卦智能报价,API 资源标识 https://api.skillhub.cn/user_5b2fc4e3/bagua。

截至抓取时,SkillHub 侧统计为评分 100000、下载 1002、安装 0(数据以商店为准,会随时间变化)。

核心功能

以下均来自安装包内的 SKILL.md 与 scripts/hexagram_circuit_v3.py,未在包中出现的功能不写。

熔断与状态

包内说明的三层思路为:规则检测 → LLM 判断 → 人工接管(后两层需结合你的 Agent 工作流自行衔接)。

HexagramCircuitBreaker 维护每个 skill_name 的熔断状态(closed / half_open / open 枚举),并在 OPEN 时直接拒绝执行,返回带 fallback 提示的结果。

规则侧触发条件(代码默认参数与 SKILL.md 文案一致部分)包括:

  • 错误率高于 error_rate_threshold(默认 0.3,即 30%)。
  • 连续失败次数达到 failure_threshold(默认 3)。
  • 可选:本地 LLM 解析 JSON 后返回 should_circuit_break: true。

SKILL.md 还写明「超时 > 5 秒 → 降级」;当前脚本主路径以执行耗时记录为主,是否将 5 秒超时单独作为降级条件,需以你本地 fork 或后续版本为准。

本地 LLM 层

call_local_llm 通过 ollama 客户端连接 http://localhost:11434,按内置优先级列表尝试模型(如 qwen2.5:3b、llama3.2:3b 等)。LLM 层用于辅助判断是否应熔断,而非替代业务 Skill 本身。

run() 还支持 action=ollama_status,用于检查本机 Ollama 是否可用及已拉取的模型列表。

日志与恢复

  • 内存中保留事件日志(get_logs),单技能或全局可查最近条目。
  • reset 可将指定技能或全部技能的状态与计数清零。
  • get_status 返回状态及 total / failed / success 调用计数。

安装与启用

前置:SkillHub CLI

若尚未安装 CLI,可按官方安装说明检查或安装:

command -v skillhub && skillhub --version

未安装时可使用 SkillHub 文档中的安装脚本(完整安装或 --cli-only),详见 https://skillhub.cn/install/skillhub.md。

安装本 Skill

安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。Cursor 常用路径为 ~/.cursor/skills/。

skillhub install @user_5b2fc4e3/bagua --dir ~/.cursor/skills/

也可让 Agent 按商店页提示,参照 https://skillhub.cn/install/skillhub.md 安装 @user_5b2fc4e3/bagua。

安装成功后,目录结构类似:~/.cursor/skills/@user_5b2fc4e3/bagua/,内含 SKILL.md 与 scripts/hexagram_circuit_v3.py。

依赖

LLM 判断依赖本机 Ollama 及 Python 包 ollama。未启动 Ollama 时,规则层仍可工作,但 use_llm_decision=True 时的辅助判断会失效或走失败分支。

无需在 SkillHub 配置 API Key(requires_api_key=false)。

典型用法

在 Python 中包裹技能执行

包内 SKILL.md 给出的调用方式为:

from hexagram_circuit_v3 import HexagramCircuitBreaker

breaker = HexagramCircuitBreaker()
result = breaker.execute(skill_name, params)

实际脚本位于 scripts/hexagram_circuit_v3.py。在项目中使用时,需将 scripts 加入 PYTHONPATH,或在同目录下导入,例如:

cd ~/.cursor/skills/@user_5b2fc4e3/bagua/scripts
python3 hexagram_circuit_v3.py

直接运行脚本会执行包内自带的 Ollama 状态检查与示例 execute("test-skill", {})。

通过 run() 统一入口

from hexagram_circuit_v3 import run

# 查看熔断状态
run({"skill": "my-skill", "action": "status"})

# 检查 Ollama
run({"action": "ollama_status"})

# 重置某技能计数
run({"skill": "my-skill", "action": "reset"})

将真实业务函数传入时,使用 breaker.execute(skill_name, params, func=your_callable),由熔断器在 func(**params) 外层捕获异常并更新状态。

在 Agent 对话中启用

安装到 Agent skills 目录并重启或刷新技能索引后,可在对话中说明:对指定 skill_name 的调用需先经过八卦熔断器规则;需要 LLM 辅助判断时确保本机 Ollama 已启动。具体触发话术以你使用的客户端对 SKILL.md 的加载方式为准。

适用场景与注意

适合谁

  • 已在 SkillHub / OpenClaw 生态里串联多个技能,希望用统一组件做失败率监控与快速熔断的团队。
  • 愿意在本机跑 Ollama,接受「规则 + 小模型」做辅助决策、而非云端 API 的场景。

限制与坑

  • 名称与内容:商店名称为「八卦智能报价」,当前包内实现为熔断机制 v3,无报价业务逻辑;选型前建议安装后阅读 SKILL.md。
  • 安装 slug:应使用 @user_5b2fc4e3/bagua;仅写 user_5b2fc4e3/bagua 时,CLI 可能走错误的下载路径。
  • 状态持久化:熔断状态与日志保存在进程内存中,Agent 或解释器重启后会丢失,生产环境如需持久化需自行扩展。
  • 半开状态:枚举含 half_open,主流程以 OPEN 拒执行为主;半开恢复策略需结合 success_threshold 等参数自行验证是否满足你的 SLO。

结尾

八卦智能报价在 SkillHub 上是一条 business-ops 类社区技能:无需 API Key,核心价值在于为 Skill 调用提供可配置的熔断、日志与本地 Ollama 辅助判断。上架名称与包内熔断文档不一致时,以安装后的 SKILL.md 和脚本为准。

官方入口:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye