使用 CLI 连接工作空间

InYourWork 支持通过 API Key 让外部 CLI 工具或 Agent 安全地访问指定工作空间。 您可以用 API Key 调用文件上传、下载、列表等接口,把 InYourWork 接入自己的自动化流程。

第一步:创建 API Key

  1. 打开目标工作空间,点击右上角的设置(齿轮)图标。

  2. 在打开的 AI Agent 设置 窗口中,找到下方 API Keys 区域。

  3. 输入名称(例如 xx-agent),可选填过期时间,点击「创建」。

  4. 创建成功后,页面会显示一次完整的 API Key,请点击「复制」并妥善保存。

API Key 与当前工作空间绑定,只能访问该工作空间内的文件。每个用户在每个工作空间下最多可创建 5 个有效 Key。

第二步:运行 setup 脚本完成配置

在需要使用 CLI 的机器上执行以下命令,下载并运行交互式配置脚本:

curl -fsSL https://www.inyourwork.com/cli/setup.sh | bash

配置完成后会写入 ~/.inyourwork/config(仅当前用户可读)。 之后所有请求只需从该文件或环境变量读取配置,把 API Key 放到 Authorization 头中即可调用接口:

Authorization: Bearer ak_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

如何在您的本地 Agent 中配置

复制下面这段提示词发给您的本地 Agent(如 Kimi Code、Claude Code 等), 它会自动下载并安装 Skill、完成配置和连接验证。API Key 按上方第一步创建。

为我安装一个 Agent Skill,用于连接我的 InYourWork 工作空间。

Skill 名称:inyourwork-cli
Skill 文件:
- https://www.inyourwork.com/cli/SKILL.md
- https://www.inyourwork.com/cli/setup.sh

请下载以上全部文件,安装到你的 skills 目录下的 inyourwork-cli/ 文件夹中,不要只安装 SKILL.md。

安装完成后完成配置:API Key 我会提供给你。请先注入 CLI_API_KEY 环境变量,再运行 setup.sh(它是交互式脚本,注入环境变量后会跳过提示直接验证连接;服务地址默认为 https://api.inyourwork.com,无需填写),配置会写入 ~/.inyourwork/config。最后调用一次文件列表接口验证连接是否成功。

附录 1:详细 API 列表

当前 CLI 开放的是工作空间文件(uploads)相关接口:

接口 说明
POST /api/cli/drive/uploads/init 初始化文件上传,返回 OSS 预签名上传地址(PUT 直传)
POST /api/cli/drive/uploads/complete 完成上传并登记文件
GET /api/cli/drive/uploads 列出工作空间或工作项下的文件
GET /api/cli/drive/uploads/download?key=... 下载文件(经服务端中转,带 API Key)
GET /api/cli/drive/uploads/download-url?key=... 获取 OSS 预签名下载地址(GET 直下载,无需 API Key)

附录 2:典型场景 —— 批量上传 + 清单驱动处理

典型需求:外部系统(CI、定时脚本、业务系统)周期性产生一批文件,希望 InYourWork 的云端 Agent 统一处理这批文件,例如汇总日报、批量分析、生成报告。

推荐思路是「先传文件,再传一份清单」:把本批文件逐个上传后, 再编写一份描述这批文件的 JSON 清单并上传。之后无论是手动发起任务还是定时任务, Agent 只需读取这份清单,就能知道本批要处理哪些文件、按什么要求处理。 清单把「文件上传」和「任务触发」解耦:文件可以随时传,任务可以稍后跑。

1. 批量上传数据文件

对每个文件执行一次「init → PUT 预签名地址 → complete」流程,记录每个文件 complete 返回的 objectKey。

2. 编写并上传清单 JSON

清单内容自定义,建议至少包含本批标识、文件列表(带 objectKey)和处理要求,例如:

{
  "batchId": "daily-report-2026-08-21",
  "files": [
    { "objectKey": "workspaces/ws1/input/uploads/2026-08-21/aaa.txt", "originalName": "销售数据.csv" },
    { "objectKey": "workspaces/ws1/input/uploads/2026-08-21/bbb.txt", "originalName": "客服记录.csv" }
  ],
  "instruction": "逐个读取 files 中的文件,汇总生成一份中文日报(markdown)"
}

把这份 JSON(如 batch-2026-08-21.json)用同样的上传流程传到工作空间。

3. 让云端 Agent 按清单处理

Agent 会先读取清单内容,再按其中的 objectKey 逐个解析并读取文件内容, 处理结果会作为产物写入工作空间,可在文件/产物区查看。

如果每批文件的命名规则固定(例如每天覆盖同一份清单),清单也可以只列文件名, 由 Agent 在工作空间文件列表中按名称匹配最新上传的文件。