119 lines
3.5 KiB
Markdown
119 lines
3.5 KiB
Markdown
|
|
# AI 交友配对工作流
|
|||
|
|
|
|||
|
|
`交友` `配对` `API` `curl` `隐私`
|
|||
|
|
|
|||
|
|
# ai-dating
|
|||
|
|
|
|||
|
|
`ai-dating` 是一个用于交友和配对工作流的 Codex 技能包。
|
|||
|
|
它使用 `curl` 直接调用 HTTP API,而非依赖 `dating-cli`。
|
|||
|
|
|
|||
|
|
## 变更说明
|
|||
|
|
|
|||
|
|
本版本围绕交友后端 API 构建:
|
|||
|
|
|
|||
|
|
- 通过 `/register` 和 `/login` 进行身份认证
|
|||
|
|
- 通过 `PUT /member-profile` 更新个人资料
|
|||
|
|
- 通过 `POST /minio/upload` 上传照片
|
|||
|
|
- 通过 `/match-tasks` 创建或更新匹配任务
|
|||
|
|
- 通过 `GET /match-tasks/{taskId}/check` 查看候选人
|
|||
|
|
- 通过 `/match-results/{matchId}/reveal-contact` 获取联系方式
|
|||
|
|
- 通过 `/match-results/{matchId}/reviews` 提交评价
|
|||
|
|
|
|||
|
|
本技能包不再依赖本地 CLI 安装或本地 CLI 配置文件。
|
|||
|
|
|
|||
|
|
## 外部后端与隐私审查
|
|||
|
|
|
|||
|
|
本技能包会将用户数据发送至外部交友后端。
|
|||
|
|
|
|||
|
|
- 默认基础 URL:`https://api.aidating.top`,可通过 `AIDATING_BASE_URL` 覆盖
|
|||
|
|
- 所需工具:`curl`,建议同时安装 `jq`
|
|||
|
|
- 所需能力:出站网络访问
|
|||
|
|
|
|||
|
|
在安装或使用本技能包之前,请审查接口所有者、隐私政策、数据保留政策及内部审批要求。
|
|||
|
|
如果相关政策禁止向第三方服务发送照片、个人特征或联系方式,请勿使用。
|
|||
|
|
|
|||
|
|
请遵循数据最小化原则:
|
|||
|
|
|
|||
|
|
- 仅发送当前操作所需的字段
|
|||
|
|
- 未经用户明确同意,不得上传照片
|
|||
|
|
- 未经用户明确选择和同意,不得获取联系方式
|
|||
|
|
- 避免发送高度敏感的标识符或无关的私密信息
|
|||
|
|
|
|||
|
|
## 文件说明
|
|||
|
|
|
|||
|
|
- `SKILL.md`:面向智能体的工作流程与使用规范
|
|||
|
|
- `references/curl-api-operations.md`:已验证的请求格式与 `curl` 示例
|
|||
|
|
- `LICENSE`:技能包授权协议
|
|||
|
|
|
|||
|
|
## 适用场景
|
|||
|
|
|
|||
|
|
当用户希望进行以下操作时,可使用本技能包:
|
|||
|
|
|
|||
|
|
- 结交新朋友
|
|||
|
|
- 寻找伴侣
|
|||
|
|
- 执行配对流程
|
|||
|
|
- 更新交友资料
|
|||
|
|
- 上传个人照片
|
|||
|
|
- 创建或更新匹配条件
|
|||
|
|
- 浏览候选人
|
|||
|
|
- 获取联系方式
|
|||
|
|
- 沟通后提交评价
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
适用于 `bash`、`sh`、`zsh`、Git Bash 或 WSL:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
BASE_URL="${AIDATING_BASE_URL%/}"
|
|||
|
|
if [ -z "$BASE_URL" ]; then
|
|||
|
|
BASE_URL="https://api.aidating.top"
|
|||
|
|
fi
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
典型工作流程:
|
|||
|
|
|
|||
|
|
1. 注册或登录。
|
|||
|
|
2. 从响应中保存 `token`、`tokenHead`、`taskId` 和 `matchId`。
|
|||
|
|
3. 更新个人资料并上传照片。
|
|||
|
|
4. 创建或更新匹配任务。
|
|||
|
|
5. 轮询 `/match-tasks/{taskId}/check?page=1`。
|
|||
|
|
6. 选择最合适的候选人。
|
|||
|
|
7. 仅在用户选定候选人后才获取联系方式。
|
|||
|
|
8. 如有需要,在沟通后提交评价。
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
- 当前公开的轮询接口为 `GET /match-tasks/{taskId}/check`。
|
|||
|
|
- 部分写入接口仅返回成功信封,其中 `data = null`。
|
|||
|
|
- 没有公开的任务列表接口,因此必须自行保存已创建的 `taskId`。
|
|||
|
|
- `preferredContactChannel` 字段已被 DTO 接受,但目前尚未被匹配逻辑使用。
|
|||
|
|
- 在首次发出写入请求前(如尚未明确告知),技能包应向用户说明数据将发送至哪个外部基础 URL。
|
|||
|
|
|
|||
|
|
## 验证与打包
|
|||
|
|
|
|||
|
|
本仓库在 `.codex/skills/skill-creator/scripts` 下提供了辅助脚本。
|
|||
|
|
|
|||
|
|
使用 Python 3 进行验证:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python .codex/skills/skill-creator/scripts/quick_validate.py .codex/skills/ai-dating
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
使用 Python 3 进行打包:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python .codex/skills/skill-creator/scripts/package_skill.py .codex/skills/ai-dating dist
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
打包产物输出路径:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
dist/ai-dating.skill
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 参考资料
|
|||
|
|
|
|||
|
|
如需了解接口详情及请求示例,请阅读:
|
|||
|
|
|
|||
|
|
- `SKILL.md`
|
|||
|
|
- `references/curl-api-operations.md`
|