CreateDigitalEmployee - 创建数字员工

更新时间:
复制 MD 格式

创建DigitalEmployee

接口说明

创建数字员工

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

starops:CreateDigitalEmployee

create

*DigitalEmployee

acs:starops:{#regionId}:{#accountId}:digitalemployee/{#name}

无
  • ram:PassRole

请求语法

POST /digital-employee HTTP/1.1

请求参数

名称

类型

必填

描述

示例值

body

object

否

数字员工结构

attributes

object

否

数字员工属性。

string

否

数字员工属性值。

{"test":"test"}

channel

string

否

渠道类型

default

defaultRule

string

否

数字员工默认规则。

test

description

string

否

数字员工描述信息。

aaa

displayName

string

否

数字员工显示名称。

digial-employee-test

knowledges

object

否

知识库列表

bailian

array<object>

否

百练知识库列表。

object

否

百练知识库列表。

attributes

string

否

知识库属性。

test

indexId

string

否

百练索引 ID。

index-xxxx

region

string

否

知识库地域。

cn-beijing

workspaceId

string

否

百练工作空间 ID。

llm-xxxxx

sop

array<object>

否

SOP 知识库列表

object

否

SOP 知识库

{ "type": "oss", "basePath": "docs/", "region": "cn-hangzhou", "endpoint": "oss-cn-hangzhou.aliyuncs.com", "bucket": "my-sop-bucket", "description": "sls sop" }

name

string

是

数字员工名称。

test

resourceGroupId

string

否

资源组 ID

rg-ae******ey

roleArn

string

是

RAM 角色 ARN。

acs:ram::12345678912:role/testrole

sandboxNetworkPolicy

object

否

数字员工沙箱网络 ACL 策略配置。

{"allowFqdns":["api.example.com"],"allowCidrs":["1.2.3.0/24","8.8.8.8"],"enableAcl":false}

allowCidrs

array

否

允许访问的 CIDR 或 IP 列表。

string

否

允许访问的 CIDR 或 IP 列表。

8.8.8.8

allowFqdns

array

否

允许访问的 FQDN 列表。

string

否

允许访问的 FQDN 列表。

api.example.com

enableAcl

boolean

否

是否启用沙箱网络 ACL。

false

tags

array

否

标签

Tag

否

标签

toolPolicy

object

否

工具策略

{"aliyun":{"enable":true,"denyPolicy":["ecs:RunCommand","ecs:Delete*"],"autoPassPolicy":["log:Get*","log:List*"],"statements":[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]}}

aliyun

object

否

Aliyun CLI 工具调用安全策略配置。

{"enable":true,"denyPolicy":["ecs:RunCommand","ecs:Delete*"],"autoPassPolicy":["log:Get*","log:List*"],"statements":[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]}

autoPassPolicy

array

否

自动放行的 RAM Action,格式为 、product:ApiName 或 product:Prefix。

["log:Get*","log:List*"]

string

否

自动放行的 RAM Action,格式为 、product:ApiName 或 product:Prefix。

log:Get*

denyPolicy

array

否

拒绝的 RAM Action,格式为 、product:ApiName 或 product:Prefix。

["ecs:RunCommand","ecs:Delete*"]

string

否

拒绝的 RAM Action,格式为 、product:ApiName 或 product:Prefix。

ecs:Delete*

enable

boolean

否

是否启用

true

statements deprecated

array<object>

否

已废弃,请改用 denyPolicy 与 autoPassPolicy。过渡期仍会回读。 原说明:Aliyun OpenAPI 工具策略语句列表。

[{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}]

object

否

单条 Aliyun OpenAPI 工具策略语句。

{"decision":"user_ack","product":"Sls","apiVersion":"2020-12-30","actions":["log:GetProject","log:CreateDashboard"]}

actions

array

否

AliyunOpenAPI Action 列表,格式为 product:ApiName、product:Prefix* 或 product:*。

["log:GetProject","log:CreateDashboard"]

string

否

RAM Action,格式为 product:ApiName、product:Prefix* 或 product:*。

log:GetProject

apiVersion deprecated

string

否

本条语句对应的 Aliyun OpenAPI API 版本。

2020-12-30

decision

string

否

命中该 API 后的执行策略。

枚举值:

  • allow :

    允许执行

  • deny :

    拒绝执行

  • user_ack :

    执行前需用户确认

user_ack

product

string

否

本条语句对应的 Aliyun OpenAPI 产品名。

Sls

global

object

否

全局工具调用自动通过规则

autoPassPolicy

array

否

自动放行策略数组

[{"version":"v1.0.0","fullCommand":"starops tool list"},{"version":"v1.0.0","commandPrefix":["starops sls"]}]

AutoPassPolicy

否

自动放行策略数组

hooks

array

否

Hook 配置

Hook

否

Hook 定义结构体

Hook 配置

通过 toolPolicy.hooks 配置数字员工 Hook。每项对应一个事件和一个处理器,按数组顺序加载和执行;同名 Hook 独立执行。只有 enable 为 true 且范围、事件和工具名称匹配时才执行。空数组表示不加载数字员工 Hook。

  • schemaVersion:配置协议版本,取值为 v1。

  • name:非空名称,仅允许英文字母、数字、下划线和连字符。

  • scope:all(Chat 和 Mission)、chat 或 mission。

  • event:TurnStart、TurnEnd、ToolStart 或 ToolEnd。

  • match:工具名称数组,仅用于 ToolStart 和 ToolEnd;按实际名称精确匹配,不支持通配符。空数组不限制工具,其他事件忽略该字段。

  • execution.type:prompt、bash、python3 或 hint。instruction 分别填写提示词、Bash 脚本、Python 3 脚本或追加到上下文的文本,必须为非空 UTF-8 文本。

  • execution.timeoutSeconds:1–30 秒,全部尝试与等待共用该超时。

  • execution.maxRetry:失败后的额外尝试次数,范围为 0–3。

  • execution.failResult:重试后处理器返回值仍不合法时,按 allow 或 reject 处理。

全局自动放行策略

通过 toolPolicy.global.autoPassPolicy 配置命令自动放行规则。每项规则必须提供 version: "v1.0.0",并在以下两种匹配方式中选择一种:

  • fullCommand:精确匹配的非空完整命令。

  • commandPrefix:命令前缀数组,必须且只能包含一个非空前缀。

fullCommand 与 commandPrefix 不能同时配置,也不能同时省略。此处规则采用命令格式;toolPolicy.aliyun.autoPassPolicy 则使用 RAM Action 字符串,两者格式不同。

以下为 toolPolicy 中这两部分的配置示例:

{
  "global": {
    "autoPassPolicy": [
      {
        "version": "v1.0.0",
        "fullCommand": "starops tool list"
      },
      {
        "version": "v1.0.0",
        "commandPrefix": [
          "starops sls"
        ]
      }
    ]
  },
  "hooks": [
    {
      "schemaVersion": "v1",
      "name": "tool-reminder",
      "enable": true,
      "scope": "all",
      "event": "ToolStart",
      "match": [
        "Bash"
      ],
      "execution": {
        "type": "hint",
        "instruction": "执行工具前确认目标资源和参数。",
        "timeoutSeconds": 10,
        "maxRetry": 0,
        "failResult": "reject"
      }
    }
  ]
}

返回参数

名称

类型

描述

示例值

object

接口返回数据。

name

string

数字员工名称。

test

requestId

string

请求 ID。

3B311FD9-A60B-55E0-A896-A0C73*********

示例

正常返回示例

JSON格式

{
  "name": "test",
  "requestId": "3B311FD9-A60B-55E0-A896-A0C73*********\n"
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情。