mcpField
C
cournot

cournot

github.com/cournot-ai数据与数据库05.8k 次安装1 周前更新
代码仓库

关于 cournot

Cournot 技能将事件评估、价格差异查询及账户和付款操作路由到相应流程,适用于通过 Cournot 客户端使用这些服务的用户。它依据 API 返回的评估与证据,并严格处理分页、计费和操作确认。

主要功能

  1. 01路由事件评估与差异排名
  2. 02管理账户密钥与余额
  3. 03处理充值与付款确认
  4. 04按快照分页查看排名
  5. 05依据 API 证据组织回复

适用场景

  1. 01提交具体且可验证的事件主张
  2. 02查询市场价格差异排名
  3. 03查看余额或恢复账户密钥
  4. 04选择充值包并确认付款

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cournot-ai/cournot-skills --skill cournot

安装后在 Claude Code 中输入/cournot确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
account.md
divergence-flow.md
errors.md
payment.md
query-flow.md
response-format.md
scripts/
account-flow.mjs
cournot-client.mjs
divergence-flow.mjs
divergence-pages.mjs
payment-flow.mjs
verify-output.mjs

详细介绍

Cournot

仅用于 /cournot 或用户明确要求使用 Cournot 的情况。使用用户的语言回复。API 会提供评估结果和证据;切勿自行编造另一份估算。

客户沟通

在所有面向客户的消息中(包括查询、账户操作、付款、恢复和故障排查),默默遵循以下原则。这些原则用于指导写作,不是要向客户宣布或解释的内容:

  • 回复应以实际请求和客户端结果为依据。说明当前状态、对用户的影响以及接下来有用的操作。区分计划执行的操作和已完成的操作;如果完成情况、付款情况或剩余调用次数尚未确认,应保留不确定性。
  • 在所有回复中始终使用用户实际请求所用的语言,并采用常见的产品术语和清晰的单位。不要根据文档、示例或工具输出的语言推断客户使用的语言。自然地本地化 API 密钥、轮换、调用次数和最新付款预览等术语。根据查询和响应参考,保留 API 证据和市场标题的措辞。简洁要求针对说明性文字,而非必需的结果字段:不得省略响应约定要求的数据。
  • 沟通内容应与所需决策相称。简短确认当前任务,不要叙述计划或请求授权。只有在有实质性进展或延迟时,才提供后续进度。直接呈现可用结果或选项。不要叙述内部阅读、路由、验证、调试、格式化或测试过程,也不要重复用户不需要的信息。聚焦于操作本身。不要宣布自己正在遵循指令、使用特定回复语言、筛选信息或隐去内部细节;这些属于写作决策,不是任务进度。省略无关警告。
  • 请求确认时,提供理解或授权操作所需的信息,例如钱包、付款条款和操作影响。
  • 在所有面向客户的回复中,将 API 部署详情视为内部信息:不要展示开发、生产、本地等环境标签、API 来源或服务 URL,包括账户结果、套餐选项、确认信息和错误。付款网络和公开的付款条款与决策相关,仍须展示。
  • 只收集下一步所需的输入。常规选择不同于付款或凭证授权;切勿捏造或代替用户表示同意。只有客户端提供了包含决策所需信息的具体操作预览后,才请求授权。用户要求执行某项操作,即已允许准备该操作的预览;不要插入事先的授权问题。等待用户输入时,最终回复应以一个关于下一步决策的直接问题结束,而不是告诉用户要输入什么确认语。除非宿主有要求或用户明确提出,否则不要解释操作、引用内部规则或路径;不得披露签名参数。

发送任何面向客户的消息前,都要依据这些原则进行检查:每句话都必须有助于用户理解结果、影响或下一步决策;所有状态和授权声明都必须有客户端或用户提供的证据。删除过程叙述和代用户作出的表述。进度消息和最终回复都要遵循此检查。

使用 errors.md 按照相同原则解读失败和不确定结果。流程参考定义业务事实和允许执行的操作,不是固定的客户回复模板。

先为请求选择路由

在处理或解释客户端结果前,先阅读适用的流程参考。对于后续问题、状态说明和故障排查,应根据待处理操作或返回的操作选择参考;不要将它们视为新的事件查询,也不要仅凭状态名称推断工作流。 移除 /cournot 和首尾空白后,匹配以下完整命令。不要将包含保留词的事件解读为管理命令。

当此技能已被明确选中时,不带 /cournot 的 divergence [count] 使用相同的排名流程。排名完成后,在路由新的事件查询之前,识别独立的分页后续请求,例如“下一页”“上一页”“第 3 页”“next page”“previous page”或“page 3”。使用上次排名保存的快照和页面元数据;翻页不属于新查询。

输入操作 / 参考
divergence [count](仅首个单词)缓存的价格偏差排名 — divergence-flow.md
balance查看余额和经过遮蔽的密钥 — account.md
key显示完整密钥,或使用钱包恢复密钥 — account.md
import <key>验证并保存现有密钥 — account.md
rotate预览轮换及其对旧密钥的影响;仅在确认后执行 — account.md
topup让用户选择套餐,并预览和确认付款 — payment.md
其他任何内容事件查询 — query-flow.md

对于 divergence,在宣布或开始查询之前,先验证数量:必须是 1 到 100 之间的整数,也可以省略,默认值为 10。数量无效或含糊不清时,必须要求用户更正,且不得调用 API。例如,必须拒绝 2.5,不能四舍五入或截断为 2;101 不能变成 100。提供 --limit 时,还要将用户原样输入的数量后缀作为 --count-text 传入,以便客户端交叉核对转换结果。

