API 参考 / me

我的工作台(跨项目个人待办)

GET /api/v1/me/workbench · getMyWorkbench

中央面「我的工作台」:view=owned(默认)聚合当前用户在【所有有成员关系的项目】里的个人待办 (指派给我的工作项 / 我负责的需求);view=created 聚合当前用户创建、且尚未进入 completed / canceled / duplicate 语义桶的需求、缺陷与子任务,即使负责人已经是别人。 对每个项目在其自己的 TenantTx/RLS 内查(不跨库裸 SQL、不建聚合表),有界并发 fan-out。 某项目不可达时该分区降级为 failed=true + error 文案,不阻塞其它项目。只聚合用户自己有成员关系的项目; actor 从凭据取,绝不从请求体接 userId。created 视图只采信非空 creatorId,不用 ownerId 猜历史创建人。

PAT 只看得到 token 绑定的那一个项目(B-00328):API Token 在哪个项目设置页创建就只对 哪个项目生效,而本端点是跨项目聚合——因此用 PAT 调用时,聚合范围收敛到 token 所属项目 (不是拒绝调用:Agent 用 PAT 读自己项目的东西是正当用法)。会话 cookie 调用方不受影响, 仍聚合全部成员项目。

取回顺序与截断(B-00274):每个项目的工作项与需求各自按最近更新倒序取回, 最多 itemLimit 条。此前按主键升序取(等价于「最旧优先」)且只在内存里截断,导致新建的活 永远进不了工作台。调用方不得用 items.length >= 某个魔数 反推是否截断——截断与否由 workItemsTruncated / requirementsTruncated 显式下发,上限值由 itemLimit 下发。

鉴权:项目 API Token(Authorization: Bearer wfp_…)。详见 Agent 接入。

参数

view
string —— owned=我负责 / 指派给我的待办;created=我创建且未收尾的条目。省略时默认 owned。

响应字段 · 200

view(必填)
enum;取值:owned / created
projects(必填)
WorkbenchProject[]
projects[].projectId(必填)
string
projects[].orgId
string
projects[].name(必填)
string
projects[].subdomainPrefix(必填)
string
projects[].status(必填)
string
projects[].failed(必填)
boolean
projects[].error
string
projects[].workItems(必填)
WorkbenchWorkItem[]
projects[].workItems[].id(必填)
string
projects[].workItems[].displayKey(必填)
string
projects[].workItems[].title(必填)
string
projects[].workItems[].type(必填)
string
projects[].workItems[].status(必填)
string
projects[].workItems[].priority(必填)
string
projects[].workItems[].dueOn(必填)
string
projects[].workItems[].creatorId(必填)
string
projects[].workItems[].createdAt(必填)
string
projects[].workItems[].updatedAt(必填)
string
projects[].workItems[].roleSlot
string
projects[].workItems[].unclaimed
boolean
projects[].workItems[].transition
WorkbenchTransition
projects[].requirements(必填)
WorkbenchRequirement[]
projects[].requirements[].id(必填)
string
projects[].requirements[].displayKey(必填)
string
projects[].requirements[].title(必填)
string
projects[].requirements[].status(必填)
string
projects[].requirements[].priority(必填)
string
projects[].requirements[].targetOn(必填)
string
projects[].requirements[].creatorId(必填)
string
projects[].requirements[].createdAt(必填)
string
projects[].requirements[].updatedAt(必填)
string
projects[].requirements[].transition
WorkbenchTransition
projects[].workItemsTruncated(必填)
boolean
projects[].requirementsTruncated(必填)
boolean
projects[].itemLimit(必填)
integer

错误

请求示例(curl)

curl -X GET "https://workflow.games/api/v1/me/workbench?view=…" \
  -H "Authorization: Bearer wfp_…"

响应示例

HTTP/1.1 200
{
  "view": "owned",
  "projects": [
    {
      "projectId": "018f3c2e-0000-7000-8000-000000000000",
      "name": "示例标题",
      "subdomainPrefix": "示例文本",
      "status": "示例文本",
      "failed": true,
      "workItems": [
        {}
      ],
      "requirements": [
        {}
      ],
      "workItemsTruncated": true,
      "requirementsTruncated": true,
      "itemLimit": 1
    }
  ]
}

合同真值:OpenAPI 3.1(0.1.0)。

相关:Agent 接入指南 · 使用指南 · API 参考索引

Workflow 正在加载…