返回首页

AutoJev 接入文档

使用一个 AutoJev 访问密钥,通过 REST、远程 MCP 和可移植 Skills 接入托管 AutoJev。

最近更新: 2026-09-19

AutoJev 是 Agent 的决策层。它把精简的状态和明确的问题发送给 Jev,返回结构化选择、概率和评分。它不替代 Agent 的主模型,也不负责生成长篇推理。

1. 获取 AutoJev 访问密钥

Agent 使用托管 AutoJev 服务时只需要两个值:

bash
export AUTOJEV_BASE_URL="https://autojev.ai"
export AUTOJEV_API_KEY="你的-autojev-access-key"

https://autojev.ai/settings/apikeys 创建用户级密钥。把密钥保存在本机凭证库或环境变量中,不要提交到 Agent 项目或客户端配置文件。如果可信的本地 Agent 提示凭证缺失,你可以明确要求它配置 AutoJev,并在该私有配置对话中提供密钥。Agent 应在不回显密钥、不写入项目的前提下把它保存到本机。不要通过共享、公开或不可信的聊天发送密钥。

2. 接入 MCP

托管 MCP 地址采用无状态 Streamable HTTP:

https://autojev.ai/mcp

它提供六个工具:

  • autojev_route_model:根据任务风险、质量、成本、延迟、上下文和工具需求,在允许的模型中选择。
  • autojev_guard_tool_call:在工具执行前返回 allowconfirmreviewdeny
  • autojev_route_task:在快速执行、深入检查、拆分任务和阻断之间选择。
  • autojev_check_research:判断证据是否足以接受结论、需要继续核验,或应当拒绝。
  • autojev_review_completion:判断工作是否真正完成、需要补充验证,或仍未完成。
  • autojev_decide:自定义发送 choicenoulscore 问题。

Codex

先把 AutoJev 访问密钥放进环境变量,再把下面配置加入 ~/.codex/config.toml,或可信项目里的 .codex/config.toml

toml
[mcp_servers.autojev]
url = "https://autojev.ai/mcp"
bearer_token_env_var = "AUTOJEV_API_KEY"
tool_timeout_sec = 30

Claude Code

bash
claude mcp add --transport http autojev https://autojev.ai/mcp \
  --header "Authorization: Bearer ${AUTOJEV_API_KEY}"

如果要共享项目配置,请用环境变量保存密钥:

json
{
  "mcpServers": {
    "autojev": {
      "type": "http",
      "url": "https://autojev.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${AUTOJEV_API_KEY}"
      }
    }
  }
}

3. 一次安装全部 AutoJev Skills

在项目根目录运行一次循环,即可安装总控路由 Skill 和五个专项 Skills。也可以把同样的指示交给本地编程 Agent,让它完成安装:

bash
for skill in autojev autojev-task-router autojev-model-router \
  autojev-tool-guard autojev-research-guard autojev-completion-review; do
  mkdir -p ".agents/skills/$skill"
  curl -fsSL "https://autojev.ai/skills/$skill/SKILL.md" \
    -o ".agents/skills/$skill/SKILL.md"
done

然后让 Agent 读取 .agents/skills/autojev/SKILL.md 并配置 AutoJev。Skills 不会扩大 Agent 的权限,原有的任务范围、审批和安全规则始终有效。

4. 为任务选择模型

所有接口使用 Bearer 鉴权,并返回统一的 { code, message, data } 包装。

bash
curl https://autojev.ai/api/v1/decisions/model-route \
  -H "Authorization: Bearer ${AUTOJEV_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "处理复杂客户争议,需要 100k 上下文和工具调用",
    "candidates": [
      {
        "id": "fast-model",
        "description": "快速通用模型,支持 32k 上下文",
        "cost": "low",
        "latency": "low"
      },
      {
        "id": "reasoning-model",
        "description": "推理能力强,支持 200k 上下文和工具调用",
        "cost": "high",
        "latency": "medium"
      }
    ],
    "priorities": ["quality", "context", "tool_use", "cost"],
    "constraints": ["客户数据只能通过已批准的工具处理"],
    "stakes": "high"
  }'

结果包含选中的候选模型、每个候选模型的概率、escalate 概率、确定性指引、Provider 元数据和用量。

5. 防护一次工具调用

