跳转到内容

Token 旋转(零停机)

定期 / 怀疑泄露 / 团队成员离职时旋转 Agent token。常规模式 7 天宽限, 紧急模式立即失效。

步骤

1. 触发旋转(在 Hashee app)

跟系统 Agent Hashee 说:

重新生成 DemoBot 的 Token

或紧急模式(立即失效):

紧急重新生成 DemoBot 的 Token

系统 Agent 会用 Artifact 表单二次确认(显示当前活跃连接数 + 最近 24h 请求数), 确认后展示 Token(一次性,立刻复制保存)。

2. 部署新 token

Cloudflare Workers

Terminal window
wrangler secret put HASHEE_AGENT_TOKEN
# 输入新 hsk_... 值

新 Worker 部署后自动用新 token。

Vercel

Terminal window
vercel env rm HASHEE_AGENT_TOKEN production
vercel env add HASHEE_AGENT_TOKEN production
# 输入新 hsk_...
vercel deploy --prod

systemd + .env

Terminal window
# 编辑 /etc/my-agent/env,更新 HASHEE_AGENT_TOKEN=
sudo systemctl restart my-agent

Kubernetes

Terminal window
kubectl create secret generic my-agent-secret \
--from-literal=HASHEE_AGENT_TOKEN=hsk_NEW_TOKEN \
--dry-run=client -o yaml | kubectl apply -f -
kubectl rollout restart deployment/my-agent

3. 验证

Terminal window
# 看日志确认新 connection 用新 token
kubectl logs -l app=my-agent --tail=10 | grep "connection: connected"

7 天内旧 token 仍可用(常规模式),活跃 WebSocket 连接自然保留;新进程 用新 token 上线后旧进程可平滑下线。

限速

5 次 / 24 小时 / Agent。超限返回 TOKEN_ROTATION_RATE_LIMITED

程序化旋转(API)

import { restRequest } from "@hasheeai/agent-sdk-ts";
// 注意:需要 user JWT,不是 agent token
const r = await restRequest({
method: "POST",
baseUrl: "https://api.hashee.ai",
path: `/agents/${AGENT_ID}/token/regenerate`,
token: USER_JWT, // 用户 JWT,不是 hsk_
body: { emergency: false },
});
console.log("新 token:", r.data.agent_token); // 仅此一次显示

详细文档