mcpField
D
Decide Policy Notaries

Decide Policy Notaries

远程服务
github.com/decidefyi商业与营销12 天前更新
代码仓库

关于 Decide Policy Notaries

Decide Policy Notaries 为订阅服务商提供退款、取消、退货和试用政策判定。其 MCP 端点采用失败关闭策略;政策范围或经审核的证据不足时返回 UNKNOWN。

主要功能

  1. 01退款资格检查
  2. 02取消费用检查
  3. 03退货资格检查
  4. 04试用条款检查
  5. 05失败关闭并返回 UNKNOWN

适用场景

  1. 01检查订阅退款申请
  2. 02在处理前评估取消条款
  3. 03核验退货或试用资格

MCP 相关

稳定的远程 MCP 服务通过统一端点或专用端点提供四种政策检查工具。它们返回针对具体政策的判定;范围或证据不足时会失败关闭。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://policy.decide.fyi/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

4
参数类型必填说明
planenum是套餐类型。目前仅支持 'individual' 套餐。individual
regionenum是地区代码。目前仅支持 'US'。US
vendorenum是供应商标识符(小写,单词之间以下划线分隔)。1password | adobe | amazon_music_unlimited | amazon_prime | amc_plus | apple_app_store | apple_arcade | apple_music | apple_tv_plus | audible | bitwarden | britbox | bumble | calm | canva | chatgpt_plus | claude_pro | coursera_plus | crunchyroll | dashlane | deezer | discord_nitro | discovery_plus | disney_plus | doordash_dashpass | dropbox_us | duolingo | ea_play | espn_plus | evernote | expressvpn | figma | fitbit_premium | fubo_tv | github_pro | google_one | google_play | grammarly | headspace | hellofresh | hinge | hulu | icloud_plus | instacart_plus | keeper | kindle_unlimited | lastpass | linkedin_premium | masterclass | max | microsoft_365 | midjourney | mlb_tv | myfitnesspal_premium | netflix | new_york_times | nfl_plus | nintendo_switch_online | noom | nordvpn | notion | paramount_plus | patreon | peacock | peloton | playstation_plus | proton | reddit_premium | ring_protect | roblox_premium | scribd | shutterstock | siriusxm | slack | sling_tv | snapchat_plus | soundcloud_go | spotify | squarespace | starz | strava | substack | surfshark | telegram_premium | tidal | tinder | todoist | twitch | uber_one | ubisoft_plus | wall_street_journal | walmart_plus | washington_post | weightwatchers | wix | x_premium | xbox_game_pass | youtube_premium | youtube_tv | zoom
days_since_purchasenumber是订阅购买后的天数。
qualifying_conditions_metboolean否当供应商政策包含特定来源的条件(例如首次购买、未使用权益或符合条件的年度套餐)时必填。

详细介绍

decide.fyi Decision API

为工作流应用、稳定的 MCP 公证远程服务、决策备忘录材料包和执行门禁提供支持的确定性 Decision API 引擎

Version MCP Vendors

定位: Decide Runtime 是通用的确定性决策引擎。Decide Services 是基于它构建的独立专用检查服务;Policy Notaries 是现有的服务系列。Krafthaus 拥有基于 Decide 构建的工作流应用,包括接收、审核和执行交接。MCP、REST 和 SDK 接口属于其所提供的产品,不会自动归属 Krafthaus。

请参阅生态系统归属契约。直接集成服务和运行时不需要 Krafthaus 应用。策略检查只是其中一个服务系列,并非通用 Decision API 的定义。

在执行前拦截 Agent 工具调用

使用 Decide 根据确定性规则手册评估 Agent 提议的操作,然后再授予工具更改状态的权限。调用方会获得可重放的 Decision Record,并可在保留凭证和执行控制权的同时,根据 yes、no 或 review 进行路由。

查看 AI Agent 操作门禁指南

生产环境确定性边界

具有约束力的生产判定应使用带版本的声明式规则手册:

运行时架构:请参阅 docs/RULEBOOK_RUNTIME_ARCHITECTURE.md。 机器可读的架构:https://api.decide.fyi/schemas/rulebook-v1.schema.json。 当前运行时清单:https://api.decide.fyi/manifests/rulebook-runtime-v1.json。 下游应用绑定:decide_application_binding_v1。

