关于 cournot
Cournot 技能将事件评估、价格差异查询及账户和付款操作路由到相应流程,适用于通过 Cournot 客户端使用这些服务的用户。它依据 API 返回的评估与证据,并严格处理分页、计费和操作确认。
主要功能
- 01路由事件评估与差异排名
- 02管理账户密钥与余额
- 03处理充值与付款确认
- 04按快照分页查看排名
- 05依据 API 证据组织回复
适用场景
- 01提交具体且可验证的事件主张
- 02查询市场价格差异排名
- 03查看余额或恢复账户密钥
- 04选择充值包并确认付款
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cournot-ai/ cournot-skills --skill cournot安装后在 Claude Code 中输入/cournot确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/account.mddivergence-flow.mderrors.mdpayment.mdquery-flow.mdresponse-format.mdscripts/account-flow.mjscournot-client.mjsdivergence-flow.mjsdivergence-pages.mjspayment-flow.mjsverify-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/。