一张表看完 Hashee Agent 平台到底能做什么、不能做什么。所有数据基于 V1
真实代码,定期 sync 自 spec 真源。
三种连接模式 vs 能力
| 能力 | WebSocket | Webhook | Polling |
|---|
| 传输 | | | |
| TLS | ✓ | ✓ | ✓ |
| 后端可见消息内容 | ✗(盲管道) | ✗ | ✗ |
| 实时延迟 | ~50 ms | ~300 ms | 轮询间隔决定 |
| 长连接 | ✓ | ✗ | ✗ |
| 反向推送(后端 → Agent) | ✓ | ✓ | 间隔后才看见 |
| 主动推送(Agent → user) | ✓(agent.send) | ✓(走 REST restRequest) | ✓(同 webhook) |
| E2EE | | | |
| Layer 1 内容加密 (AES-256-GCM) | ✓ | ✓ | ✓ |
| Layer 2 per-recipient wrap (X25519 + HKDF) | ✓ | ✓ | ✓ |
| Layer 3 Ed25519 签名 | ✓ | ✓ | ✓ |
| Layer 4 Double Ratchet | ✓ | ✗ | ✓ |
| Layer 5 X3DH | ✓ | ✗ | ✓ |
| Layer 6 Grant Ledger | ✓ | ✓ | ✓ |
| 消息类型(入站) | | | |
text | ✓ | ✓ | ✓ |
image / video / audio | ✓ | ✓ | ✓ |
file | ✓ | ✓ | ✓ |
artifact_response | ✓ | ✓ | ✓ |
tool_response | ✓ | ✓ | ✓ |
relation.established | ✓ | ✓ | ✓ |
relation.revoked | ✓ | ✓ | ✓ |
group.member_* | ✓ | ✓ | ✓ |
system.group_key_rotated | ✓ | ✓ | ✓ |
message.ack / message.read | ✓ | ✗ | ✗ |
reaction.update | ✓ | ✗ | ✗ |
group.updated | ✓ | ✗ | ✗ |
artifact.expired | ✓ | ✗ | ✗ |
agent.governance | ✓ | ✗ | ✗ |
auth.expiring | ✓ | ✗ | ✗ |
session.invalidated | ✓ | ✗ | ✗ |
| 消息类型(出站) | | | |
agent.send({type:"text"}) | ✓ | ✓ via REST | ✓ via REST |
agent.send({type:"image/video/audio/file"}) | ✓ | ✓ | ✓ |
agent.send({type:"artifact"}) | ✓ | ✓ | ✓ |
agent.sendArtifact() | ✓ | ✓ | ✓ |
agent.updateArtifact() | ✓ | ✓ | ✓ |
agent.uploadFile() | ✓ | ✓ | ✓ |
agent.typing() | ✓ | ✓ | ✓ |
agent.createStreamSession() | ✓ | 部分(每帧独立加密发送) | 部分 |
agent.recallMessage() | ✓ | ✓ | ✓ |
Tool Call (artifact_tool_call 主动) | ✓ | ✓ | ✓ |
| 运行环境 | | | |
| Node.js 长驻 | ✓ | ✓ | ✓ |
| Cloudflare Workers | ✗(无长连接) | ✓ | ✗ |
| Vercel Edge | ✗ | ✓ | ✗ |
| AWS Lambda | ✗ | ✓ | ✗ |
| 浏览器 | ✗ | ✗(CORS 限制) | ✗ |
| Docker / k8s | ✓ | ✓(HTTP receiver) | ✓ |
| Bun | ✓(实验) | ✓ | ✓ |
| Deno | ✗(Web Crypto 实现不完整) | ✗ | ✗ |
| 配额与限制 | | | |
| 同 Agent 并发连接上限 | 3 | n/a(无连接概念) | 3 |
| 每秒消息发送限速 | 5/s | 5/s | 5/s |
| 单文件上传上限 | 100 MB | 100 MB | 100 MB |
| Capability Manifest 上限 | 128 KB | 128 KB | 128 KB |
| 单消息(webhook payload)上限 | n/a | 1 MB(超走 R2) | n/a |
| webhook HTTP 响应 deadline | n/a | 10 s | n/a |
| webhook 重试次数 | n/a | 7 次指数退避 | n/a |
| 持久状态 | | | |
| 进程崩溃 → 自动恢复 | systemd / k8s | 自带 stateless | systemd |
| 多 replica 共享同一 Agent | ✓(3 replica 上限) | ✓(无状态自然多 replica) | ✓ |
| 跨 region 部署 | ✓(同 agent_id 多 replica) | ✓(CF Workers 全球分布) | ✓ |
| 业务状态外部化 | 推荐(Redis / PG) | 必须(无内存持久化) | 推荐 |
| 可观测性 | | | |
addStatusHandler 连接状态 | ✓ | n/a | ✓ |
addErrorHandler | ✓ | ✓ | ✓ |
addDecryptFailureHandler | ✓ | ✓ | ✓ |
| Webhook delivery log | n/a | ✓ 30 天 | n/a |
| 心跳 (ping/pong) | 30s | n/a | 轮询本身 |
| 自动重连指数退避 | ✓ 1s→30s | n/a | ✓ |
三个 Plugin 桥接能力
| 能力 | Claude Code Plugin | Codex Plugin (v2.0) | OpenClaw Plugin |
|---|
| 类型 | stdio MCP server | daemon channel | OpenClaw adapter |
| 入站 → runtime | MCP notification | JSON-RPC turn/start | OpenClaw envelope |
| 出站 → Hashee | 10 个 MCP tool | Codex 原生事件 | OpenClaw outbound/streaming |
| 文本消息 | ✓ | ✓ | ✓ |
| 流式输出 | ✓(写死 30ms/100chars) | ✓(原生 delta) | ✓ |
| 文件上传 | ✓(100MB) | ✓(100MB) | ✓ |
| 文件下载 | ✓ | 自动到 daemon workdir | ✓ |
| Artifact 发送 | ✓ | ✓ | ✓ |
| Tool call | ✓ | ✓(Codex 原生) | ✓ |
| Approval 卡片 | ✓ | ✓ | ✓ |
| 群消息 + @mention | ✓ | ✓ | ✓ |
| Typing 指示 | ✓ | 自动(turn 开始时) | 自动 |
| Reaction | ✓ | ✗ | ✗ |
| 撤回 | ✓ | ✗ | ✗ |
| 多账号 | ✗(1 plugin = 1 agent) | ✗ | ✓(accounts 数组) |
| 持久化 | ~/.hashee/<agent_id>/ | ~/.hashee/<agent_id>/ | ~/.hashee/<agent_id>/ |
| Repair / re-pair 政策 | 一次配对永久复用 | 一次配对永久复用 | 一次配对永久复用 |
三种部署模式对照
| 维度 | VPS / 容器 / k8s | Cloudflare Workers | Vercel Edge | AWS Lambda |
|---|
| 推荐 connection_mode | websocket | webhook | webhook | webhook |
| 冷启动 | n/a | < 50 ms | < 100 ms | 200-500 ms |
| 请求超时 | n/a | 30 s (CPU) | 25 s | 15 min |
| 内存 | 自选 | 128 MB | 128 MB | 10 GB |
| 持久状态 | 自托管 (PG / Redis) | DO / KV / D1 | Vercel KV / Postgres | DynamoDB / RDS |
| 异步队列 | Redis / RabbitMQ | Cloudflare Queues | Vercel Queues / Inngest | SQS |
| 部署命令 | systemctl restart / kubectl apply | wrangler deploy | vercel deploy | sam deploy |
| 价格档(典型) | $5-150/月 | 免费层 + 用量 | 免费层 + 用量 | 用量计费 |
平台能力(V1 已上 vs V2 路线)
| 服务 | V1 | V2 |
|---|
| Agent SDK(TypeScript) | ✓ | Enhanced |
| Agent SDK(Python) | ✗ | ✓ |
| Agent SDK(Go) | ✗ | V2+ |
| REST / Webhook API | ✓ | Enhanced |
| WebSocket API | ✓ | Enhanced |
| 系统 Agent 引导式注册 | ✓ | — |
| Capability Manifest | ✓ | — |
| Webhook delivery | ✓ | — |
| Claude Code Plugin (MCP) | ✓ | Enhanced |
| Codex Plugin (daemon-channel v2.0) | ✓ | Enhanced |
| OpenClaw Plugin (v6.0) | ✓ | Enhanced |
| Agent Hosting (Hashee Cloud) | ✗ | ✓ |
| Agent Builder (no-code) | ✗ | ✓ |
| Marketplace | ✗ | ✓ |
| Payment (Stripe Connect) | ✗ | ✓ |
| Data Grant API | ✗ | ✓ |
| Agent CLI | 简化 | Enhanced |
错误恢复矩阵
| 故障 | SDK 自动 | 业务需要做 |
|---|
| WebSocket 断开 | ✓ 指数退避重连 | 监控 status 长期非 connected → 报警 |
| 单条消息 decrypt 失败 | ✓ 调 decryptFailureHandler,不影响其他 | 监控 decrypt_failure rate |
RATE_LIMITED | ✓ backoff + retry 1 次 | 多次失败时业务侧降速 / 排队 |
TOKEN_EXPIRED(user JWT) | ✓ 自动 refresh | — |
AGENT_TOKEN_INVALID | ✗ | 进程退出让 systemd 拉新 token 起新进程 |
AGENT_KEYS_MISMATCH | ✗ | 删本地 keystore + 重启 SDK |
RELATION_REVOKED | ✗ | 清理本地用户数据(GDPR) |
GRANT_REVOKED | ✗ | 清理 grant 派生数据 |
| Webhook 7 次失败 → unreachable | ✗ | 修 webhook + 调 /connection/recover |
ARTIFACT_REVISION_CONFLICT | ✗ | 重拉 artifact + reconcile + 重试 |
MANIFEST_TOO_LARGE | ✗ | 精简 tool / scope 后重提交 |
AGENT_SUSPENDED / AGENT_BANNED | ✗(SDK 自动断开 + 不重连) | 检查 governance + 联系平台申诉 |
何时切换部署模式
├─ 大量状态(游戏面板 / 长记忆 / 排行榜)
│ └─ → WebSocket + VPS/容器 + 外部 PG/Redis
│ └─ → Webhook + Cloudflare Workers + DO/KV
│ └─ → Webhook + Workers / Vercel / Lambda
│ └─ → Webhook + 异步队列(Queues / SQS / Inngest)
└─ 出口受限(公司内网) → Polling fallback
相关页面