生产核心为 hybrid_declarative_rulebook_with_trusted_adapters: 支持直接使用声明式规则手册;已注册的第一方可信适配器可提供有界事实;拒绝客户可执行的规则手册。在两种受支持的绑定模式中,Rulebook v1 始终是唯一的绑定判定选择器。

{
  "mode": "rulebook",
  "rulebook": {
    "schema_version": "rulebook_v1",
    "rulebook_id": "pricing_exception",
    "version": "2026-06-11",
    "input_schema": {
      "required": ["discount_percent"],
      "properties": {
        "discount_percent": { "type": "number" }
      }
    },
    "rules": [
      {
        "rule_id": "approve_standard_discount",
        "priority": 50,
        "condition": {
          "field": "discount_percent",
          "operator": "lte",
          "value": 15
        },
        "outcome": {
          "decision": "yes",
          "verdict": "APPROVE",
          "action": "approve_discount",
          "reason_code": "WITHIN_STANDARD_LIMIT"
        }
      }
    ],
    "default_outcome": {
      "decision": "review",
      "verdict": "REVIEW",
      "action": "route_to_owner",
      "reason_code": "NO_RULE_MATCHED"
    }
  },
  "context": {
    "inputs": {
      "discount_percent": 10
    }
  }
}

mode: "rulebook" 不会调用大模型。它会根据已发布的 JSON Schema 验证请求中的规则手册,对规则手册进行哈希处理,评估有界条件,并返回 yes、no 或 review,以及应用判定、操作、原因代码、匹配的规则和 evaluator_version。 响应还会包含 rulebook_contract,其中包含强制执行的架构 URL/哈希;runtime_binding,其中包含直接或可信适配器绑定模式;input_hash,即声明式求值器所使用的规范化输入或适配器事实的 SHA-256 哈希;以及 rulebook_attestation_v1,即针对确定性执行元组生成的捆绑哈希。 生产部署可使用 rulebook_attestation_signature_v1 Ed25519 信封为该捆绑哈希签名;验证密钥发布在 /.well-known/rulebook-attestation-keys.json。在生产环境中将 DECIDE_RULEBOOK_ATTESTATION_SIGNATURE_REQUIRED=true 设为必需,以便在未签名时直接失败,而不是返回未签名的 Rulebook 判定。使用 DECIDE_RULEBOOK_ATTESTATION_KEY_HISTORY_JSON 发布已退役的公钥,以便轮换后仍可验证较早的 Decision Record。

规则手册请求不能预先填入由 Decide 生成的 Decision Record 材料。在请求正文、context.inputs 和适配器事实边界中,runtime_binding、trusted_adapter、adapter_facts、rulebook_attestation、application_verdict 和 action 等字段仅用于响应;尝试提供这些字段会返回 RULEBOOK_OUTPUT_MATERIAL_FORBIDDEN。 旧版 single、multi 和 runtime 请求仍可用于 AI 辅助探索,但不能作为具有约束力的生产判定。这些响应包含 decision_contract,其中 authority: "advisory_only" 和 production_verdict: false,以及 production_binding_required: true 和受支持的生产绑定模式;需要确定性执行的调用方必须使用 mode: "rulebook",并记录 rulebook_contract、runtime_binding 和 Rulebook 证明材料。

在公开的 Decision Record 边界,成功的评估会注册为不可变的租户范围快照。历史重放会还原原始规范输入和存储的 rulebook 快照,而不是信任调用方覆盖值或当前应用部署。

Rulebook v1 还支持已注册的一方可信适配器,用于有限范围的事实规范化。适配器请求会固定到精确的语义版本和清单哈希;响应会证明随附实现的源哈希、规范输入/输出哈希以及已强制执行的运行契约。每次调用都会在空环境工作进程中运行一次,并受到严格的时间/资源限制,同时禁用常见的环境隐式能力。声明式 rulebook 仍是唯一具有约束力的判定选择器。请参阅 docs/TRUSTED_ADAPTERS_V1.md。

当前的参考应用证明了这两种生产模式:Solana Execution Gate、Decision Memo Readiness Gate 和 Krafthaus Workflow Readiness Binding 在 Rulebook v1 之前使用可信适配器;Refund、Trial、Cancel 和 Return Policy MCP 公证服务则直接向 Rulebook v1 提供规范化事实,并通过稳定的 REST 和 MCP 接口公开已签名的 rulebook 结果。

