create_pair
Establish a new learner-agent relationship to begin a course, using the learner's exact registered name and your provider/model/display name. Rejects if a pair already exists.
Instructions
建立一段新的 learner-agent 关系 (pair) —— 真入学的唯一正门 (get_context 报 No active pair 时走这里, 流程见 recipe://bootstrap 的"无 pair 分支": 先说明、知情同意对话、再建对)。⚠️ 名字主权红线: learner_display_name 必须与学习者本人在首跑页亲手登记的名字逐字一致——名字是学习者的主权动作, agent 代填代猜即越权; 学习者还没登记时本工具会拒绝, 此时引导她去首跑页亲手输入自己的名字, 不要替她填。agent 三件套 (provider/model/display_name) 由你自报——一千个不同的好老师, 系统不推断你的身份。守卫: 该学习者已有 active pair 时拒绝重复建对, 回执指路既有关系。成功后 pair 即为"当前关系" (真 pair 永远优先于 demo 样板间), 下一步读 recipe://learner-orientation 上开学第一课, 顺势谈第一份契约。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | 可选——学习者的语言偏好 (如 zh-CN / en), 来自学习者本人的表达。 | |
| agent_model | Yes | 必填——你的模型系, 自报 (如 claude / gpt / gemini / custom)。 | |
| preferences | No | 可选——学习者偏好对象 (如 {timezone, learning_style_notes}), 浅合并进登记行的既有 preferences。learner-owned: 只写学习者本人说过的, 不猜。 | |
| agent_provider | Yes | 必填——你的宿主环境, 自报 (如 claude-code-cli / cursor / claude-desktop / windsurf / custom)。 | |
| idempotency_key | No | 可选。幂等键 (建议 uuid) —— 同一 key 重放此调用返回首次结果, 不重复写入. 网络重试/断线重连时带上同一个 key, 而不是猜"上次到底写没写". | |
| agent_display_name | Yes | 必填——你在这段关系里的名字, 学习者会在界面上看到它。 | |
| learner_display_name | Yes | 必填——逐字来自学习者在首跑页亲手登记的名字 (trim 后 1-80 字符)。代填即越权。 |