Divergence 回复每次只显示一页,最多 20 个市场。divergence 100 仍会一次请求 100 条,但客户端只会将第 1 页的行返回给你,并在本地保存完整结果。将 pagination.snapshot_file 和当前页码保存在此聊天的上下文中。后续页面使用 divergence-page,无需 HTTP、钱包访问或再次收费。切勿将完整快照读入模型上下文,也不要将所有页面拼接为一条回复。每页都要保留 PRD 要求的九列 Markdown 表格;不要将其改为纵向的字段/值列表、卡片、代码块或浏览器/文件预览。导航和验证方法请参阅 divergence-flow.md。

对于 divergence,标题、列标签和说明文字要使用用户的语言。调用客户端之前,还必须提供所需的 --labels-json,其中两个方向标签和可见链接文本都要使用同一种语言:中文请求使用中文标签,包括“查看”;英文请求使用英文标签,包括“View”;其他语言也遵循相同规则。根据用户的实际请求和对话判断语言,而不是根据英文命令关键词、API 数据或文档示例判断。JS 客户端会提供 rows_markdown:原样插入其中的数据行。每个链接的目标必须与其原始 API url 逐字符一致,包括所有查询参数(例如 op_market_ticker),即使它与路径重复也不例外。绝不要缩短、规范化或重建 URL。请遵循 divergence-flow.md 中的输出约定和行验证流程。

仅对于事件查询,还要移除可选的 probability 前缀。消息就是用户用自己的话描述的事件。调用 resolve 之前,必须要求事件主张具体且可验证。资产名称或“BTC 相关市场”之类的请求只是主题,并非主张:询问用户希望评估什么结果、阈值或时间范围,且不得调用 API。不要替用户编造主张进行搜索。将价格偏差或定价错误请求引导至 /cournot divergence。若事件中其他位置出现 divergence,仍将其作为事件查询处理。Divergence 流程绝不会调用 resolve 或 probability。

运行时与计费

任何回复中都不得泄露签名载荷或协议参数,包括故障排查信息:domain/types/primaryType、签名用的 chainId、urlPath、nonce、签名时间戳、解析后的签名消息,以及内部请求 / 意图 ID 均须保留在客户端内。不得为展示而重构这些内容。此边界不存在技术细节例外;但这不影响为充分知情的确认所必需的公开付款条款。

需要 Node.js 22.20 或更高版本。所有 API 操作均使用 scripts/cournot-client.mjs;凭据和钱包签名均留在客户端内。所有生产操作,包括 resolve、probability、divergence、账户和套餐,均使用默认服务 https://interface.cournot.ai。divergence 无需单独设置覆盖项。保留操作者明确指定的受支持环境目标。不得为规避故障而切换环境。

任何导入、余额、充值、付款执行或恢复后续操作,都必须沿用其待处理请求的来源,并保留任何明确设置的环境覆盖项。密钥始终绑定到其确切来源;将 COURNOT_API_KEY_BASE 设置为该密钥自己的来源,绝不得在不同环境间复制密钥。API 部署环境与付款网络相互独立:主网付款使用真实资产。

计费条款规定,按 IP 计,probability 和 divergence 共计可免费调用三次,且不重置。使用所选环境返回的配额;不要推断不同环境间共享余额或免费额度。优先使用免费额度,再使用预付费调用。开始使用无需密钥或钱包。免费调用用完后,如果已配置密钥,则扣除预付余额;否则由用户选择充值、导入密钥,或按次支付 $0.01。套餐不会过期,可叠加,且不可退款。价格和调用次数以客户端的套餐目录为准;实际付款条款以服务器的 402 响应为准。

每个用户查询只允许进行一次概率评估或 divergence 请求,包括免费和预付费调用。divergence 的数量不会改变每次请求的费用;空排名免费。已确认的 402 重放属于同一次评估。不得仅为验证相同结果而重复已完成的账户操作。每次首次付费提交前,客户端会等待三秒,并在等待前后检查可读的授权有效期。收到明确的“授权尚未生效”预检拒绝后,客户端可在原先确认的付款范围内,使用相同的已签名付款进行一次内部重试;详见 payment.md。不得进行其他自动重试、后台查询、自动充值,也不得静默地从预付余额回退到按次付款。在消歧、凭据设置和付款确认期间,保留待处理操作、事件文本及所选市场 ID,或 divergence 数量及语言。充值完成后不会自动重新运行待处理查询。

COURNOT_API_KEY 仅会覆盖 COURNOT_API_KEY_BASE 对应来源的文件(默认为生产环境)。否则,客户端会读取 ~/.cournot/credentials/ 下的按来源存储文件。这些文件是受文件系统权限保护的明文文件,并非加密保险库。绝不得通过模型读取或编辑这些文件。导入、保存、恢复和显示均须使用客户端命令。只有明确输入 /cournot key 时才可显示完整密钥;其他所有输出都必须对密钥进行掩码处理。绝不得索要钱包私钥或助记词。 概率响应成功时,请阅读 response-format.md。返回的市场和证据 URL 是不透明标识符:必须保留每个字符,包括重复词、大小写和查询参数值。切勿根据标题或表面含义重新生成链接。对于偏离情况,请保留生成的数据行,并按照 divergence-flow.md 中的说明核验草稿。URL 有任何更改或缺失,结果都不正确;请在发送前更正草稿。请报告返回的计费路由和剩余调用次数;charged=false 不代表没有消耗预付调用次数。切勿捏造缺失的配额、承诺每日重置,或承诺服务器故障情况不明时不会扣费。

Claude Code、Codex、Grok、OpenClaw 和其他 Agent Skills 宿主使用同一个文件夹。请从 skills/cournot/ 安装 SKILL.md、agents/、scripts/ 和 references/。

评论

支持 Markdown