在评估器、适配器或 rulebook 变更发布前,请运行本地历史重放门禁:

npm run rulebook:migration-dry-run -- --json

使用 --candidate-rulebook、--candidate-adapter 和 --candidate-evaluator-version,在生产路由变更前,将拟议迁移与黄金重放语料进行比较。

对于发布门禁,优先使用 rulebook_migration_v1 清单,以便一并审查候选制品、预期偏差和审批状态:

npm run rulebook:migration-dry-run -- --migration path/to/migration.json --json

清单架构发布于 https://api.decide.fyi/schemas/rulebook-migration-v1.schema.json,dry run 会在重放前根据该封闭架构验证清单。

生产路由或运行时契约变更发布后,请运行生产运行时冒烟测试:

npm run smoke:rulebook-runtime

此测试从运行时之外访问 https://api.decide.fyi,并始终验证已发布的 hybrid_declarative_rulebook_with_trusted_adapters 清单、封闭的 Rulebook v1 架构、证明密钥端点以及受保护的 Decision API 边缘。提供 DECIDE_RULEBOOK_RUNTIME_SMOKE_API_KEY,还会测试实时声明式评估、拒绝行为以及仅供参考的旧版元数据。GitHub Actions 会通过定时/手动运行的 Rulebook Runtime Production Smoke 工作流执行公开边界检查;配置可选的冒烟测试凭据后,还会运行需要身份验证的检查。

旧版 single、multi 和 runtime 模式是 AI 辅助接口。它们并非用于定义不明确的业务判断的生产确定性边界。

架构:

JavaScript SDK 和命令行工具

公开的 @decide-fyi/sdk 客户端涵盖 Decision API 调用、Decision Record 和 Decision Packet 验证、Rulebook 合规性、重放、执行回执和结果报告。

npm install @decide-fyi/sdk

规范的软件包源代码位于 sdk/,采用 Apache-2.0 许可证。 软件包发布要求和源代码映射记录在 sdk/SOURCE_PROVENANCE.md 中。

一键安装

添加到 Cursor 在 VS Code 中安装 添加到 Claude 添加到 ChatGPT 添加到 Codex 添加到 Gemini

按钮会安装规范的四工具 Decide Policy Notaries 服务。现有专用端点仍受支持,以保持兼容性。

稳定的 MCP 远程服务

服务域名工具判定结果
Policy Notariespolicy.decide.fyi以下全部 4 个工具特定于政策的判定结果
Refund Notaryrefund.decide.fyirefund_eligibilityALLOWED / DENIED / UNKNOWN
Cancel Notarycancel.decide.fyicancellation_penaltyFREE_CANCEL / CANCEL_AT_PERIOD_END / PENALTY / LOCKED / UNKNOWN
Return Notaryreturn.decide.fyireturn_eligibilityRETURNABLE / EXPIRED / NON_RETURNABLE / UNKNOWN
Trial Notarytrial.decide.fyitrial_termsTRIAL_AVAILABLE / NO_TRIAL / UNKNOWN

无状态、无需身份验证,每分钟 100 次请求。覆盖范围特定于政策:涵盖 100 家现有的美国个人套餐供应商,另包括范围有限的 Typeform Basic 取消政策。当缺少适用范围或当前已审核的证据时,结果会安全地回退为 UNKNOWN。请参阅 Typeform 集成。

快速入门

通过 MCP 连接(Claude Desktop / Windsurf / 其他客户端)
{
  "mcpServers": {
    "decide-policy-notaries": { "url": "https://policy.decide.fyi/api/mcp" }
  }
}
专用服务兼容性配置

现有安装可以继续使用专用远程服务。它们提供的工具名称和响应契约与规范套件相同:

{
  "mcpServers": {
    "refund-decide": { "url": "https://refund.decide.fyi/api/mcp" },
    "cancel-decide": { "url": "https://cancel.decide.fyi/api/mcp" },
    "return-decide": { "url": "https://return.decide.fyi/api/mcp" },
    "trial-decide": { "url": "https://trial.decide.fyi/api/mcp" }
  }
}
REST API
# Refund eligibility
curl -X POST https://refund.decide.fyi/api/v1/refund/eligibility \
  -H "Content-Type: application/json" \
  -d '{"vendor":"adobe","days_since_purchase":12,"region":"US","plan":"individual","qualifying_conditions_met":true}'

