编码 Agent 使用

当 Codex、Claude Code、OpenClaw、Hermes 或其他编码 Agent 修改使用 @joytoken/agent-sdk-ts 的代码时,可以把本页作为上下文。

Agent 需要知道什么

主题指令
包选择TypeScript Agent 循环使用 @joytoken/agent-sdk-ts
提供方使用 createJoyTokenProvider({ apiKey: process.env.JOY_TOKEN_API_KEY })
API KeyJOY_TOKEN_API_KEY 只能放在服务端
工具defineTool() 定义工具;JoyToken 不执行工具
状态Agent.run() 前读取 messages,并保存返回的 messagesstepsusage
停止条件stepCountIs()maxToolCalls()maxCost() 与 JoyToken 策略和额度一起使用

Prompt 片段

agent-instructions.md
Use @joytoken/agent-sdk-ts for JoyToken agent loops.
Create the model provider with createJoyTokenProvider({ apiKey: process.env.JOY_TOKEN_API_KEY }).
Register tools with defineTool({ name, description, parameters, execute }).
Use stopWhen: [stepCountIs(...), maxToolCalls(...)] for bounded runs.
Persist result.messages, result.steps, and result.usage in application storage.
Do not expose JOY_TOKEN_API_KEY in browser code.

审查清单

检查为什么重要
有边界的运行循环防止无限模型/工具循环
工具副作用审查高风险工具动作需要应用层审批
状态持久化Agent SDK 返回状态,但存储由应用负责
成本保护运行时停止条件和 JoyToken 额度/策略都应该存在
请求元数据metadata 应包含工作流、线程或步骤标识

常见错误

错误修正
在每个工具里直接调用 JoyToken工具应用于外部动作;模型调用应通过 Agent 模型提供方
把密钥放进前端代码Agent SDK 只应在服务端使用
忽略 stoppedBy记录运行结束原因,方便排障和成本复盘
maxCost() 当成唯一预算控制同时配置 JoyToken API Key 额度、钱包和策略