在 Agent 执行高影响操作之前调用这个预设。AutoJev 只评估提议的操作,不会代替 Agent 执行工具。

bash
curl https://autojev.ai/api/v1/decisions/tool-guard \
  -H "Authorization: Bearer ${AUTOJEV_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "issue_customer_refund",
    "action": "为存在重复扣款争议的订单退款 680 美元",
    "arguments_summary": ["order_id=ord_7429", "amount_usd=680"],
    "side_effects": ["发生资金转移", "改变订单支付状态"],
    "safeguards": ["已核验客户身份和重复扣款记录"],
    "policy": ["超过 500 美元的退款必须经过人工批准"],
    "reversibility": "partially_reversible"
  }'

响应示例:

json
{
  "code": 0,
  "message": "ok",
  "data": {
    "decision": "confirm",
    "confidence": 0.94,
    "probabilities": {
      "allow": 0.01,
      "confirm": 0.94,
      "review": 0.04,
      "deny": 0.01
    },
    "guidance": "Require explicit user confirmation before the tool call.",
    "guidance_source": "autojev_preset",
    "model": "typesafe/jev-1.13-20260917",
    "provider": "TypeSafe"
  }
}

完整的 answers 对象还包含风险评分和 needs_confirmation 概率。guidance 是根据 Jev 返回的决策选择出来的固定预设文案,不是隐藏思维链,也不是模型生成的解释。

可用的预设路径包括 routemodel-routetool-guardresearchcompletion

Agent 应按这个优先级接入:

  1. MCP 工具——Agent 能发现工具及其 Schema 时优先使用。
  2. 预设 REST 接口——应用代码和固定工作流优先使用。
  3. 原生 Decisions 接口——只有现有预设无法表达所需决策时才使用。

这些预设字段就是 AutoJev 对 Agent 提供的公开契约。即使底层 Jev 提示词、模型版本、Provider 接入或策略逻辑发生变化,Agent 的调用方式仍然可以保持稳定。

6. 使用 Jev 原生协议

AutoJev 有意提供两种不同的请求结构:

  • /api/v1/decisions 接收 Jev Decisions 核心协议:modelstatequestions
  • /api/v1/decisions/{preset} 接收 AutoJev 工作流 Schema,例如 task + candidatestool + action + policy,再由服务端转换成 Jev 的 state + questions

当预设不适用,或者要迁移 OpenRouter Jev 请求时,使用原生接口。AutoJev 只接受 Jev 模型标识;省略 model 时默认使用 ~typesafe/jev-latest。一次请求最多可包含 32 个命名问题。

重要: Jev 是 Decisions 决策模型。OpenRouter 会拒绝通过通用的 /api/v1/chat/completions 调用它;必须使用下面展示的专用 /api/alpha/decisions 协议。AutoJev 在 /api/v1/decisions 提供这套协议。

json
{
  "model": "~typesafe/jev-latest",
  "state": {
    "customer_message": "订单 ord_7429 被重复扣款。",
    "duplicate_charge_usd": 680,
    "customer_identity_verified": true,
    "policy": "超过 500 美元的退款需要人工批准。"
  },
  "questions": {
    "action": {
      "type": "choice",
      "instructions": "选择最安全的下一步动作。",
      "criteria": {
        "allow": "立即发起退款。",
        "review": "发起退款前要求人工批准。",
        "deny": "拒绝退款请求。"
      }
    },
    "needs_human_review": {
      "type": "noul",
      "instructions": "根据当前策略,这笔退款是否需要人工审核?"
    },
    "risk": {
      "type": "score",
      "instructions": "评估财务与策略风险。",
      "criteria": ["低", "中等", "高", "严重"]
    }
  },
  "session_id": "refund-review-demo"
}

其中 model + state + questions 会发送给 Jev Decisions API。AutoJev 将 Provider 凭据保留在服务端,并用统一的 AutoJev 响应信封包装结果。预设专用字段不会直接发给 OpenRouter,而是先完成协议转换。

使用原则

  • 只发送足以支持决策的最小状态。
  • 不要发送密码、Provider Key、客户隐私数据或无关文件。
  • 概率是决策信号,不是事实证明或执行授权。
  • 不可逆操作仍要遵守原有人工审批边界。
  • 证据或约束发生实质变化后,应重新评估。

参考资料