# Cancellation penalty
curl -X POST https://cancel.decide.fyi/api/v1/cancel/penalty \
  -H "Content-Type: application/json" \
  -d '{"vendor":"adobe","region":"US","plan":"individual","billing_cadence":"annual"}'

# Return eligibility
curl -X POST https://return.decide.fyi/api/v1/return/eligibility \
  -H "Content-Type: application/json" \
  -d '{"vendor":"adobe","days_since_purchase":12,"region":"US","plan":"individual","qualifying_conditions_met":true}'

# Trial terms
curl -X POST https://trial.decide.fyi/api/v1/trial/terms \
  -H "Content-Type: application/json" \
  -d '{"vendor":"adobe","region":"US","plan":"individual","offer_confirmed":true,"observed_trial_days":7,"observed_card_required":true,"observed_auto_converts":true}'

只根据你实际核实过的事实设置证据字段。仅有时间范围并不能证明已满足特定来源的条件。即使调用方设置了 qualifying_conditions_met,依赖审批的政策仍会返回 UNKNOWN;试用结果则需要实时观察到优惠。

本地开发检查

启动本地开发服务器:

npx vercel dev

在另一个终端中:

# Handler-level smoke checks (no running server required)
npm run smoke

# MCP endpoint checks (requires a running server)
npm run mcp:check

# Self-contained local MCP check; starts/stops vercel dev on localhost:3000
npm run mcp:check:local

# End-to-end workflow fixture (example -> result)
npm run workflow:test

# Production customer-key verification after provisioning a key
DECIDE_SMOKE_API_KEY='<customer-key>' npm run smoke:customer-key

受保护的 Zendesk 参考工作流

Zendesk 路由是受保护的参考适配器。它们会返回建议性分类、策略结果和推荐的 Zendesk 操作形式,但不会写入 Zendesk、授权执行,也不会创建具有约束力的生产 Decision Record。每个响应都会将 workflow_contract.execution_allowed: false 设为 false。

生产架构(包括 Rulebook v1 操作边界,以及必须在下游副作用发生前创建的 Decision Record)请参阅 docs/POLICY_MCP_SUPPORT_WORKFLOW.md。

端点

  • POST https://refund.decide.fyi/api/v1/workflows/zendesk/refund
  • POST https://cancel.decide.fyi/api/v1/workflows/zendesk/cancel
  • POST https://return.decide.fyi/api/v1/workflows/zendesk/return
  • POST https://trial.decide.fyi/api/v1/workflows/zendesk/trial
请求
{
  "ticket_id": "ZD-9001",
  "workflow_type": "refund",
  "question": "Should this Adobe annual plan refund request proceed under policy?",
  "vendor": "adobe",
  "region": "US",
  "plan": "individual",
  "days_since_purchase": 5,
  "qualifying_conditions_met": true
}

生产工作流请求需要服务器到服务器的 Bearer token:

curl -sS -X POST https://refund.decide.fyi/api/v1/workflows/zendesk/refund \
  -H "Authorization: Bearer $WORKFLOW_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d @workflow-request.json

对于 refund 和 return,请提供 days_since_purchase,并在要求时提供特定来源的状况证据。取消操作可能需要 billing_cadence。试用自动化需要 offer_confirmed,以及观测到的时长、是否需要信用卡和自动转换状态。如果缺少必要上下文,工作流会升级处理,而不是批准。

仅用于测试的 fixture 模式

decision_override 仅用于在同时设置 NODE_ENV=test 和 WORKFLOW_TEST_MODE=1 时进行明确的本地测试和 CI 测试。部署的路由会拒绝此项,且绝不能将其用作集成机制。

{
  "decision_override": "yes"
}
响应(示例)
{
  "ok": true,
  "flow": "zendesk_refund_v1",
  "ticket_id": "ZD-9001",
  "decision": { "c": "yes", "request_id": "req_123" },
  "policy": { "verdict": "ALLOWED", "code": "WITHIN_WINDOW" },
  "workflow_contract": { "production_verdict": false, "execution_allowed": false },
  "action": {
    "type": "approve_refund",
    "execution_allowed": false,
    "zendesk_tags": ["decide", "decide_yes", "refund_allowed"]
  }
}

