AutoJev 接入文档
使用一个 AutoJev 访问密钥,通过 REST、远程 MCP 和可移植 Skills 接入托管 AutoJev。
最近更新: 2026-09-19
AutoJev 是 Agent 的决策层。它把精简的状态和明确的问题发送给 Jev,返回结构化选择、概率和评分。它不替代 Agent 的主模型,也不负责生成长篇推理。
1. 获取 AutoJev 访问密钥
Agent 使用托管 AutoJev 服务时只需要两个值:
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:在工具执行前返回allow、confirm、review或deny。autojev_route_task:在快速执行、深入检查、拆分任务和阻断之间选择。autojev_check_research:判断证据是否足以接受结论、需要继续核验,或应当拒绝。autojev_review_completion:判断工作是否真正完成、需要补充验证,或仍未完成。autojev_decide:自定义发送choice、noul和score问题。
Codex
先把 AutoJev 访问密钥放进环境变量,再把下面配置加入 ~/.codex/config.toml,或可信项目里的 .codex/config.toml:
[mcp_servers.autojev]
url = "https://autojev.ai/mcp"
bearer_token_env_var = "AUTOJEV_API_KEY"
tool_timeout_sec = 30Claude Code
claude mcp add --transport http autojev https://autojev.ai/mcp \
--header "Authorization: Bearer ${AUTOJEV_API_KEY}"如果要共享项目配置,请用环境变量保存密钥:
{
"mcpServers": {
"autojev": {
"type": "http",
"url": "https://autojev.ai/mcp",
"headers": {
"Authorization": "Bearer ${AUTOJEV_API_KEY}"
}
}
}
}3. 一次安装全部 AutoJev Skills
在项目根目录运行一次循环,即可安装总控路由 Skill 和五个专项 Skills。也可以把同样的指示交给本地编程 Agent,让它完成安装:
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 } 包装。
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 执行工具。
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"
}'响应示例:
{
"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 返回的决策选择出来的固定预设文案,不是隐藏思维链,也不是模型生成的解释。
可用的预设路径包括 route、model-route、tool-guard、research 和 completion。
Agent 应按这个优先级接入:
- MCP 工具——Agent 能发现工具及其 Schema 时优先使用。
- 预设 REST 接口——应用代码和固定工作流优先使用。
- 原生 Decisions 接口——只有现有预设无法表达所需决策时才使用。
这些预设字段就是 AutoJev 对 Agent 提供的公开契约。即使底层 Jev 提示词、模型版本、Provider 接入或策略逻辑发生变化,Agent 的调用方式仍然可以保持稳定。
6. 使用 Jev 原生协议
AutoJev 有意提供两种不同的请求结构:
/api/v1/decisions接收 Jev Decisions 核心协议:model、state和questions。/api/v1/decisions/{preset}接收 AutoJev 工作流 Schema,例如task + candidates或tool + 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提供这套协议。
{
"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、客户隐私数据或无关文件。
- 概率是决策信号,不是事实证明或执行授权。
- 不可逆操作仍要遵守原有人工审批边界。
- 证据或约束发生实质变化后,应重新评估。