一、接口介绍
·增量写入:只影响传入的文件路径,不会删除已有的其他文件。
·覆盖更新:若目标路径已存在文件,新内容会覆盖原文件。
·版本递增:写入成功后 Skill 版本号自动递增。
二、Method 与 URL
POST https://memory.tdai.tencentyun.com/v3/skill/write_files
三、使用示例
curl -i -X POST \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer *********************************' \\ -H "x-tdai-service-id: tdai-mem-xxxxxxxx" \\ https://memory.tdai.tencentyun.com/v3/skill/write_files \\ -d '{ "skill_id":"skill-abc123", "expected_version":5, "files":[ {"path":"docs/guide.md","content":"# Guide\\n\\nUsage…","mime_type":"text/markdown","encoding":"utf-8"}, {"path":"examples/demo.py","content":"print('"'"'hello'"'"')","mime_type":"text/x-python","encoding":"utf-8"} ] }'
四、Body 参数
| 参数 | 是否必选 | 参数含义 | 配置方法及要求 |
| skill_id | 是 | Skill ID。 | 数据类型:String。 |
| expected_version | 是 | 期望的当前版本号,用于乐观锁校验。 | 数据类型:Integer。 |
| files | 是 | 文件列表。 | 数据类型:Array of Object。每个元素含 path(String)、content(String)、mime_type(String)、encoding(String)。 |
| team_id | 否 | 团队 ID。 | 数据类型:String。 |
| agent_id | 否 | Agent ID。 | 数据类型:String。 |
| user_id | 否 | 用户 ID。 | 数据类型:String。 |
| task_id | 否 | 任务 ID。 | 数据类型:String。 |
五、响应示例
{ "code":0, "message":"ok", "request_id":"req-hij456", "data":{ "skill_id":"skill-abc123", "version":6, "files_written":["docs/guide.md","examples/demo.py"] }}
六、响应参数说明
| 参数名(一级) | 参数名(二级) | 参数含义 |
| data | skill_id | Skill ID。 |
| | version | 更新后的版本号。 |
| | files_written | 成功写入的文件路径列表。 |
七、错误码
| HTTP 状态码 | 错误信息 | 说明 |
| 400 | request: Invalid input | 请求参数不合法,如 files 为空。 |
| 401 | Missing or invalid Authorization header | Bearer API Key 缺失或格式不正确。 |
| 404 | SKILL_NOT_FOUND | Skill 不存在。 |
| 409 | VERSION_CONFLICT | 版本冲突,expected_version 与当前版本不匹配。 |
| 500 | Internal error | 服务内部错误,可有限重试。 |