退款 Notary

端点: POST https://refund.decide.fyi/api/v1/refund/eligibility MCP 工具: refund_eligibility

仅当有版本化规则和所提供的特定来源事实支持自动化时,才会评估退款。

输入: vendor、days_since_purchase、region、plan,以及视情况提供的 qualifying_conditions_met

{"refundable":true,"verdict":"ALLOWED","code":"WITHIN_WINDOW","message":"Refund is allowed. Purchase is 12 day(s) old, within 14 day window.","vendor":"adobe","window_days":14,"qualifying_conditions_met":true,"automation_safe":true}

代码: WITHIN_WINDOW、OUTSIDE_WINDOW、NO_REFUNDS、MISSING_REQUIRED_CONTEXT、UNSUPPORTED_VENDOR

取消 Notary

端点: POST https://cancel.decide.fyi/api/v1/cancel/penalty MCP 工具: cancellation_penalty

检查取消罚则——提前终止费、合同锁定期或免费取消。

Adobe 取消仅供审核:账单周期无法确定其合同、时间、州特定分支或续订分支。此示例是安全的审核响应,而非费用报价。已弃用或非当前的策略证据也需要审核。

输入: vendor、region、plan,以及视情况提供的 billing_cadence

{"verdict":"UNKNOWN","code":"MISSING_REQUIRED_CONTEXT","vendor":"adobe","billing_cadence":"annual","policy_decision_mode":"review_only","required_context":["manual_policy_review"],"automation_safe":false}

代码: NO_PENALTY、EARLY_TERMINATION_FEE、CONTRACT_LOCKED、MISSING_REQUIRED_CONTEXT、UNSUPPORTED_VENDOR

已知的供应商 ID 不代表所有范围都可自动化。请检查每个响应中的 automation_safe、policy_decision_mode 和 policy_evidence。WeightWatchers 的退款、取消和退货来源已弃用;其历史记录仍然可用,但不会再主动获取,也不能用于新的自动化决策。请参阅范围可靠性与准入。

退货 Notary

端点: POST https://return.decide.fyi/api/v1/return/eligibility MCP 工具: return_eligibility

仅当有版本化规则和所提供的特定来源事实支持自动化时,才会评估是否可以撤销订阅购买。

输入: vendor、days_since_purchase、region、plan,以及视情况提供的 qualifying_conditions_met

{"returnable":true,"verdict":"RETURNABLE","code":"FULL_RETURN","message":"Return is available. Purchase is 5 day(s) old, within 14-day window.","vendor":"adobe","return_type":"full_refund","method":"self_service","qualifying_conditions_met":true,"automation_safe":true}

代码: FULL_RETURN、PRORATED_RETURN、CREDIT_RETURN、OUTSIDE_WINDOW、NO_RETURNS、MISSING_REQUIRED_CONTEXT、UNSUPPORTED_VENDOR

试用公证

端点: POST https://trial.decide.fyi/api/v1/trial/terms MCP 工具: trial_terms

根据实时优惠的观测结果评估可用性和条款。它不会发布静态试用可用性信息。

输入: vendor、region、plan、offer_confirmed;确认优惠时,还需要提供 observed_trial_days、observed_card_required、observed_auto_converts

{"verdict":"TRIAL_AVAILABLE","code":"AUTO_CONVERTS","message":"A live 7-day adobe trial offer was confirmed. Credit card required. Auto-converts to paid plan.","vendor":"adobe","trial_days":7,"card_required":true,"auto_converts":true,"offer_confirmed":true,"automation_safe":true}

代码: AUTO_CONVERTS、NO_AUTO_CONVERT、TRIAL_NOT_AVAILABLE、MISSING_REQUIRED_CONTEXT、UNSUPPORTED_VENDOR


支持的供应商注册表(101 个不同的供应商)

版本化的 JSON 注册表是规范的供应商目录。这里有意不重复提供精简的 Markdown 表格,因为政策时限、渠道和审批分支可能各自独立变化。合约测试要求每项政策的 规则、来源和发现结果保持一致。Typeform 仅适用于取消,不适用于退款、退货或试用。

