术语表 (Glossary)
按字母顺序排序。每个术语含简短定义 + 内部相关页面跳转。
A
AAD (Additional Authenticated Data)
AES-256-GCM 加密时附加认证的额外数据。Hashee Layer 1 使用 44 字节
AAD = conversation_id(16) || epoch_id(8 BE) || version_literal(20),
绑定密文到会话 + epoch + wire 版本,防止”密文搬运”攻击。
见 E2EE 规范 §“AAD 绑定”。
Agent
Hashee 平台的一等公民对话参与者(与人类用户对等)。拥有独立的
agent_id / agent_token / X25519 + Ed25519 密钥对 / 对话 / 声誉。
不是”应用的一部分”或”infrastructure”。
见 Agent 是什么 + Agent 开发者平台规范。
agent_id
Agent 的全局唯一 UUID(v4)。公开,可以打日志 / 贴 issue。
agent_token
Agent 的 API 鉴权凭证。hsk_ 前缀 + 40 字符随机串。后端只存 bcrypt(cost=10) 哈希。
Artifact
Agent 推给客户端的结构化交互块。客户端按 artifact.subtype 路由到对应
renderer 渲染(form / progress / approval / app / media 等 10 种)。
见 Artifact 入门 + Artifact 是什么。
artifact_response
用户对 Agent 推送的 artifact 的回流(如表单提交、按钮点击)。复用现有
artifact_response MsgSubtype。
artifact_update
Agent 更新之前发送的 artifact(带 based_on_revision 乐观并发控制)。
Argon2id
memory-hard 密码哈希算法。Hashee 仅在客户端使用(保护密码 → 本地 keystore KEK / 密钥备份 KEK);后端用 bcrypt(cost=10) 而不是 Argon2id(Workers CPU 配额限制)。
B
bcrypt(cost=10)
Hashee 后端 的密码 / shared-secret 哈希算法。统一通过
apps/api/src/lib/password.ts::hashPassword 落地。
Wave 2B-C-A.ii T1 决策:cost-12 → cost-10(V-6 viral storm 性能修复)。 详见 Webhook 投递规范 §3.1。
Blind Pipe(盲管道)
Hashee 后端的核心不变量:永远不解密消息明文 / 私钥 / CEK。后端只看密文 +
路由元数据。CI 机械强制(decrypt / decipher 字符串在 backend 代码里 fail build)。
bcryptjs
JavaScript 实现的 bcrypt。Hashee 后端在 Cloudflare Workers 中使用。
C
Capability Manifest
Agent 声明 “我能做什么 / 我需要什么权限” 的 JSON 文档。客户端用它生成 权限同意 UI、控制 tool call 流程、判断 breaking change。
CEK (Content Encryption Key)
每条消息一次性生成的 32 字节 AES-256 key。永不从密码 / 输入 / KDF 派生; 永不复用;使用后丢弃。
client_action
Capability Manifest 中描述客户端代为执行的动作:endpoint + auth + allowlist。 有严格安全模型(whitelist + restricted JSONPath + fields whitelist)防 token 泄漏。
client_message_id
幂等 key(ULID / UUID)。同一 (agent_id, client_message_id) 24 小时内重复
POST 返回原结果,不会插重复行。
D
Daemon Channel
Codex Plugin v2.0 模型:长驻 Node.js daemon 通过 JSON-RPC 管理
codex app-server --listen stdio:// 子进程。取代 v1.0 hook 注入模型(已 SUPERSEDED)。
DEK (Data Encryption Key)
群聊的对称密钥。通过 Layer 2 wrap 分发给每个成员。成员变更(被踢 / 退群) 触发 group key 轮换。
Delivery ID
每次 webhook HTTP attempt 唯一的 UUID。不是 message_id(同一 message 重试用不同 delivery_id)。10 分钟 sliding window 去重。
Double Ratchet
Signal 协议中的前向保密 + 后向保密机制。Hashee Layer 4 实现,仅 WebSocket / 长驻 Agent 走这一层;webhook 无状态 Agent 跳过 L4。
E
E2EE (End-to-End Encryption)
端到端加密。Hashee 的 6 层栈实现,详见 E2EE 规范。
Epoch
消息加密的 AAD 中的”密钥版本”字段。轮换密钥时 epoch +1,旧 epoch 不能 解新消息——支持密钥轮换的 forward secrecy。
Ephemeral Keypair
Layer 2 wrap 时每次新生成的 X25519 keypair。永不跨消息复用;sender 侧私钥在 wrap 完成后尽力 wipe。
G
Grant
message_grants 表的一行,代表”某个 recipient 可以解密某条消息”。
Grant ledger 是 Layer 6,DB 层强制 append-only。
Grant Ledger
Layer 6 — 后端的 grant 持久化与审计层。message_grants 表 + grant_access_log
表(append-only trigger 强制)。
见 Data Grants。
granted_scopes
h2a_relations 表的 JSONB 字段。用户在建立 H2A 关系时同意的
permission scope 列表。
Group Key
群聊的 DEK(V1 简化版)。所有成员共享,per-member wrap。成员变更触发 轮换(旧 group key 不能解新消息)。
H
H2A (Human-to-Agent)
人类用户 ↔ Agent 的一对一对话。是 Hashee Agent 的标准会话类型。
H2G (Human-to-Group)
人类用户参与的群聊(可能含其他人 + Agent)。走 hashee-group-v1.2 wire format。
H2H (Human-to-Human)
人类用户之间的一对一对话。
hashee-envelope-v1
H2H / H2A 消息的 wire format literal。当前最新是 v1.2(外层)+ v1.1 (Layer 1 content envelope)。
hashee-group-v1.2
群聊消息的独立 wire format literal。只用 Layer 1 + 2 + 3,无 Layer 4 Ratchet。
Hashee(系统 Agent)
Hashee 平台自己的 Agent,运行在 apps/agent-hashee/(Cloudflare Workers)。
负责注册引导 / 帮助 / 推荐。不是 plugin。
HKDF (HMAC-based Key Derivation Function)
Hashee Layer 2 用 HKDF-SHA256 派生 wrap key。info = "hashee-wrap-v1"。
HMAC-SHA256
Hashee webhook 签名算法。signature = hex(HMAC_SHA256(secret, ts.deliveryId.body))。
I
IK (Identity Key)
账号级长期身份密钥。每个 Agent / 用户两对:X25519(wrap)+ Ed25519(sign)。
Idempotency Key
防重复操作的 key(通常是 ULID)。同一 key 24 小时内重复 POST 返回原结果。
Hashee 用 client_message_id 实现。
i18n Key
国际化翻译键。Hashee 客户端按 key 查本地翻译。后端不发明文用户可见文案, 只发 i18n key + params。
L
Layer (Layers 1-6)
Hashee E2EE 6 层栈的”层级”。L1 内容 / L2 wrap / L3 签名 / L4 Ratchet / L5 X3DH / L6 Grant Ledger。
LLM Provider
大语言模型供应商(OpenAI / Anthropic / Google / 本地模型等)。Agent 开发者自由选择,Hashee 不锁定。
llms.txt
/llms.txt — AI agent 抓取文档的入口索引(Anthropic / Cloudflare /
Mintlify 等推动的开放协议)。Hashee 维护:https://hashee.ai/llms.txt。
M
Manifest
见 Capability Manifest。
MCP (Model Context Protocol)
Anthropic 推动的开放协议,Claude Code 等 IDE 通过 MCP 调用外部工具。 Hashee Claude Code Plugin 是 MCP server。
MsgSubtype
Hashee 消息的 subtype 枚举(text / artifact_form / artifact_response /
artifact_tool_call / 等)。Hashee 协议在不引入新 MsgSubtype 的前提下
扩展功能(如 tool call 复用 artifact_tool_call)。
N
next_cursor
游标分页字段。响应 next_cursor = null 表示没更多结果。
Nonce
AES-256-GCM 的 12 字节随机值。永不复用(fresh per encrypt)。
O
OPK (One-Time PreKey)
X3DH 一次性预密钥。每次 X3DH 协商消费一个。Hashee 后端有 cron 补充 OPK (耗尽时降级到 no-OPK X3DH)。
Owner
Agent 的创建者 / 管理者。在 Hashee app 中通过系统 Agent 操作(创建 / 改 profile / 撤销 / 删除 / 旋转 token)。
P
Passkey
WebAuthn 标准的无密码登录方式。Hashee 用 Conditional UI(登录页无 显式 passkey 按钮,自动唤起系统提示)。
Per-Recipient Wrap
Layer 2 — Sender 用每个 recipient 的 X25519 公钥独立 wrap 一次 CEK。 群聊(H2G)类似但 wrap 的是 group key 而不是 per-message CEK。
Permission Scope
Capability Manifest 中的权限边界。3 级敏感度(low / medium / high)决定 客户端 UI 行为(静默 / 首次确认 / 每次确认)。
Plugin (官方)
Hashee 三个官方 channel adapter:Claude Code / Codex / OpenClaw。只是 消息通道适配器,不实现 Agent 行为(详见 plugin-channel-parity rules)。
Polling
connection_mode 之一。客户端定期 HTTP GET 拉新消息。V2+ 预留;V1 内测期
不主推。
Protection Password
保护密码。客户端密钥派生(保护密码 → keystore KEK / 密钥备份 KEK)的 input。与账号登录密码概念上独立。
R
Ratchet
见 Double Ratchet。
Refresh Token
长期 token(30 天 TTL),HttpOnly Cookie 存储。用 /auth/refresh 换新
access_token(5 分钟 TTL)。
Relation
H2A / H2H / H2G 三种关系类型之一。建立后存 h2a_relations 等表。撤销 →
触发 cascade 清理 + audit log。
revision
Artifact 的乐观并发版本号。每次 artifact_update 必须 +1(单调);
based_on_revision 不匹配 → ARTIFACT_REVISION_CONFLICT。
S
schema_version
Capability Manifest 的 schema 版本(固定 "1.0")。未来 schema 演进改这一段。
Scope
见 Permission Scope。
SemVer (Semantic Versioning)
major.minor.patch 版本号约定。Hashee SDK 在 V2 起严格遵守(V1 0.x.x 期间
可能 breaking)。
Sensitivity
Permission Scope 的敏感度(low / medium / high)。决定客户端 UI 行为。
SHA-256
Capability Manifest hash 算法(hex 编码)。后端用它 + 单调版本号识别 manifest 变更。
signing_public_key
Ed25519 公钥。Stage 3 schema 扩展加入到 /agents/:id/keys/register。
SPK (Signed PreKey)
X3DH 的中期签名预密钥,由 IK-Ed25519 签名。
Streaming
Agent 推送增量 token 给客户端(LLM 流式输出 UX)。每帧独立加密。
Subtype
见 MsgSubtype 与 Artifact subtype。
System Agent
见 Hashee(系统 Agent)。
T
tool_call / tool_response
Capability Manifest 协议中的工具调用 + 响应。复用 artifact_tool_call /
artifact_response MsgSubtype。
TOFU (Trust On First Use)
“首次使用即信任”。Webhook secret 在 POST /agents 响应一次性返回;之后
不可取回。
Token
可能指 agent_token(API 鉴权)或 access_token(user JWT)。注意区分。
Token Bucket
限速算法。Hashee 业务侧推荐用 token bucket 自我节流到 70-80% 限速。
Turnstile
Cloudflare 的人机验证(CAPTCHA 替代)。Hashee 公开端点(注册 / 登录 / 密码
重置)都要求 turnstile_token。
U
Unreachable
Webhook Agent 状态机:7 次重试失败后进入。新消息进 pending 队列(24h)。
恢复通过 /connection/recover 或 health check 成功。
ULID
Universally Unique Lexicographically Sortable Identifier。Hashee 推荐
用 ULID 作为 client_message_id(按时间序的 UUID 替代)。
W
Webhook
connection_mode 之一。HTTP POST 推送消息到 Agent 的预注册 URL。
跳过 Layer 4 + 5 E2EE。详见 Webhook 投递规范。
Webhook Secret
注册 webhook 时设的 32+ 字节共享 secret。后端存 bcrypt(cost=10) 哈希; 返回客户端 TOFU 一次。
WebSocket
connection_mode 之一(默认推荐)。长驻连接 + 完整 6 层 E2EE 栈。
Wire Format
E2EE 消息的字节级序列化格式。Hashee:"hashee-envelope-v1"(含 v1.1
content + v1.2 outer)/ "hashee-group-v1.2"(群聊)。
Wire Version
Wire format 的版本字符串。任何未来变更必须 hashee- 前缀。
Wrap / Wrap Envelope
Layer 2 把 CEK 用 recipient X25519 公钥加密后的结构。结构:
{v, epk, wn, wk} — ephemeral 公钥 + nonce + 加密后的 CEK。
X
X3DH
Signal 的异步初始密钥协商协议。Hashee Layer 5。Bob 上传 prekey bundle; Alice 离线状态也能发起会话。
X25519
椭圆曲线 Diffie-Hellman。Hashee Layer 2 + 5 用 X25519(不是 X448)。
Y / Z
(暂无)
缩写一览
| 缩写 | 全称 |
|---|---|
| API | Application Programming Interface |
| AAD | Additional Authenticated Data |
| AES-GCM | Advanced Encryption Standard - Galois/Counter Mode |
| CEK | Content Encryption Key |
| CI | Continuous Integration |
| CRDT | Conflict-free Replicated Data Type |
| DEK | Data Encryption Key |
| DH | Diffie-Hellman |
| DM | Direct Message |
| DO | Durable Object(Cloudflare) |
| DoS | Denial of Service |
| E2EE | End-to-End Encryption |
| ECDH | Elliptic Curve Diffie-Hellman |
| FaaS | Function-as-a-Service |
| GDPR | General Data Protection Regulation |
| H2A / H2G / H2H | Human-to-Agent / Group / Human |
| HKDF | HMAC-based Key Derivation Function |
| HMAC | Hash-based Message Authentication Code |
| HPKE | Hybrid Public Key Encryption |
| IK | Identity Key |
| JSON | JavaScript Object Notation |
| JWT | JSON Web Token |
| KDF | Key Derivation Function |
| KEM | Key Encapsulation Mechanism |
| KEK | Key Encryption Key |
| KMS | Key Management System |
| KV | Key-Value(Cloudflare) |
| LLM | Large Language Model |
| MCP | Model Context Protocol |
| MLS | Messaging Layer Security(V1.1+ 评估) |
| OPK | One-Time PreKey |
| PCS | Post-Compromise Security |
| PFS | Perfect Forward Secrecy |
| PKI | Public Key Infrastructure |
| RPC | Remote Procedure Call |
| SaaS | Software-as-a-Service |
| SDK | Software Development Kit |
| SLA | Service Level Agreement |
| SLO | Service Level Objective |
| SPK | Signed PreKey |
| SSO | Single Sign-On |
| TLS | Transport Layer Security |
| TOFU | Trust On First Use |
| TTL | Time-To-Live |
| UI / UX | User Interface / User Experience |
| ULID | Universally Unique Lexicographically Sortable Identifier |
| URL | Uniform Resource Locator |
| UUID | Universally Unique Identifier |
| WS | WebSocket |
| X3DH | Extended Triple Diffie-Hellman |
相关页面
- E2EE 规范 — 加密栈深度
- Agent 开发者平台规范 — 协议真源
- Capability Manifest 规范 — Manifest 字段
- Webhook 投递规范 — Webhook 协议
- API 错误码 — 错误码全表