类别规则官方来源注册表自动化分类
退款v1_us_individual.jsonpolicy-sources.jsondeterministic、conditional、review_only
取消v1_us_individual_cancel.jsoncancel-policy-sources.jsondeterministic、conditional、review_only
退货/撤销v1_us_individual_return.jsonreturn-policy-sources.jsondeterministic、conditional、review_only
试用v1_us_individual_trial.jsontrial-policy-sources.jsonobserved 实时优惠模式
  • deterministic:对于受支持的美国个人计划范围,标准政策有明确的定论。
  • conditional:自动化要求调用方明确声明已核实特定来源的条件。
  • review_only:政策取决于审批、渠道、承诺、例外情况或措辞不够明确、无法自动化的来源内容。
  • observed:必须能从当前账户或促销活动中看到实时优惠,才能返回试用条款。

范围: 默认适用于美国个人计划。Typeform 取消政策另有明确覆盖范围:Basic 方案、直接订阅、通过自助平台订阅。

数据时效性

每个政策类别都有版本化规则和来源元数据。取消类别有 101 个供应商标识符;其他三个类别各有 100 个。 来源跟踪器会监控供应商的官方文档和服务条款; 但不会自动将页面文本转化为判定结果。

  • 每日来源检查 — Daily Policy Check 工作流每天运行一次,检查退款、取消、退货和试用来源。重要信号会进入人工审核队列;获取来源内容并不会更新适用性核验。
  • 人工核验时效性:npm run audit:policy-freshness 会独立报告来源审核时间和跟踪器运行时间。新的政策评估还要求提供当前且与请求绑定的证据;缺失或过时的证据会转交审核。
  • 跟踪的政策来源 URL — 每个政策类别在 rules/ 中都有自己的来源文件,其中包含指向官方政策页面的链接。
  • 合规性导出 — GET /api/compliance-export 会返回包含跟踪来源、哈希值和待处理候选变更的 CSV 快照(使用 ?format=json 可获取机器可读的输出)。
  • 版本化规则 — 每个规则文件都包含用于检测过时情况的 rules_version 字段。

架构

  • 无状态判定运行时 — 策略调用不会创建会话或修改策略规则
  • 确定性 — 相同输入始终产生相同输出
  • 版本化规则 — 规则文件包含版本号,用于跟踪更改
  • 定时监控 — GitHub Action 每六小时检查所有供应商的策略页面
  • 无服务器 — 在 Vercel 无服务器函数上运行
  • 零依赖 — 核心计算逻辑没有外部依赖
  • 主机名路由 — Vercel 中间件将子域名路由到正确的 MCP 端点

限制

  • 仅限美国 — 目前仅支持美国地区
  • 仅限个人套餐 — 暂不支持商业版/企业版套餐
  • 日历日 — 时间窗口按日历日计算,而非工作日
  • 失败时默认拒绝的分支 — 依赖审批、依赖渠道、存在歧义或信息不完整的情况会返回 UNKNOWN 以供审核
  • 实时试用证据 — 必须针对正在评估的账户或促销活动核实试用资格和条款

更新日志

v1.3.1 (2026-07-16)

变更:

  • Policy Notaries 现在使用明确的 deterministic、conditional、review_only 和实时优惠模式;信息不完整或依赖审批的请求会在失败时默认拒绝。
  • 监控时间戳不再修改策略沿袭哈希,且黄金回放生成会拒绝不完整的判定。
  • 规范 MCP 元数据现在描述失败时默认拒绝的约定和已观察到的试用证据字段。
v1.3.0 (2026-07-15)

新增:

  • 规范的 policy.decide.fyi/api/mcp 服务,通过一个连接提供全部四种 Policy Notary 工具。
  • 从实时工具定义生成的 Official Registry 元数据和 Smithery 服务卡元数据。

变更:

  • 一键安装链接现在会安装包含四种工具的 Policy Notaries 服务。
  • 专用的 Refund、Cancel、Return 和 Trial MCP URL 保持稳定,继续作为兼容接口。
尚未发布

新增:

  • GET /api/compliance-export 端点,用于导出策略监控证据(默认 CSV,通过 ?format=json 导出 JSON)。
  • 增加合规导出 JSON 和 CSV 路径的冒烟测试覆盖。
  • 私有的 report:mcp-adoption 运营报告,区分远程服务发现、探测和已完成的 Policy Notaries 评估。
  • 令牌门控的 Console 使用情况快照,包含声明的 MCP 客户端归属、保守的后续行为推断,并且仅输出汇总数据。
  • 仅面向服务的 Policy Notaries 指南转化漏斗,分别统计连接意向、公共 REST 证明、MCP 评估和 Krafthaus 工作流交接指标。

变更:

  • 现在的落地页将 Decide 定位为 Decision API 引擎,并将 Policy MCP Notaries 描述为一个参考应用。
  • Zendesk 参考路由在生产环境中要求服务间身份验证;未配置时会失败并默认拒绝,并将所有返回的操作形式标记为不执行。
v1.2.1 (2026-02-08)

变更:

  • 子域名主页现在会显示相关的公证卡片(退款/取消/退货/试用)。
  • server.json、MCP initialize 和 /.well-known/* 中的版本元数据现在保持一致。
v1.2.0 (2026-02-02)

新增:

  • Cancel Notary MCP (cancel.decide.fyi) — 取消罚金检查器
  • Return Notary MCP (return.decide.fyi) — 退货资格检查器
  • Trial Notary MCP (trial.decide.fyi) — 免费试用条款检查器
  • 为所有子域名增加基于主机名的中间件路由
  • 增加取消、退货和试用策略的来源文件与每日检查
  • 在落地页上加入 Systems/Agents 模式定位
  • MCP 目录新增涵盖全部 4 个服务的卡片

修复:

  • 每日策略检查器:增加 contents:write 权限并修复 shell 逻辑
  • 移除导致 404 的无用 Cloudflare 邮件解码脚本
v1.1.0 (2026-02-01)

新增:

  • 支持的供应商从 64 家扩展到 100 家
  • 每日策略检查 GitHub Action(于 08:00 UTC 按 cron 运行)
  • 在 rules/policy-sources.json 中跟踪策略来源 URL
  • 在 inputSchema 中为 MCP 供应商添加 enum,便于 Agent 发现

修复:

  • 修复 Vercel 上因 Node 22 导入属性导致的 ERR_IMPORT_ATTRIBUTE_MISSING 崩溃
v1.0.0 (2026-01-15)

新增:

  • 首次发布,包含 REST API 和 MCP 服务
  • 支持 9 家供应商

公开策略 API 和受保护的决策 API

所有 4 个策略服务均可免费使用。无需身份验证,也无需 API 密钥。

只读的策略支持目录 按策略列出美国个人用户适用范围的状态,分为受支持、仅供审核、已观察到报价、 已退役或已降级。可使用 ?policy=cancel&vendor=adobe 进行筛选。已知供应商 标识符并不代表承诺提供支持:请检查当前范围状态,以及实际决策中的 automation_safe、证据和所需上下文。读取目录既不会评估工具,也不会执行操作。缺少监控会明确标示,不会报告为正常。请参阅目录规范。

在生产环境中,/api/decide 需要受信任的代理或 API 凭据。本地和预览部署可通过设置 DECIDE_API_AUTH_REQUIRED=1 启用相同的安全边界;配置 DECIDE_API_KEY 或 DECIDE_PROXY_SHARED_TOKEN 也会启用该边界。

如果你通过 decidesite 代理运行 decide,并使用动态客户密钥,还需设置:

  • DECIDE_PROXY_SHARED_TOKEN:受信任代理调用所需的共享密钥,须置于 x-decide-proxy-token 标头中。
  • DECIDE_API_KEY:可选的直接后端凭据,供受信任的服务端调用方使用。
  • DECIDE_GEMINI_MODE:默认为 disabled。在此硬性零成本状态下,旧版建议模式 single、multi 和 runtime 的请求会返回 DECIDE_AI_DISABLED_ZERO_COST,不会读取 API 密钥,也不会向提供商发起请求。Rulebook v1 仍可用,且绝不使用 Gemini。
  • DECIDE_GEMINI_MODE=paid:明确选择启用非零成本的建议模式。此模式还需要受限的服务端 GEMINI_API_KEY。DECIDE_GEMINI_MODEL 只能设为 gemini-3.1-flash-lite;更改模型必须通过经过审核的代码发布,而不能只切换环境变量。
  • DECIDE_GEMINI_BUDGET_KV_REST_API_URL 和 DECIDE_GEMINI_BUDGET_KV_REST_API_TOKEN:用于原子化提供商尝试保护机制的专用 Redis 兼容 REST 存储。如果该存储缺失或不可用,付费建议模式会在调用 Gemini 前安全失败。旧版 DECIDE_KV_REST_API_*/KV_REST_API_* 名称可作为兼容回退;优先使用专用凭据。
  • 编译时设定的提供商尝试上限为每日 10 次、每月 100 次、终身 500 次,且最多同时处理 1 个请求。DECIDE_GEMINI_DAILY_CALL_CAP、DECIDE_GEMINI_MONTHLY_CALL_CAP 和 DECIDE_GEMINI_LIFETIME_CALL_CAP 只能降低这些上限。
  • DECIDE_GEMINI_TIMEOUT_MS:付费模式下唯一的提供商请求期限,默认为 8 秒,且不能超过 8 秒。
  • DECIDE_GEMINI_MAX_PROMPT_CHARS:获取数据前的建议提示词长度上限,默认为 4,096 个字符,且不能超过该值;可降至 256。

付费模式只发起一次提供商尝试,绝不会回退到其他模型。Gemini 3.1 Flash-Lite 使用提供商默认的单候选项、最低的受支持 minimal 思考等级和默认温度;single 的输出上限为 8 个 token,multi 为 128 个 token,runtime 为 512 个 token。为确保提供商侧零费用,请勿将 Gemini Google Cloud 项目关联到结算账号;应用计数器只限制调用次数,无法证明具体费用金额。

/api/decide 的通用速率限制为每个无服务器实例的每个 IP 每分钟 20 个请求。这是滥用防护措施,并非 Gemini 成本边界;即使受信任代理绕过通用速率限制,持久化的提供商尝试保护机制仍会生效。

首次客户交接和生产环境密钥验证,请参阅 docs/FIRST_CUSTOMER_RUNBOOK.md。

策略抓取钩子(用于策略检查器的浏览器钩子通道)

当直接抓取受阻时,将 POST /api/policy-fetch-hook 用作每日检查器的抓取适配器。

请求正文:

{
  "url": "https://example.com/policy",
  "vendor": "example_vendor",
  "policy_type": "refund",
  "timeout_ms": 18000
}

身份验证:

  • Authorization: Bearer <POLICY_CHECK_BROWSER_HOOK_TOKEN> 或 x-hook-token: <token>

服务端环境变量:

  • POLICY_CHECK_BROWSER_HOOK_TOKEN(端点身份验证必需)
  • POLICY_FETCH_CLOUDFLARE_ACCOUNT_ID 和 POLICY_FETCH_CLOUDFLARE_API_TOKEN(可选;启用 Cloudflare Browser Run 优先抓取,使用权限仅限于 Browser Rendering Write 的令牌)
  • POLICY_FETCH_CLOUDFLARE_CACHE_TTL_SECONDS(可选;默认为 21600 秒,以便不同策略类型共用渲染结果)
  • POLICY_FETCH_BROWSERLESS_TOKEN(可选的备用浏览器服务提供商)
  • POLICY_FETCH_BROWSERLESS_CONTENT_URL(可选的自定义项;默认值为 https://production-sfo.browserless.io/content)
  • POLICY_FETCH_ALLOWED_HOSTS(可选的逗号分隔主机名允许列表)

检查器(GitHub Actions,仓库 decide):

  • 密钥 POLICY_CHECK_BROWSER_HOOK_URL = 已部署的端点 URL(规范地址:https://api.decide.fyi/api/policy-fetch-hook)
  • 密钥 POLICY_CHECK_BROWSER_HOOK_TOKEN = 与运行时环境变量相同的令牌
  • 变量 POLICY_CHECK_FETCH_LANES_DEFAULT = direct,zendesk_api,mirror,browser_hook
  • 可选变量 POLICY_CHECK_BROWSER_HOOK_MIN_INTERVAL_MS 用于控制浏览器钩子请求之间的间隔(默认值为 10500,适用于 Cloudflare Browser Rendering Free 限制)。

有疑问?请联系 [email protected],或在 X 上联系 @decidefyi。

链接


Decide 是 API 引擎。应用负责证明这一基础能力。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。