# AskTable > AskTable 使用文档:从第一次提问到日常分析。 中文全文;英文全文见 https://docs.asktable.com/en/llms-full.txt 。 来源:https://docs.asktable.com/admin/identity # 企业身份登录 选好企业登录方式、预先导入成员,再分配他们可以访问的项目与数据。 使用指南 · 模块: admin · 管理人员 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 企业微信、WPS、飞书和钉钉可以让员工用企业身份进入 AskTable。先由组织管理员连接应用、导入允许登录的成员,再为这些人分配项目权限和数据范围。 ## 谁来配置,在哪里配置 当前组织的 **Owner 或 Admin** 从 **个人设置 → 登录集成** 配置企业微信、WPS、飞书或钉钉。Cloud 与私有部署都支持;每个组织独立保存自己的企业凭据。 | 登录方式 | 配置位置 | 配置人员 | | --------------------- | -------- | ---------------- | | 企业微信、WPS、飞书、钉钉 | 组织的企业集成页 | 组织 Owner / Admin | | Google、GitHub、微信、邮箱登录 | 部署环境变量 | 部署运维人员 | | SMTP、SMS | 部署环境变量 | 部署运维人员 | 邮箱、OAuth 和邮件发送不在企业集成页配置。变量及生效方式见[部署认证配置](https://docs.asktable.com/deploy/authentication)。 ## 接入顺序 **创建企业应用** 在企业平台创建应用,配置权限和可见范围。企业微信需要 CorpID、AgentID、Secret;WPS 需要 AppID、AppKey;飞书需要 App ID、App Secret;钉钉需要 CorpID、Client ID、Client Secret。 **启用组织集成** 在 AskTable 的企业集成详情中填入凭据并启用。保存配置不会自动导入成员,也不代表外部凭据已经验证通过。 **登记登录地址** 复制页面显示的完整回调地址,填入企业应用后台。私有部署绑定唯一组织;Cloud 地址带有 org\_id,必须完整保留。 **选择导入成员** 点击导入成员,搜索、筛选并勾选应用可见范围内的人,确认剩余名额后提交。新成员成为 Member;已有角色保持不变,已停用成员不会被重新导入而恢复。 **安排项目和数据权限** 将成员加入需要访问的项目,选择项目管理员或成员角色,再按业务需要设置智能体与数据权限。用一名测试成员验证登录和查询结果。 详细操作与平台截图见[接入企业微信](https://docs.asktable.com/integrations/wecom)、[接入 WPS 协作](https://docs.asktable.com/integrations/wps)、[飞书登录集成](https://docs.asktable.com/how-to/connect-feishu-sso)和[钉钉登录集成](https://docs.asktable.com/how-to/connect-dingtalk)。导入、身份范围、断开连接的规则见[企业集成登录](https://docs.asktable.com/organization/enterprise-login)。 ## 常见问题 | 现象 | 检查与处理 | | ----------------- | ----------------------------------------------------------------------------------- | | 找不到企业集成入口 | 检查当前组织,以及自己的组织角色是否为 Owner 或 Admin;不是看系统管理员身份 | | 找不到要导入的人 | 检查企业应用可见范围和通讯录权限,再刷新导入候选 | | 首次企业登录失败 | 确认已导入,且账号、组织和成员关系状态都正常;登录不会即时创建成员 | | 已停用的人再次导入后仍不能登录 | 导入不恢复停用关系,应通过组织成员治理处理 | | 登录进入了错误组织或报组织参数错误 | 使用页面复制的完整地址,Cloud 不得删改 org\_id | | 登录成功但无法进入私密项目 | 先添加显式项目角色,再检查数据权限 | | 更新密钥后失败 | 核对同一企业的应用凭据;组织 Owner/Admin 可在详情显示并复制完整密钥,编辑弹窗会回填;重置过就填写新值 | | 邮件发送失败 | 检查部署环境中的 SMTP 配置,并重启相关进程;见[部署认证配置](https://docs.asktable.com/deploy/authentication) | 企业登录用于识别成员;消息频道和网页嵌入的配置分别见[消息频道](https://docs.asktable.com/integrations/feishu)与[网页嵌入](https://docs.asktable.com/integrations/embed)。 --- 来源:https://docs.asktable.com/admin/license # 商业授权 查看私有部署的授权状态,激活或更新企业许可证。 使用指南 · 模块: admin · 管理人员 · 部署形态:私有部署 · 已确认产品版本:资料未说明 · 来源:现有文档 私有部署默认以体验版运行:最多 **3 个用户**,不启用分析画卷。需要更多用户或画卷能力时,取得满足需求的企业许可证;具体容量、功能和有效期以签发的许可证为准。 ## 查看和激活 **取得激活码** 通过 AskTable 商业服务获取企业许可证,确认用户容量、画卷能力与有效期。Cloud 套餐和私有部署许可证是两种授权,请确认购买的是私有部署授权。 **打开企业版授权区** 使用私有部署的系统管理员账号登录,进入 **个人资料 → 组织 → 组织设置 → 企业版**。这里显示体验版或 License 状态、到期时间、容量用量和功能状态。 **激活或更新** 点击 **激活**;已有许可证时点击 **更新**。输入完整激活码并提交,成功后检查该页面显示的用户上限、画卷能力和有效期是否符合预期。 企业版授权区只在私有部署中向系统管理员显示。组织 Owner/Admin 是组织治理角色,并不等于系统管理员。 ## 容量如何计算 私有部署的用户数按全局账号统计。只停用组织成员会保留账号,因此不会释放许可证用户名额。许可证中的表数量旧字段不再限制运行;页面展示表用量时,不代表存在表数上限。 许可证是否开放画卷由实际签发内容决定,不应把“已激活”等同于所有功能都已开放。 ## 过期和更新 授权过期后,页面可能进入“AskTable 企业版已锁定”。系统管理员可在锁定页提交新激活码;其他成员需联系管理员处理。 | 现象 | 处理 | | -------- | ------------------------------------------ | | 无法创建更多用户 | 到企业版授权区查看用户上限和当前用量,更新匹配容量的许可证;管理员建号同样受上限约束 | | 画卷不可用 | 核对许可证是否启用画卷功能,以及是否已过期 | | 找不到激活入口 | 确认是私有部署,并使用系统管理员账号进入组织设置 | | 激活失败 | 检查激活码是否完整;保留页面错误信息并联系签发方核对 | | 更新后状态不符 | 刷新页面,核对容量、功能和有效期;仍不符时联系签发方 | Cloud 套餐购买与 credits 见[套餐与用量](https://docs.asktable.com/organization/plans-and-usage)。部署和备份见[私有部署(Docker)](https://docs.asktable.com/deploy/docker)。 --- 来源:https://docs.asktable.com/admin/models # 配置大模型 接入大模型,配置模型组中的 Fast、Omni 和 Agent 角色,并测试连接。 使用指南 · 模块: admin · 管理人员 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 AskTable 支持多种大模型。模型需要支持工具调用,以完成数据查询、Python 计算和图表生成。 ## 开始前 - 权限:账号的「用户身份」是「系统管理员」。模型组是全局资源,不按项目隔离。 - 入口:左下角头像 →「系统设置」→ 左侧「模型组」。首次部署时初始化向导也会带你配一次。 - 准备一份接入信息:走 AskTable 托管算力只要「算力 API Key」;接自己的服务要 Base URL、API Key 和模型名。 - 私有部署要确认服务器能出网访问模型服务地址。 - 接入自己部署的本地模型时,模型必须同时满足:支持 Function Call(函数调用);支持纯净的 JSON mode;支持 `tool_choice` 为 `auto` 的模式;上下文窗口不小于 128K;参数规模不低于 qwen3.7-35B。只能普通聊天、不满足这些条件的模型,接入后可能无法正常完成数据查询。 ## 获取 AskTable 官方算力 API Key 使用「AskTable 官方 API 渠道」需要「算力 API Key」。部署好 AskTable 后,按以下步骤申请;站点已经完成初始化、不会再进入初始化向导时,也按这个方法获取: 1. 打开 AskTable SaaS 环境 `cloud.asktable.com` 并登录。 2. 点击左下角的昵称,选择「私有部署」。 3. 在「AI算力」中申请 AskTable 官方大模型的 API Key。 拿到 Key 后,填到私有部署站点的「AskTable 官方 API 渠道」卡片或官方类型模型组的「算力 API Key」中。 ## 操作步骤 **首次部署:走初始化向导** 打开站点会进 `/setup`,顶部两个步骤:「创建管理员」「配置模型」。 「配置模型」页有三张卡: | 卡片 | 什么时候出现 | 要填什么 | | -------------------- | ---------------- | ------------------------------------------------------- | | 「已检测到阿里云百炼配置」 | 服务器上配了阿里云百炼的环境变量 | 不用填,提示「将使用 qwen3-max 作为默认模型」 | | 「AskTable 官方 API 渠道」 | 一直有 | 「算力 API Key」,旁边是「没有API Key?点击免费获取」 | | 「自定义渠道」 | 一直有 | 「Base URL」「API Key」「模型名称」,模型名占位符「例如 gpt-4o, qwen-3-max」 | 点「完成配置」后进入项目列表。已经初始化过的站点不会再进这个向导。 **打开模型组管理** 左下角头像 →「系统设置」→ 左侧「模型组」。 标题「模型组管理」,副标题「管理系统中的 LLM 模型组配置」,右上角「新建模型组」。左栏是模型组列表,每项显示「显示名称」(留空时显示「唯一标识」)和 Base URL,徽标有「官方」「默认」,非 OpenAI 协议的显示协议名(例如「Anthropic」)。右栏没选中时显示「选择一个模型组查看详情」;一个组都没有时左栏显示「暂无数据」。 **新建模型组** 点「新建模型组」,第一步「选择模型组类型」,三张卡: - 「AskTable 官方」——「使用 AskTable 算力服务,只需填写算力 API Key」。 - 「OpenAI 兼容」——「接入第三方 LLM 服务,自由配置」。 - 「Anthropic 兼容」——「接入 Anthropic 协议的第三方 LLM 服务」。 官方类型只填「算力 API Key」(占位符 `asktable-`)。自定义类型要填: | 字段 | 说明 | | -------- | --------------------------------- | | 「唯一标识」 | 必填,机器标识,不能和已有组重名 | | 「显示名称」 | 选填,占位符「留空则使用唯一标识」 | | 「API 协议」 | 「OpenAI」或「Anthropic」 | | Base URL | 必填,例如 `https://api.openai.com/v1` | | API Key | 必填,占位符 `sk-...` | 点「创建」,按钮变成「创建中...」,成功提示「模型组创建成功」。官方类型会自动把 Base URL 写成 `https://aiproxy.asktable.com/v1`,并把三个角色预置成 `asktable-fast`、`asktable-omni`、`asktable-agent`。 **把模型加进可用列表** 选中一个组,右栏「可用模型」区块: 1. 手填:在「模型 ID(如 gpt-4o)」和「显示名称(可选)」两个框里填值,点「添加」;重名提示「模型已存在」。 2. 拉取:点「Fetch」调上游的模型列表接口,把没见过的模型补进来,新补进来的默认关闭。 3. 搜索与统计:搜索框提示「搜索模型...」,上方统计形如「共 N 个模型,M 个已启用(已启用排在前面)」。 每行右侧四个控件:齿轮是「模型选项」、垃圾桶是「移除模型」、闪电是「测试模型」、最右侧开关控制启用。移除一个模型时,引用它的角色路由会一起清空。 **逐个测通模型** 点行内的「测试模型」(闪电图标),成功提示「模型 X 测试通过」,失败提示「模型 X 测试失败」。 只把测通过的模型打开开关:「模型路由」的下拉里只列已启用的模型。 **给三个角色分模型** 「模型路由」区块有三行,角色名是 Fast、Omni、Agent,每行一个下拉。未选时显示「未指定」,可选值就是已启用的模型。 改动即时保存,不需要再点保存按钮。 **调模型选项** 点某个模型的齿轮打开「模型选项」弹窗,说明是「配置 X 的选项」: | 项 | 说明 | | ------------------------------ | --------------------------------------------------------- | | 「上下文窗口」 | 数字框,占位符 `128000`。留空时对话上下文压缩回退用 65536 | | 「供应商选项(JSON)」 | 原样发给上游的参数,说明里的示例形如 `thinking.type = disabled` | | 「思考参数(快速 / 深度)」 | 选 provider 类型,再给「快速模式」「深度思考模式」各挑一个档位;档位会 merge 到「供应商选项」之上 | | 「回传历史推理内容(reasoning\_content)」 | 开关,默认开 | 「思考参数」的 provider 选项是「不启用(不覆盖)」「DeepSeek(思考开关)」「OpenAI(reasoning\_effort)」「通义千问 / DashScope(enable\_thinking)」「自定义(原始 JSON)」。选到具体 provider 时,快速模式默认取最省档位、深度思考模式默认取较强档位,可以再改;选「自定义(原始 JSON)」时两个模式各给一个 JSON 文本框,JSON 写错会标红且不保存。 「回传历史推理内容(reasoning\_content)」的说明是「DeepSeek V4 等接续推理模型需开启;asktable-fast 等不接受该字段的模型必须关闭。」 **设默认、克隆、删除** 右栏右上角「更多」菜单里有两个操作: - 「设为默认」:成功提示「已设为默认模型组」。默认组全站只有一个,也是没指定时的兜底。 - 「克隆模型组」:复制出一个标识加 `-copy` 的组,凭证和模型配置一起带走。 「删除」按钮只在非默认组上出现,确认弹窗写「确定要删除模型组 "X" 吗?此操作无法撤销。」默认组不显示删除按钮。 **决定项目用哪个组** 默认情况下项目跟随系统默认组。要单独指定:左侧主导航 → 项目名右侧的「设置」→「通用」→「模型组」下拉,选项是「默认」「默认(组名)」或具体组名,占位提示「请选择模型组」。一个可用组都没有时提示「暂无可用模型组,请联系管理员配置模型。」 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ------------- | ---------------------------------------------------------------------- | ----------------------- | | 模型组作用域 | 全局,不按项目隔离 | 头像 →「系统设置」→「模型组」 | | 默认模型组 | 必须有一个,且不能删除 | 「模型组」→ 目标组 →「更多」→「设为默认」 | | 官方渠道 Base URL | `https://aiproxy.asktable.com/v1` | 新建官方类型时自动写入 | | 官方渠道预置角色 | Fast 是 `asktable-fast`、Omni 是 `asktable-omni`、Agent 是 `asktable-agent` | 「模型组」→「模型路由」 | | 模型角色 | Fast、Omni、Agent 三个 | 「模型组」→「模型路由」 | | 「API 协议」 | 「OpenAI」或「Anthropic」 | 「模型组」→「连接配置」 | | 「上下文窗口」 | 默认空;留空时上下文压缩回退用 65536 | 模型选项 | | 「回传历史推理内容」 | 默认开 | 模型选项 | | 「思考参数」 | 默认「不启用(不覆盖)」 | 模型选项 | | 「额外请求头」 | 默认空 | 「模型组」→「额外请求头」 | | 官方组可见字段 | 默认只显示「显示名称」「算力 API Key」;其余在「高级配置」里 | 「模型组」→「高级配置」 | | 项目使用的模型组 | 默认跟随系统默认 | 项目设置 →「通用」→「模型组」 | | 官方组的「充值」 | 只在私有部署出现 | 「模型组」→ 官方组右栏 | 以上数值都是默认值,可在管理后台调整。 ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ----------------------------------- | -------------------------- | ------------------------------------ | | 对话里报「模型组 X 认证失败,请检查该模型组的 API 密钥或余额」 | 错误码 `LLM_AUTH_ERROR` | 到「模型组」重填 API Key,或给账户充值 | | 对话里报「模型组 X 连接失败」 | 错误码 `LLM_CONNECTION_ERROR` | 核对 Base URL;私有部署再确认服务器能出网到该地址 | | 对话里报「模型组 X 服务异常,请稍后重试」 | 错误码 `LLM_ERROR` | 上游服务本身异常,稍后重试或看上游状态 | | 对话里报「AI 服务返回了无效响应」 | 错误码 `LLM_BAD_RESPONSE` | 该模型对工具调用的支持不完整,换一个模型或调整「供应商选项」 | | 对话里报「输入内容触发了内容安全审查,请修改后重试」 | 错误码 `LLM_CONTENT_FILTERED` | 换问法;这是上游的内容审查,不是 AskTable 拦的 | | 报「此功能仅在配置官方 AI 代理通道时可用」 | 错误码 `ASKTABLE_LLM_ONLY` | 该功能要「AskTable 官方」类型的组,新建一个官方组并「设为默认」 | | 项目设置里提示「模型组"X"不存在,使用默认模型组」 | 项目选的组已被删除 | 在「模型组」里重选一个,或把当前组「设为默认」 | | 项目设置里提示「暂无可用模型组,请联系管理员配置模型。」 | 一个模型组都没有 | 先建一个组 | | 「测试模型」失败 | 点闪电图标后提示「模型 X 测试失败」 | 确认模型 ID 与上游一致,且该 Key 有调用这个模型的权限 | | 「模型路由」下拉里没有想要的模型 | 下拉只列已启用模型 | 到「可用模型」把该模型开关打开 | | 删除按钮点不到 | 该组是默认组 | 先把别的组「设为默认」,再删这个 | | 「深度思考模式」没生效 | 该模型没配「思考参数」的深度档位 | 模型选项 →「思考参数」→ 给「深度思考模式」选档位 | | 「思考参数」保存不了 | JSON 文本框标红,说明 JSON 不合法 | 改到合法 JSON 再保存 | | 模型列表里想删的模型删不掉引用 | 移除模型时该模型还占着角色路由 | 移除后到「模型路由」重新给该角色选模型 | ## 下一步 - 让每个项目用不同模型组:项目设置 →「通用」→「模型组」 - 解除私有部署的限制:[商业授权](https://docs.asktable.com/admin/license) - 把数据接进来再开对话:[连接数据源](https://docs.asktable.com/data/connect) - 部署参数与运行责任:[部署总览](https://docs.asktable.com/deploy/overview) --- 来源:https://docs.asktable.com/admin/organization-runtime # 组织、项目与运行 了解组织管理、项目权限和系统运维的职责与操作入口。 使用指南 · 模块: admin · 管理人员 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 管理团队、管理项目和维护部署分别有对应入口。先确认要做的是哪一类操作,再使用相应角色;系统管理员、组织管理员和项目管理员不是同一个身份。 ## 选择正确入口 | 要做的事 | 入口 | 所需身份 | | ---------------------- | ---------------------- | -------------------------- | | 邀请同事、调整组织角色、停用成员 | 个人资料 → 组织 → 成员管理 | 组织 Owner 或 Admin,具体操作受角色约束 | | 创建或治理组织内项目 | 个人资料 → 组织 → 项目管理 | 组织 Owner 或 Admin | | 配企业微信、WPS、飞书、钉钉,选择导入成员 | 个人设置 → 登录集成 | 组织 Owner 或 Admin | | 管理项目资源和项目成员 | 项目设置 | 有效项目负责人或项目管理员 | | 查看全局用户、项目目录,调整运行参数 | 头像 → 系统设置 | 系统管理员 | | 激活私有部署许可证 | 个人资料 → 组织 → 组织设置 → 企业版 | 私有部署系统管理员 | 组织基础和部署模式差异见[组织与项目](https://docs.asktable.com/organization/overview)。Cloud 的套餐、账单管理员和用量见[套餐与用量](https://docs.asktable.com/organization/plans-and-usage)。 ## 管理组织与项目成员 组织有 Owner、Admin、Member;Cloud 另有 Guest 和 Billing Admin。项目有负责人(OWNER)、管理员(ADMIN)、成员(MEMBER)三种角色。 添加项目成员时,从当前组织状态正常的成员中多选,分配 Admin 或 Member。组织外的人应先接受邀请;不再从项目弹窗按邮箱或手机号搜索全站账号。完整步骤见[邀请成员](https://docs.asktable.com/organization/invitations)。 可见项目允许当前组织正常的 Owner、Admin、Member 发现并申请,获批后才能进入;不可见项目需受邀或由管理员添加。Guest 必须显式加入,Billing Admin 不参与项目。组织项目管理表可行内切换项目类别;改变可见性不会移除已有成员。 组织 Owner/Admin 能治理项目,但没有有效项目角色时不能打开私密内容。私有部署系统管理员的全局项目目录也不自动授予内容权限。Cloud 系统管理员另有全局项目治理和内容访问权限。 ## 管理平台账号 系统管理员从 **系统设置 → 用户** 查看和维护全局账号,可以搜索、创建、编辑、批量导入或删除账号。账号的系统身份分为系统管理员与普通用户,与组织角色分开管理。 批量导入支持 `.xlsx`、`.xls`、`.csv`,按页面下载的模板填写姓名、邮箱和密码。企业微信/WPS/飞书/钉钉成员请从组织登录集成导入,以建立正确的企业身份绑定。 组织成员管理不会修改邮箱、密码和系统身份,也不会删除全局账号。停用组织成员时,先查看交接预览,为其负责的项目指定接收人,或采用各项目的默认交接安排。接收人原先不在项目内时会自动加入并成为负责人,确认前须核对新增访问范围;成员个人资源交给项目负责人。组织 Owner 仍需先转让组织所有者;删除全局账号应先处理负责项目。具体规则见[成员与角色](https://docs.asktable.com/organization/members-and-roles)。 私有部署账号创建受许可证用户数限制。关闭公开注册只改变注册入口,管理员创建账号也不能绕过用户上限。 ## 管理项目 API-Key 在项目的 **主导航 → Agent 集成** 区分两类密钥: - **个人 Key** 绑定创建成员,按该成员当前项目身份、智能体使用权和数据角色执行。成员可以管理自己的 Key;项目负责人、管理员也不能查看或撤销别人的个人 Key。 - **系统集成 Key** 用于服务接入;负责人或管理员创建,可选 `asker` 或 `admin` 范围。它没有成员身份,不继承创建者的数据角色;`admin` 也不能读写个人 Agent、Skill、文档、渠道或定时任务配置。 查询必须指定 Agent。个人配置管理使用有权成员的个人凭证,不能只把系统 Key 换成 `admin`。根据调用用途选择凭证并妥善保管;它们不等于组织角色或系统管理员身份。网页集成方式见[网页嵌入](https://docs.asktable.com/integrations/embed),程序接入见[OpenAPI](https://docs.asktable.com/integrations/openapi)。 ## 系统管理中的组织用量 Cloud 系统管理员可在组织管理列表查看各组织的可用 Credits;余额为零或负数时标记“已耗尽”,未返回余额时显示为空,不按零处理。该入口用于平台治理,组织成员仍从[套餐与用量](https://docs.asktable.com/organization/plans-and-usage)查看本组织数据。 ## 调整运行参数 系统管理员进入 **系统设置 → 系统**。页面按字段保存,数值编辑完成后离开输入框、或切换开关即可提交;留意当前字段的保存状态和错误信息。 | 区块 | 配置内容 | | ---------- | ----------------------- | | 通用 | 前端访问地址,影响邮件和通知中的跳转链接 | | 对话 | Agent 单次最大步数等对话运行参数 | | Excel 文件限制 | 文件大小、Sheet 数和字段数 | | CSV 文件限制 | 文件大小和字段数 | | 数据源 | 查询超时、表数上限、元数据处理批次和值索引限制 | | 联网搜索 | 模型服务地址、API Key 和模型 | | 用户注册 | 私有部署公开注册开关和新密码强度要求 | 常用默认值如下,实际以当前部署设置为准: | 参数 | 默认值 | | -------------------------- | ---------------- | | Agent 单次最大步数 | 100 | | 全局查询超时 | 30 秒,可设 1—300 秒 | | 单数据源最大表数 | 100 | | 元数据分批处理表数 | 10 | | 字段唯一值索引上限 / 值索引字段数上限 | 50000 / 10 | | Excel 文件大小 / Sheet 数 / 字段数 | 10 MB / 20 / 200 | | CSV 文件大小 / 字段数 | 20 MB / 50 | 部署登录、SMTP、SMS 使用环境变量,见[部署认证配置](https://docs.asktable.com/deploy/authentication);连接池与进程数见[运维与容量规划](https://docs.asktable.com/deploy/operations)。这些不是本页可热更新的运行参数。 ## 常见问题 | 现象 | 处理 | | ------------ | ------------------------------------------------------ | | 没有系统设置入口 | 检查账号是否为系统管理员;组织管理员不自动拥有系统权限 | | 可以管理项目但打不开内容 | 检查显式项目角色;可见项目也需先获批或受邀加入 | | 公开项目里的成员还能进入 | 移除后失去项目内容访问权;仍可见的项目可重新申请加入 | | 保存资源配置被拒绝 | 普通成员可管理自己的 Agent/Skill;管理他人配置需项目负责人或管理员,数据源等项目资源仍需管理权限 | | 邀请后找不到项目候选人 | 确认已加入当前组织且状态正常,Billing Admin 不参与项目 | | 需要定位部署版本 | 系统设置 → 关于,查看并复制版本信息 | --- 来源:https://docs.asktable.com/admin/project-export-import # 项目导出与导入 由系统管理员导出项目配置与元数据,并通过管理接口创建项目副本。 使用指南 · 模块: admin · 管理人员 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 项目导出将数据源配置、连接信息、库表字段元数据和训练数据保存为 JSON。系统管理员可以把这份文件导入同版本环境,创建新的项目副本。 **这不是完整项目备份。** 数据库中的业务数据、Workbook 数据与专用元数据、上传的原始文件、对话、智能体、画卷、看板、成员、权限配置及 AI 搜索值索引都不包含在内。完整环境的备份与恢复见[版本升级与迁移](https://docs.asktable.com/deploy/migration)。 **Warning** 导出文件包含数据源连接账号和**解密后的数据库密码**,应按凭证文件保管。限制访问人员,使用受控渠道传输,不要上传到公开仓库、工单或聊天群。导入后密码会重新加密存储,但导出的 JSON 文件仍包含明文密码。 ## 权限与准备 - **界面导出**:需要系统管理员身份(`SYS_ADMIN`),同时在当前项目具有 Owner 或 Admin 权限,才能进入项目设置并看到导出入口。普通项目管理员身份不足以使用系统导出功能。 - **接口导入**:需要系统 API Key,或系统管理员登录后取得的访问令牌。项目 API Key 不能用于该接口。 - **版本一致**:源环境与目标环境应使用相同的 AskTable 版本和数据库迁移版本。导出文件没有完整的数据结构版本标记,也不提供跨版本格式转换;不要把历史 JSON 当作跨版本迁移包。 - **目标组织**:导入会在目标组织中创建新项目,仍受组织只读状态和项目容量限制。准备目标组织 ID,并通过 `X-Org-Id` 明确指定。 ## 从界面导出 1. 使用具备上述权限的账号进入目标项目,打开**项目设置**。 2. 在**系统管理**区域点击**导出项目**,阅读连接信息和密码提示后确认。 3. 浏览器下载 `export_<项目ID>_<时间戳>.json`。保管好原文件,导入时使用完整内容,不手工重建 JSON 结构。 导出的主要内容如下: | 内容 | 范围 | | ------ | ---------------------------------- | | 项目基本信息 | 项目名称与来源项目 ID | | 数据源与连接 | 数据源配置、连接地址、账号及密码等连接信息 | | 元数据 | 普通数据源的库、表、字段结构与描述;不含 Workbook 专用结构 | | 训练数据 | 项目中的训练问答数据 | 字段与训练数据的向量不随文件导出,导入时根据描述和问题重新生成。来源数据库和外部服务仍需由目标环境自行连接;上传文件、Workbook 和值索引需要另行迁移或重建,不能仅靠这份 JSON 恢复。 ## 通过管理员接口导入 目前没有项目导入界面。管理员通过 `POST /api/v1/sys/projects/import` 提交完整导出文件,请求体是文件中的 JSON 对象,不是文件上传表单,也不需要额外包一层字段。 以下示例以标准 Docker 部署的访问地址为基础。将占位值替换为目标实例地址、管理员凭证和目标组织 ID,并让 `project-export.json` 指向实际导出文件;使用子路径部署时,在 `/api` 前补上部署子路径。 ```bash curl --request POST 'https://<目标实例地址>/api/v1/sys/projects/import' \ --header 'Authorization: Bearer <系统APIKey或系统管理员访问令牌>' \ --header 'X-Org-Id: <目标组织ID>' \ --header 'Content-Type: application/json' \ --data-binary '@project-export.json' ``` 成功响应返回新项目的 `project_id`。导入会生成新的资源 ID,不覆盖原项目;名称冲突时会添加副本后缀。新项目使用私有访问策略,不复制来源项目成员与权限。使用系统管理员访问令牌且该管理员属于目标组织时,管理员成为新项目 Owner;否则由目标组织 Owner 担任。 导入过程中会重新生成字段与训练数据的向量,目标环境应具备可用的向量模型配置。若失败,先根据接口错误检查凭证、目标组织状态、容量、版本和模型配置,再处理;不要把含密码的完整请求体附在排查记录里。 ## 导入后检查 1. 在目标组织找到响应返回的新项目,检查名称、数据源和元数据。 2. 核对数据源连接仍指向哪些数据库,确认目标环境能访问,且权限符合预期。导入不会复制外部数据库,也不会自动把连接切换成其他地址。 3. 为需要的成员重新配置访问权限,并单独处理未导出的文件、Workbook、智能体等资源。 4. 通过实际提问检查连接、字段理解和训练数据是否可用,再交给团队使用。 --- 来源:https://docs.asktable.com/agent/capabilities # 能力开关详解 配置 Python、图表、用户澄清和联网搜索能力。 使用指南 · 模块: agent · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 「配置」标签页里的「能力配置」有四个开关,它们决定智能体在回答时**能调用哪些工具**。四个都是独立开关,可以只开需要的。 | 开关 | 界面上的描述 | 默认 | | ---------- | ---------------------- | -- | | Python 解释器 | 数据变换、统计分析等 SQL 难以表达的操作 | 开 | | 图表可视化 | 为查询结果创建可视化图表 | 开 | | 用户澄清 | 允许智能体向用户提问确认 | 开 | | 联网搜索 | 查询数据源外的公开信息,结果落为数据框 | 关 | ## Python 解释器 **开着的时候**:智能体能执行 Python 代码,用于 SQL 表达起来很别扭的事——数据清洗、统计检验、构造中间结果。 **关掉会怎样**:智能体不能执行 Python。网页对话也会阻止选择或拖入 Excel / CSV 附件,并提示当前智能体未开启 Python 分析能力。 **在哪里跑**:代码不在服务器主进程里跑,而是交给独立的 Atbox 沙箱(Go 服务 + CPython)执行。每次执行起一个全新进程、用完即弃,并施加 chroot、no\_new\_privs、seccomp 和降权 UID 等隔离,跑在 Linux 上才生效。执行有超时上限,并发打满时会明确返回「沙箱已饱和」而不是排队静等。机制细节见 [AskTable 如何工作](https://docs.asktable.com/architecture)。 ## 图表可视化 **开着的时候**:智能体会为查询结果自动挑图——时间趋势用折线、类别对比用柱状、占比用饼图、两量关系用散点。 **关掉会怎样**:只返回数据表格和文字结论,不做图。适合只关心数字、不想被图表干扰的场景,也能省一点生成时间。 ## 用户澄清 **开着的时候**(推荐):问题缺少关键条件时——比如没说时间范围、没说按什么粒度、没说要不要剔除退款——智能体**先反问你**,并给出可点选的选项,而不是自己猜一个然后闷头算。 **关掉会怎样**:智能体按已有语义和上下文做合理假设,直接把答案算出来,并在结论里说明它假设了什么。 这个开关是准确率的关键:关掉它不代表答案会错,但你会更难发现口径被假设成了别的样子。除非明确知道自己在问什么、且不想被打断,否则保持开启。 **Tip:建议保持开启** 关掉用户澄清不会让答案立刻出错,但你会更难发现口径被换成了别的样子。这是四个开关里最影响结果可信度的一个。 ## 联网搜索 **开着的时候**:智能体可以去查数据源以外的公开信息,抓回来的结果会落成一个数据框参与后续分析,比如拿外部数据做对照。 **为什么默认是关的**:联网搜索需要系统管理员先在系统设置里配好搜索服务。**没配好时这个开关是禁用的**,描述会显示「未配置联网搜索,请联系系统管理员在系统设置中配置」。配好之后,再回到这里打开。 ## 关键约束 | 项目 | 值或行为 | | ---------- | ------------------------------------------- | | 开关位置 | 智能体详情页 → 「配置」 → 「能力配置」 | | 生效范围 | 该智能体的所有入口(网页对话、飞书或 Slack 频道、定时任务、嵌入)共用同一份配置 | | Python 解释器 | 关掉后不能执行 Python,网页对话也不能选择或拖入 Excel / CSV 附件 | | 图表可视化 | 关掉后只返回表格与文字 | | 用户澄清 | 关掉后由智能体自行假设,并在结论中说明假设 | | 联网搜索 | 默认关;管理员未配置时开关禁用 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ----------- | ---------------------- | ---------------------------- | | 回答里没有图 | 结果只有表格和文字 | 确认图表可视化是开的;也可能是这个问题本身不适合画图 | | 智能体不问就直接算 | 缺少条件时没有反问,直接给了带假设的结论 | 确认用户澄清开关是开的 | | 联网搜索点不动 | 开关置灰,描述提示未配置联网搜索 | 让系统管理员先在系统设置里配好搜索服务 | | Python 执行报错 | 提示 Python 执行超时,或沙箱已饱和 | 简化代码或缩小数据量;饱和说明并发高,稍后重试 | | 对话不能上传附件 | 提示当前智能体未开启 Python 分析能力 | 由智能体所有者或项目管理员开启 Python,再重试上传 | ## 下一步 - 给它挂上成套的分析方法:[分析技能](https://docs.asktable.com/agent/skill) - 让它记住你们的指标口径:[业务文档](https://docs.asktable.com/agent/documents) - 看它每次到底调了什么:[日志与用户反馈](https://docs.asktable.com/agent/logs-feedbacks) --- 来源:https://docs.asktable.com/agent/documents # 业务文档 添加业务规则和指标定义,供智能体在回答时检索和引用。 使用指南 · 模块: agent · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 业务文档用于说明表结构之外的业务规则,例如有效订单的定义、财年的起始月份和指标口径。智能体回答问题时会检索并引用这些内容。 文档和[技能](https://docs.asktable.com/agent/skill)不是一回事:技能是「怎么做分析」的方法,文档是「这个世界是什么样」的背景知识。 ## 开始前 | 项目 | 要求 | | -- | ------------------------------------------------------ | | 权限 | 成员可管理自己创建的智能体;项目负责人和管理员可管理项目内全部智能体。仅获得分享的成员有使用权,不能修改配置 | | 入口 | 左侧主导航 → 「智能体」→ 打开自己创建或有权管理的智能体 → 顶部标签「文档」 | 页面标题是「业务文档」,描述写着「沉淀业务知识,让智能体在问数时检索引用,回答更贴合你的业务」。左边是文档列表,右边是选中文档的详情。 ## 新建和编辑 **点「新建文档」** 在「文档」标签页点「新建文档」打开创建弹窗。 **填标题和描述** - **标题**:必填,最长 255 个字符。 - **描述**:必填,一句话说明这份文档管什么。 - **正文**:可以留空,之后再补。 **写正文** 在右侧详情面板里写正文,把规则、口径、例外情况写清楚。标题、描述、正文都是**失焦即保存**,不需要找保存按钮。 **补关键词** 详情面板里可以加**关键词**:输入后按回车或逗号添加,每个关键词右侧的 × 可以删掉。 关键词是给检索用的路标。用户提问里出现的说法和文档标题对不上时,关键词能把这份文档拉进候选。 **在列表里核对** 列表项显示标题和描述;加了关键词的会显示关键词数量角标。 ## 它怎么被用到 你写的文档不是等人来翻的,而是进了智能体的检索范围: 1. 智能体收到问题后,先在语义层里做融合检索,业务文档是其中一类内容; 2. 命中的文档会带上路径和摘要片段进入上下文,摘要不够用时再读全文; 3. 从智能体的视角看,这些文档位于一个虚拟目录 `/documents/` 下,一份文档对应一个 `/documents/<标题>.md`。 所以**写得具体比写得长有用**:一份文档讲清一个口径,标题和关键词写准,比塞进一份大而全的手册更容易被检索到。 ## 关键约束 | 项目 | 值或行为 | | ------ | -------------------------------------------------------- | | 标题 | 必填,最长 255 字符 | | 描述 | 必填 | | 正文 | 可为空 | | 关键词 | 回车或逗号分隔,可增删 | | 保存方式 | 失焦即保存 | | 删除 | 在详情面板删除,确认后无法撤销 | | 文档归属 | 挂在具体智能体上,只在该智能体的检索范围内生效 | | 与技能的区别 | 文档是背景知识;[技能](https://docs.asktable.com/agent/skill)是分析方法 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | -------- | ----------------- | ------------------------------------------ | | 回答没用上文档 | 明明写了口径,答出来还是另一套算法 | 检查标题和关键词是否覆盖了用户的提问说法;把口径写得更具体 | | 标题存不进去 | 提交时提示标题超长 | 压到 255 字符以内 | | 描述留空保存失败 | 描述为必填项 | 补一句话描述 | | 改完没生效 | 离开输入框后回到原值 | 确认智能体归自己所有,或当前角色是项目负责人、项目管理员;仅获得分享不包含配置管理权 | | 想删掉写错的文档 | 详情面板删除后确认 | 确认后无法撤销,重要内容先备份到别处 | ## 下一步 - 把分析方法也固化下来:[分析技能](https://docs.asktable.com/agent/skill) - 让文档里的口径对上表结构:[表与字段备注](https://docs.asktable.com/data/semantics) - 看它实际有没有引用到:[日志与用户反馈](https://docs.asktable.com/agent/logs-feedbacks) --- 来源:https://docs.asktable.com/agent/logs-feedbacks # 日志与用户反馈 查看执行记录和用户评价,排查问题并改进回答。 使用指南 · 模块: agent · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 审计日志记录每次提问的执行过程,用户反馈记录对回答的评价。结合两者,可以排查问题并改进智能体的回答。 这两个标签仅向项目负责人和项目管理员开放。普通成员即使创建了智能体,也不会因此获得其他使用者的对话、执行记录或反馈。分享智能体同样不会让双方互相查看对话和任务。 ## 审计日志 顶部标签「审计日志」,页面说明是「查看所有用户在当前智能体中的提问与执行记录。」列表每 15 秒自动刷新一次。 ### 列表与筛选 | 列 | 内容 | | ---- | ------------------------------ | | 提问 | 用户问的原话;没有记录时显示「问题文本未记录」 | | 用户 | 提问的人 | | 来源 | 从哪个入口来的,例如网页对话、飞书、Slack、API 密钥 | | 时间 | 提问时间 | | 执行状态 | 本次执行的结果状态 | | 用户评价 | 好评 / 差评 / 未评价 | 筛选条件:搜索问题(配合「搜索」按钮)、用户(默认「全部用户」)、执行状态、开始日期、结束日期。分页的每页条数可选 10 / 20 / 50。 ### 执行详情 点开一条记录,右侧打开「执行详情」。页面自己有一句提醒:**仅查看已保存的记录;回复已记录不代表执行完整成功。** 详情里能看到: - 本次提问和它的执行状态; - 逐条消息:角色、时间、内容; - 每条消息下的**工具调用**(可折叠展开),例如检索语义、执行 SQL、生成图表、执行 Python; - 报错信息(含原始 JSON); - 用户对这条回答的评价。 详情内部还有「搜索本轮执行内容」,可以按关键词在整轮执行记录里定位,「清空搜索」复位,没命中时提示「没有匹配的记录」,命中时给出「匹配记录:N 条」。 ### 用它来查什么 - **口径不对**:用户说数不对时,展开工具调用看它实际执行了哪条 SQL、用了哪些表,再决定是补[字段备注](https://docs.asktable.com/data/semantics)还是补[业务文档](https://docs.asktable.com/agent/documents)。 - **答不出来**:看是不是检索阶段就没找到表——常见原因是表没挂到该智能体的数据源,或被[策略](https://docs.asktable.com/permissions)挡掉。 - **慢**:看哪一步耗时长,判断是数据源侧慢还是模型侧慢。 ## 用户反馈 顶部标签「用户反馈」,说明是「用户提交反馈后,会在这里集中处理。」用户在一次回答上点赞或点踩时,可以附一句评论。 ### 列表与筛选 | 筛选 | 选项 | | ---- | -------------- | | 状态 | 待处理 / 已解决 / 全部 | | 反馈类型 | 全部反馈 / 赞 / 踩 | 列表项显示赞或踩的标记、用户写的评论(**没写评论时显示被评价的那条消息摘要**)、用户头像和昵称、所属对话名(没有名字时显示「未命名对话」)和相对时间。 ### 处理 - 点「**标记解决**」把一条反馈归档;归档后按钮变成「**重新打开**」,可以退回待处理。 - 点整行会跳到该反馈对应的对话,直接看当时的上下文。 ### 用它来调优 反馈是「用户视角的错误报告」。把踩的评论按原因归一下类,通常落在三处: | 反馈长什么样 | 大概率缺什么 | 去哪里补 | | --------------- | ------------ | ------------------------------------------------------------------------------------------------------ | | 「这个数不对」「口径不是这样」 | 字段备注或业务口径没写清 | [表与字段备注](https://docs.asktable.com/data/semantics) · [业务文档](https://docs.asktable.com/agent/documents) | | 「它答得太啰嗦 / 太简略」 | 分析偏好没定义 | [基础设置与知识偏好](https://docs.asktable.com/agent/profile) | | 「它没按我们的方法分析」 | 缺一份技能 | [分析技能](https://docs.asktable.com/agent/skill) | ## 关键约束 | 项目 | 值或行为 | | --------- | ------------------------ | | 日志范围 | 当前智能体的全部用户提问,含各入口来源 | | 日志刷新 | 列表每 15 秒自动刷新 | | 日志详情 | 只展示已保存的记录;回复已记录不代表执行完整成功 | | 日志能否重跑或导出 | 界面不提供重跑和导出,只能查看 | | 反馈状态 | 待处理 / 已解决两态,可来回切换 | | 反馈可见性 | 面向该智能体的管理员,可跳到原对话看上下文 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | -------------- | ------------ | -------------------------- | | 列表是空的 | 显示「暂无审计日志」 | 确认这个智能体真的被用过;换别的智能体或放宽日期范围 | | 提问列显示「问题文本未记录」 | 该条记录没有保存提问原文 | 改看「执行详情」里的消息内容 | | 搜不到某次提问 | 搜索无结果 | 缩短关键词,或清空用户和状态筛选、放宽日期范围 | | 详情里看不到完整过程 | 提示仅查看已保存的记录 | 这是正常的,详情只反映落库的部分 | | 反馈列表是空的 | 显示「暂无用户反馈」 | 用户还没点赞或点踩;也可以主动引导他们反馈 | | 点反馈跳不过去 | 对话已被删除或无权访问 | 直接从反馈内容判断,必要时找用户确认当时的问题 | ## 下一步 - 把踩的原因落成口径:[业务文档](https://docs.asktable.com/agent/documents) - 把重复的分析套路固化:[分析技能](https://docs.asktable.com/agent/skill) - 确认能力开关是否符合预期:[能力开关详解](https://docs.asktable.com/agent/capabilities) --- 来源:https://docs.asktable.com/agent/overview # 创建并配置数据智能体 连接数据、配置业务知识,创建可供团队使用的数据分析助手。 使用指南 · 模块: agent · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 数据智能体是你在 AskTable 中配置的数据分析助手。接好业务数据、补上指标口径后,同事就可以直接用自然语言提问,让它查数据、做计算并解释结果。 例如,为门店运营建一个智能体:绑定销售数据,写清销售额和退货口径,再挂上同比、环比分析技能。团队就能围绕同一套数据和方法提问,不必每次重新交代背景。 ## 它能帮你做什么 - 找到问题涉及的表和字段,生成并执行数据查询。 - 在开启相应能力后,用 Python 做计算、把结果画成图表,或在问题不明确时向你澄清。 - 在管理员已配置、且智能体开启联网搜索时,查找公开信息作为分析参考。 具体能做哪些事取决于[能力开关](https://docs.asktable.com/agent/capabilities)和授权的数据范围。 ## 数据、技能和使用入口怎么配合 | 配套内容 | 解决什么问题 | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | | [数据源](https://docs.asktable.com/data/connect) | 有哪些业务数据可供分析 | | [业务文档](https://docs.asktable.com/agent/documents)与[知识偏好](https://docs.asktable.com/agent/profile) | 指标怎么算、业务规则是什么、回答怎样组织 | | [技能](https://docs.asktable.com/agent/skill) | 一类问题按什么方法分析;智能体在需要时读取技能正文 | | [频道](https://docs.asktable.com/integrations/feishu) | 在飞书或 [Slack](https://docs.asktable.com/integrations/slack) 里主动提问;一个智能体同时只启用一个平台 | | [定时任务](https://docs.asktable.com/integrations/scheduled-reports) | 按计划执行分析并推送结果 | | [网页嵌入](https://docs.asktable.com/integrations/embed) | 在自有页面提供问数入口 | 这些入口共用智能体的分析配置;使用者能访问的数据还受各入口的人员授权或绑定角色约束。 ## 智能体由哪几部分组成 打开自己创建或有权管理的智能体,可在顶部切换「配置」「文档」「频道」「评测指南」。项目负责人和管理员还可查看「审计日志」「用户反馈」。定时任务和嵌入应用已有独立管理入口。 | 标签 | 管什么 | 详见 | | ---- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 配置 | 数据源绑定、能力开关、技能、领域知识与分析偏好 | [基础设置与知识偏好](https://docs.asktable.com/agent/profile) | | 文档 | 常驻的业务规则与口径文档 | [业务文档](https://docs.asktable.com/agent/documents) | | 频道 | 选择飞书或 Slack,配置凭证、回复方式和人员权限 | [飞书](https://docs.asktable.com/integrations/feishu) · [Slack](https://docs.asktable.com/integrations/slack) · [飞书用户权限](https://docs.asktable.com/permissions/feishu) | | 评测指南 | 准备业务问题,人工核对并反复测试 | 本页「评测与改进」 | | 审计日志 | 每次提问的执行链路与状态 | [日志与用户反馈](https://docs.asktable.com/agent/logs-feedbacks) | | 用户反馈 | 用户的点赞与点踩,作为调优依据 | [日志与用户反馈](https://docs.asktable.com/agent/logs-feedbacks) | 其中「配置」里的四项能力开关决定了智能体能做哪些事,是配置的重点,单独用一页说明:[能力开关详解](https://docs.asktable.com/agent/capabilities)。 ## 开始前 - 权限:普通项目成员可以创建和管理自己的智能体。项目负责人和管理员可以管理项目内全部智能体;收到分享的成员只能使用,不能修改配置。 - 前置:项目里已有至少一个数据源。没有时,由项目负责人或管理员从「更多」→「数据源」→「添加数据源」创建连接。 - 入口:左侧主导航 → 「智能体」。欢迎页也展示你可使用的智能体。 ## 创建智能体 **打开智能体列表** 左侧主导航 → 「智能体」。在「我创建的」中管理自己的智能体,普通成员的「可使用的」合并自己创建、指定分享给自己和项目全员开放的智能体。管理员另有「管理全部」。右上角点「创建」,搜索框可按名称筛选。 **选模板,或从空白开始** 点「创建」,弹窗标题「创建数据智能体」,可以在模板里挑一个,也可以从空白开始。 - 选模板:卡片上给出模板名称和一句话描述,点下去就按该模板建好智能体,名称、描述、技能都已预置。 - 选「从空白创建」(自定义名称和描述,从零开始配置):填名称(必填)和描述(可选),再点「创建」。 **接上数据源** 新建后直接进入详情页。顶部标签切到「配置」,在「数据源」区块点「添加」,弹出「选择数据源」,勾选后关闭。详细说明见[基础设置与知识偏好](https://docs.asktable.com/agent/profile)。 **按需补能力、技能、文档和偏好** 依次确认[能力开关](https://docs.asktable.com/agent/capabilities)、挂[技能](https://docs.asktable.com/agent/skill)、补[业务文档](https://docs.asktable.com/agent/documents)和[领域知识与分析偏好](https://docs.asktable.com/agent/profile)。 **回列表核对** 返回「智能体」列表,核对名称、描述、数据源及作者和分享状态。新建智能体归自己所有,默认「仅自己」;配置完成后再决定是否分享。 ### 内置智能体模板 创建弹窗里可选 9 个模板。模板只是只读起点,按它建出来的智能体可以自由改。 | 模板名称 | 描述 | | -------- | ---------------------------- | | 门店经营分析师 | 专注零售门店经营数据分析,帮你发现门店运营中的机会与问题 | | 电商数据盯盘助手 | 实时监控电商核心数据,第一时间发现异常和机会 | | 财务数据分析师 | 深入分析财务数据,帮助把握经营状况,识别财务风险 | | 市场洞察分析师 | 追踪市场动态,分析竞争格局,识别市场机会 | | 供应链监控官 | 实时监控供应链各环节,及时发现风险和优化机会 | | 用户增长分析师 | 追踪用户增长指标,分析增长策略效果,识别增长机会 | | 高管数据助手 | 为高管提供一键式经营数据汇总,辅助快速决策 | | 经营红黄灯分析师 | 为各业务线设置红黄灯预警规则,自动追踪指标健康度 | | 数据质量守护者 | 主动监控数据质量,确保分析结果的准确性和可信度 | ## 归属与分享 新建智能体归创建者,默认「仅自己」。在智能体列表中管理分享,可选择指定项目成员或「项目全员可用」,也可以随时撤销。创建者和管理员可以查看分享人数;普通接收者只看到「已分享给我」。 分享授予使用权:同事按自己的当前数据角色提问,可以安排自己的定时任务;不能修改智能体、查看或复制内部技能配置,也不会因此看到分享者的对话和任务。项目管理员仍能管理项目内配置,「仅自己」不是对管理员隐藏配置。 分享变化不会改写历史答案;撤销使用权后,接收者不能继续执行,相关任务会停止后续运行。修改智能体或其引用的技能会影响后续对话、任务和嵌入调用,已有结果保留。数据角色只限制实际查询,不会自动过滤写在文档、偏好或技能中的固定数据和样例,分享前请确认这些内容适合接收者使用。 系统集成 Key 可以调用项目内全部智能体,嵌入应用也使用自己的访问配置。将智能体设为「仅自己」不会自动停止这些外部入口;需撤销对应系统集成 Key 或停用嵌入应用。 升级前已有智能体保留内容和引用,统一归项目负责人,并默认「项目全员可用」。这与新建智能体默认私有不同;需要收紧旧智能体的使用范围时,请管理员调整分享。 ## 评测与改进 「评测指南」提供人工核对的工作方法:准备真实业务问题、相关表和指标口径,在对话中选择目标智能体逐题测试,由熟悉业务的人核对关键数字、时间范围和依据。记录没有理解、没有说清或结果不准确的问题,调整数据说明、业务文档或技能后,用同一批问题重测。 可以记录「已核对问题数 ÷ 准备问题总数」作为测试完成度,「人工确认正确问题数 ÷ 已核对问题数」作为样本通过率。同时保留样本数量和问题类型,这不代表所有业务问题的准确率。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ---------- | ---------------------------- | ----------------------------- | | 数据源 | 可添加一个或多个 | 详情页 → 「配置」 → 「数据源」 → 「添加」 | | Python 解释器 | 默认开 | 详情页 → 「配置」 → 「能力配置」 | | 图表可视化 | 默认开 | 详情页 → 「配置」 → 「能力配置」 | | 用户澄清 | 默认开 | 详情页 → 「配置」 → 「能力配置」 | | 联网搜索 | 默认关;管理员未配置时开关禁用 | 详情页 → 「配置」 → 「能力配置」 | | 领域知识与分析偏好 | 各 1024 个字符上限,失焦保存 | 详情页 → 「配置」 → 「偏好」 | | 内置智能体模板 | 9 个,只读起点,按它建出的智能体可自由改 | 「创建」弹窗 | | 频道白名单 | 各平台独立,默认关闭;关闭时能联系该机器人的用户都可问数 | 详情页 → 「频道」 → 「人员权限」(需先启用对应平台) | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ---------------------------- | ----------------------------- | --------------------------------- | | 保存被拒绝 | 当前成员不是资源所有者,也没有项目管理权限 | 由所有者、项目负责人或项目管理员修改;分享只授予使用权 | | 联网搜索开关点不动 | 开关描述说明尚未配置联网搜索、需要管理员先在系统设置里配置 | 让系统管理员先在系统设置里配好联网搜索,再回来打开 | | 提问被拒绝,提示没有可查询的数据表或字段 | 该智能体的「数据源」区块为空 | 详情页 → 「配置」 → 「数据源」 → 「添加」补上 | | 提问被拒绝,提示数据源中找不到表 X(schema Y) | 这张表不在该智能体已绑定数据源的可访问范围内 | 用「数据源」区块确认数据源已挂上;表被策略挡掉时到「策略」里改规则 | | 对话提示当前会话绑定的智能体已被删除 | 这条会话绑定的智能体已被删除 | 新建对话;或到「智能体」列表确认目标智能体还在 | | 分享撤销后不能继续提问 | 当前已无该智能体使用权 | 申请重新分享,或选择自己有权使用的智能体开始新对话 | | 旧普通对话只能查看 | 对话没有绑定智能体 | 选择可使用的智能体开始新对话;旧历史保留 | ## 下一步 - 搞清四个能力开关各管什么:[能力开关详解](https://docs.asktable.com/agent/capabilities) - 把反复交代的分析步骤固化成一份技能:[分析技能](https://docs.asktable.com/agent/skill) - 让智能体记住你们的指标口径:[业务文档](https://docs.asktable.com/agent/documents) - 用「人员」「角色」「策略」控制每个人能看到哪些库、表和行:[权限与数据范围](https://docs.asktable.com/permissions) --- 来源:https://docs.asktable.com/agent/profile # 基础设置与知识偏好 设置智能体的基本信息、数据源、能力、技能和分析偏好。 使用指南 · 模块: agent · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 在智能体的「配置」标签页中设置基本信息、数据源、能力、技能和分析偏好。 ## 开始前 | 项目 | 要求 | | -- | ------------------------------------------------------ | | 权限 | 成员可管理自己创建的智能体;项目负责人和管理员可管理项目内全部智能体。仅获得分享的成员有使用权,不能修改配置 | | 前置 | 项目里至少有一个已完成元数据解析的数据源 | | 入口 | 左侧主导航 → 「智能体」→ 打开自己创建或有权管理的智能体 → 顶部标签「配置」 | ## 「配置」里有四个区块 | 区块 | 管什么 | 详见 | | ---- | ------------------------------ | ------------------------------------------------------ | | 数据源 | 这个智能体能查哪些数据源,可加一个或多个 | 本页下一节 | | 能力配置 | Python 解释器、图表可视化、用户澄清、联网搜索四个开关 | [能力开关详解](https://docs.asktable.com/agent/capabilities) | | 技能 | 这个智能体在分析时可调用的方法 | [分析技能](https://docs.asktable.com/agent/skill) | | 偏好 | 领域知识与分析偏好两段常驻背景 | 本页「领域知识与分析偏好」 | ## 改名称、描述和头像 - **名称和描述**:点「编辑」打开「编辑数据智能体」,改完点「保存」。名称必填,描述可选。 - **头像**:点详情页左上角头像打开「更换头像」,选择喜欢的人物头像并保存,之后可以再次更换。 ## 绑定数据源 **点「添加」** 「数据源」区块的说明写着这里放智能体可访问的数据源,可以加一个或多个。点「添加」打开「选择数据源」。 **勾选数据源** 在弹窗里勾选,然后关闭弹窗。一条都没加时区块显示「暂未添加数据源」。 **核对列表** 列表项显示数据源名称(没名字时显示「(未命名数据源)」)和描述;没有描述时改显示该数据源的表数量,形如 12 张表。每项右侧可单独移除。 这里选择的数据源决定智能体的查询边界:**没添加的数据源,问它也不会去查**。普通成员可以为自己的智能体选择项目内数据源,但不能管理连接或凭据;选择数据源也不会扩大本人的数据权限。实际查询还会应用当前使用者的数据角色;被策略限制时,由管理员到[权限与数据范围](https://docs.asktable.com/permissions)核对规则。 ## 领域知识与分析偏好 「偏好」区块是两个多行文本框,用来给智能体一段常驻背景,每次问数都会带上。 | 字段 | 填什么 | 示例方向 | | ---- | ---------------- | ------------------- | | 领域知识 | 公司背景、业务信息、关键术语口径 | 部门架构、财年周期、考核口径、指标定义 | | 分析偏好 | 分析思路与输出风格 | 偏简洁还是详尽、图表优先还是表格优先 | 两条都是**失焦即保存**,右下角有字数计数,上限 1024 个字符。超出上限时保存被拒绝,不会截断成 1024 字。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ----------- | --------------------- | -------------------------------------------------------------------------------------------------- | | 数据源数量 | 可添加一个或多个 | 「配置」 → 「数据源」 | | 领域知识 / 分析偏好 | 各 1024 字符上限,失焦保存,超限拒存 | 「配置」 → 「偏好」 | | 名称 | 必填 | 「编辑数据智能体」 | | 描述 | 可选;为空时列表显示「暂无描述」 | 「编辑数据智能体」 | | 头像 | 从人物头像中选择 | 详情页左上角头像 | | 技能与能力开关 | 另有专页说明 | [技能](https://docs.asktable.com/agent/skill) · [能力开关](https://docs.asktable.com/agent/capabilities) | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ------------------- | ---------------------- | ------------------------------------------ | | 改动没生效 | 保存被拒绝,或离开页面后回到原值 | 确认智能体归自己所有,或当前角色是项目负责人、项目管理员;仅获得分享不包含配置管理权 | | 偏好存不进去 | 字数计数标红,或提示超长 | 压到 1024 字以内再离开输入框 | | 提问说找不到表 | 提示数据源中找不到表 X(schema Y) | 到「数据源」区块确认数据源已挂上;被策略挡掉时改策略 | | 智能体什么都不查 | 提问被拒绝,提示没有可查询的数据表或字段 | 「数据源」区块为空,点「添加」补上 | | 换了智能体名字,群里的机器人还是旧名字 | 修改的是 AskTable 智能体名称 | 机器人显示名由飞书或 Slack 应用配置管理,到对应平台修改 | ## 下一步 - 决定它能做哪些事:[能力开关详解](https://docs.asktable.com/agent/capabilities) - 把分析方法固化下来:[分析技能](https://docs.asktable.com/agent/skill) - 让它记住指标口径:[业务文档](https://docs.asktable.com/agent/documents) - 看它实际怎么答的:[日志与用户反馈](https://docs.asktable.com/agent/logs-feedbacks) --- 来源:https://docs.asktable.com/agent/skill # 新建并挂载技能 创建可复用的分析指令,并将其关联到数据智能体。 使用指南 · 模块: agent · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 技能是一份可复用的分析指令,用于规定分析步骤、指标口径和结果格式。将技能关联到数据智能体后,智能体会在需要时读取其内容。 技能管的是**方法**,[业务文档](https://docs.asktable.com/agent/documents)管的是**背景知识**(口径、术语、业务规则),两者互补。 ## 开始前 - 权限:成员可创建和管理自己的技能;项目负责人和管理员可管理项目内全部技能。收到智能体分享不包含其内部技能的配置权限。 - 入口:左侧主导航 → 「技能」。 - 想用「通过对话打磨」,目标技能得先挂到至少一个数据智能体上。 ## 操作步骤 **打开技能页** 左侧主导航 → 「技能」。左边是「技能」列表,顶部两个按钮:「从模板新建」和「创建」。还没选中技能时,右侧是空状态,提示从左侧选一个技能来查看并编辑它的完整指令。 **从模板新建** 点「从模板新建」,弹窗标题也是「从模板新建」,按卡片列出可选模板,每张卡是模板名称加一句话描述。点卡片即以该模板的名称、描述、内容建出一份归自己所有的技能,成功后直接跳到它的详情页。两人使用同一个模板会创建各自的实例,不共用可编辑配置。 弹窗里的模板如下: | 模板名称 | 描述 | | ------ | -------------------------- | | 异常检测 | 自动发现数据中的异常波动,识别超出正常范围的指标变化 | | 预测趋势 | 基于历史数据预测未来走势,提供趋势分析和预测区间 | | 压力测试 | 模拟不同假设场景,评估指标在极端条件下的表现 | | 下钻指标 | 从汇总指标逐层拆解,定位问题根源 | | 编排报告 | 自动生成结构化数据分析报告 | | 对比分析 | 多对象、多维度横向对比,发现差异和机会 | | 归因分析 | 分析指标变动的核心驱动因素,量化各因子贡献度 | | 指标解读 | 用业务语言解读数据,确保数据结论准确且易于理解 | | 数据质量检测 | 主动检测数据质量问题,确保分析结果可信 | | 业务语言生成 | 将数据分析结果转化为生动的业务叙述 | | 周期分析 | 识别数据中的周期模式,支持周期性波动分析 | **或从空白创建** 点「创建」,弹窗「创建技能」里填名称(必填)和描述(可选),点「创建」。这样建出来的技能内容区块是空的,需要自己补。 **写技能内容** 详情页的「内容」区块说明这段内容会在智能体激活该技能时原样返回给它,文本框里填写完整的技能指令。写完点右上角「保存」。 **改名称和描述** 点「编辑」打开「编辑技能」,改名称和描述后点「保存」。名称改动不影响已经挂载它的智能体。 **挂到数据智能体** 左侧栏「智能体」 → 打开目标智能体 → 顶部标签「配置」 → 「技能」区块(说明写明这里放智能体可使用的技能,可以加一个或多个) → 「从模板添加」或「添加」。列表为空时区块显示暂未添加技能。 **用对话打磨** 技能挂上智能体后,详情页的「通过对话打磨」可点,它会带着这份技能进入对话,由智能体按你的反馈改写内容。技能没挂任何智能体时按钮置灰,悬停提示需要先把技能挂到智能体上。 **从对话里提取** 在「所有对话」列表里,一条有权访问的对话的「提取技能」会把这段对话沉淀成一份自己的新技能,不修改来源智能体或它的技能。这条对话没有绑定智能体时按钮不可用,悬停提示源对话需要先绑定智能体。 ## 归属与团队使用 分享智能体让同事使用它引用的分析方法,不开放技能的查看、编辑或复制入口。接收者仍按自己的数据角色查询;固定写在技能中的业务数据和示例不会被查询策略自动过滤,分享前应核对内容。修改被引用的技能会影响智能体后续执行,已有答案不变。 升级前的技能保留原内容和智能体引用,统一归项目负责人,不会自动给每位成员复制一份。成员失去项目访问权时,其技能交给当前项目负责人,内容保留。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ---------- | --------------------------- | ----------------------- | | 技能的三个字段 | 名称、描述、内容;内容会原样交给智能体 | 技能详情页与「编辑技能」弹窗 | | 「通过对话打磨」 | 技能未挂任何智能体时禁用 | 先到智能体详情 → 「配置」 → 「技能」挂上 | | 模板实例化 | 创建归当前成员所有的技能,改它不动模板或他人的实例 | 「从模板新建」,或智能体的「从模板添加」 | | 智能体读到的技能范围 | 仅加载该智能体已选的技能;继续分析需要选择智能体 | 智能体详情 → 「配置」 → 「技能」 | | 技能归属 | 技能与引用它的智能体属于同一成员;技能暂不提供独立共享 | 「我的技能」;管理员可切换「管理全部」 | | 删除技能 | 智能体上的引用不会被一起清掉,只是不再有这项技能 | 技能详情页右上角图标菜单 → 「删除」 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ------------------ | ------------------------------------- | ---------------------------------------- | | 「通过对话打磨」是灰的 | 这份技能没有挂在任何智能体上(悬停提示需要先把技能挂到智能体上) | 到智能体详情 → 「配置」 → 「技能」把它挂上 | | 「从模板新建」弹窗里没有可选的模板 | 弹窗正文提示暂无可用技能模板 | 先用「创建」从空白建一份,再把内容写全 | | 智能体的「添加」弹窗里找不到某个技能 | 技能已添加,或归属与智能体不同 | 确认技能与智能体属于同一成员;已添加的无需再加,必要时从模板创建该成员自己的实例 | | 挂了技能但回答没按方法走 | 智能体详情 → 「配置」 → 「技能」区块显示暂未添加技能,看不到这份技能 | 重新「添加」,并确认加的是目标智能体而不是别的智能体 | | 「提取技能」点不动 | 悬停提示源对话需要先绑定智能体 | 换一条绑定了智能体的对话,或先给这条对话关联智能体 | ## 下一步 - 把技能挂上智能体并接好数据源:[智能体概览](https://docs.asktable.com/agent/overview) - 让它记住指标口径和业务规则:[业务文档](https://docs.asktable.com/agent/documents) - 用「人员」「角色」「策略」限定技能背后的数据范围:[权限与数据范围](https://docs.asktable.com/permissions) - 让飞书群里的用户也能用这套技能问数:[飞书用户权限](https://docs.asktable.com/permissions/feishu) --- 来源:https://docs.asktable.com/architecture # AskTable 如何工作 AskTable 如何理解问题、查询数据并生成可核查的结果。 使用指南 · 模块: product · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 AskTable 在用户权限范围内查询和分析数据,并保留查询、计算和生成结果的过程。 ## 一次提问的完整链路 **检索语义** 问题发出后,智能体会先**在你的数据语义里检索**:表结构、字段备注、业务文档、技能、历史 SQL。 它先确定自己能「看到」什么,应该回答什么。 **补齐口径** 如果问题缺时间范围、粒度或指标定义,会先向你反问(需开启智能体的[用户澄清](https://docs.asktable.com/agent/capabilities))。不开启澄清时,它会自行按已有语义做合理假设,并在结论里说明。 **生成并校验 SQL** 生成的 SQL 会先过校验:只允许读,拒绝写操作、DDL 和 `SELECT *`。同时在这一步注入权限—— - 行级过滤条件直接拼进 WHERE - 你不可见的字段从查询里排除 - 训练样本的召回也在检索阶段就按可见表过滤 也就是说,**权限在查询执行之前就生效**,不是查完再遮挡。 **执行并返回** SQL 交给数据源执行。结果落成数据制品,界面上显示为查询结果,并给出行数与列数。需要图表时会调用生成图表,需要复杂计算时会调用执行 Python。 **记录来源** 结果里保留本次实际执行的 SQL 和使用的数据源,所以你可以展开核查,也可以改条件重跑。同一轮执行的完整链路会写进智能体的[审计日志](https://docs.asktable.com/agent/logs-feedbacks)。 ## 如何保证结果可靠 大模型本身是会编的。AskTable 的做法是不给它编的机会: | 机制 | 具体做法 | | -------- | ------------------------------------------------- | | 数字只能来自工具 | 涉及具体数据的问题,答案里的数字必须由只读 SQL 工具或代码沙箱执行产生,不允许模型凭记忆给一个 | | 失败就报错 | 工具调用失败时如实返回错误,不降级成「大致估算」;界面上能看到报错原文 | | 可追溯 | 每个结论都能展开看到实际执行的 SQL、数据源和耗时,条件可以改完重跑 | | 不确定就反问 | 开启用户澄清后,条件不全时先确认,而不是替用户假设一个口径 | ## 权限怎么挡 权限**在 SQL 生成阶段就改写查询**: | 层 | 作用方式 | | ------ | -------------------------------------------------- | | 行级过滤 | 按你当前的角色,把过滤条件直接注入 SQL 的 `WHERE` 子句,从数据层面限制可见行 | | 字段可见性 | 你无权查看的字段在语义检索阶段就不进入模型视野,模型**不知道它存在**,因此也无法被提示词诱导去查 | | 训练样本召回 | 历史 Q-SQL 样本在召回时就按可见表过滤,不会通过示例泄漏不可见结构 | | 入口身份 | 从飞书、嵌入页、API 进来的请求,身份和范围在入口层先确定,再进入上面的链路 | 三处配置的位置和优先级见[权限与数据范围](https://docs.asktable.com/permissions)。 ## 对象模型 ```text 项目 ├── 数据源 可被查询的数据库、文件或工作簿 ├── 数据智能体 面向使用者的问数入口 │ ├── 技能 可复用的分析方法 │ ├── 业务文档与偏好 常驻的分析背景 │ └── 频道 / 定时任务 / 嵌入 对外的使用入口 ├── 分析画卷 节点式的深入分析过程 ├── 数据看板 由可刷新结果组成的持续查看页面 ├── 人员 / 角色 / 策略 成员、数据范围和行级条件 └── 结果资产 保存下来的数据表和图表 ``` 项目是隔离单元,资源都在项目内。数据智能体是把数据源、技能、能力开关和权限打包好的成品,业务人员只需要面对它,不用关心底层连了哪些库。 ## 数据语义是准确率的来源 AskTable 不认识你的业务,它靠这几样东西理解「销售额」「活跃用户」指什么: | 语义来源 | 作用 | | ----- | ----------------------------------------------------------------- | | 字段备注 | 说明字段的业务含义,优先级:人工 > 数据库原生描述 > AI 生成 | | 语义类型 | 标记主键、外键、邮箱、地区等,帮助判断关联和分组方式 | | 字段可见性 | 决定该字段是否进入 AI 的视野 | | 脱敏类型 | 对人名、手机号、身份证号、银行卡号、邮箱按类型处理 | | AI 索引 | 把问题里的简称映射到字段里的实际值 | | 训练集 | 问题与正确 SQL 的样本,供检索参考 | | 业务文档 | 指标口径、业务规则与行业术语,见[业务文档](https://docs.asktable.com/agent/documents) | **所以口径不对时,改数据语义比改问题更有效。** ## 边界 - **只读。** 不执行写操作、DDL,不支持 `SELECT *`。 - **不编数字。** 涉及具体数据的问题必须由工具调用产生结果;工具失败会如实报错。 - **不跨项目。** 所有资源都在项目内隔离。 - **私有部署可完全离线。** 模型也可以走内网自建服务,数据不出域。 ## 下一步 - 想接入自己的数据:见[连接数据源](https://docs.asktable.com/data/connect) - 想让 AI 更懂你的业务口径:见[表与字段备注](https://docs.asktable.com/data/semantics) - 想控制谁能看什么:见[权限与数据范围](https://docs.asktable.com/permissions) - 想看每次执行的实际情况:见[日志与用户反馈](https://docs.asktable.com/agent/logs-feedbacks) --- 来源:https://docs.asktable.com/canvas # 分析画卷 将分析组织为多个步骤,查看中间结果,保存并复用分析流程。 使用指南 · 模块: product · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 对话适合一问一答。当问题需要拆成几步、需要看中间结果、需要反复调整假设时,用分析画卷:每个步骤是一个节点,节点之间由数据依赖自动连线,整个过程留在画布上。 | 你的情况 | 用哪个 | | ---------------------- | -------------------------------------------- | | 一个问题,要一个答案,可能追问几轮 | [对话](https://docs.asktable.com/conversation) | | 要看中间结果、比较不同假设、把推导过程留下来 | 分析画卷 | | 结论要长期盯着,定期刷新 | [数据看板](https://docs.asktable.com/dashboard) | 画卷和对话共用同一套数据语义,便于沿用已有的业务口径。画卷只向项目负责人和项目管理员开放。 ## 开始前 | 项目 | 要求 | | -- | ------------------------------------------------------------------------------------------------------------- | | 权限 | 当前项目角色为项目负责人或项目管理员,并能访问要用的数据源。普通项目成员不开放画卷。还需相应授权等级,未启用时入口不可用,见[商业授权](https://docs.asktable.com/admin/license) | | 前置 | 已连接数据源;要分析本地文件的话,文件不超过 10MB | | 入口 | 左侧主导航 → 分析画卷 | ## 创建画卷 左侧主导航点「分析画卷」进入列表页,标题是「所有画卷」。点「创建画卷」新建,或打开已有画卷。 列表支持按名称搜索画卷,以及用「排序」按最近修改 / 名称 / 创建时间排列。没有画卷时页面为空,用上方按钮创建第一个画卷。 ## 在画布上工作 **从欢迎区开始** 新画卷中间是欢迎区,带一段引导文案,下面有三个示例入口:「查询数据库中的销售数据」「导入并分析Excel文件」「生成数据可视化图表」。 输入框里描述你想做的事情,左侧可「添加附件」。也可以把 `.xlsx`、`.xls` 或 `.csv` 文件直接拖到画布上,导入后会创建 Excel 节点;空画布和已有节点的画布都支持拖入。 **用右键菜单添加节点** 在画布空白处右键,菜单提供「查数」「联网搜索」「导入 Excel」「自动布局」「删除」。节点也可以由输入框直接产生。 五种节点:数据、图表、Python、Excel、联网搜索。输入框的提示语会随节点类型变化,例如数据节点提示描述数据查询需求,图表节点提示希望生成什么样的图表,Python 节点提示描述数据处理需求,联网搜索节点提示要搜索的数据。 **看节点的执行过程** 节点上直接显示状态,例如处理中、联网搜索中、生成图表中。查询类节点执行完会显示结果,并标出行数与列数。 展开节点能看到它调用了哪些工具,例如读取表结构、查看数据源、搜索元数据、查找表、探索数据库、执行 SQL、更新数据、生成图表、执行 Python、提交代码。 **打开详情面板看中间结果** 选中节点后打开「详情面板」。面板按节点类型给出不同页签:「数据」「图表」「代码」「配置」「SQL」「日志」「描述」。没选节点时面板为空。 **在节点上继续操作** 节点自带操作:「打开详情」「创建图表」(画布上简写为「生图」)「追问」「刷新数据」「删除」。 选中数据后,画布工具栏提供「基于选中数据追问」和「使用 Python 处理选中数据」。 **调整图表和连线** 「图表主题」里可选「风格」(「现代」=圆角、柔和曲线;「科技」=直角、锐利线条)和「配色」(含「自定义颜色」),另有图表偏好文本框,例如填“始终显示坐标轴标签和单位”。 连线由数据依赖自动生成。工具栏可「隐藏引用连线」或「显示引用连线」。 **用对话面板讨论整个画布** 画布右侧是对话面板,有「节点详情」和「历史对话」两个入口,可「新建对话」。空态时面板给出开始对话的引导。 针对整个画布提问时,用「对话列表」里的「新建对话」,在输入框里对画卷中的数据提问。 ## 从一份销售表完成一次分析 例如,你想知道“上月哪些门店的销售额下降了”: 1. 把包含日期、门店和销售额的 Excel 或 CSV 拖入画布,确认导入节点里的列和数据正确。 2. 选中数据,点「基于选中数据追问」,输入“按门店比较上月和前月销售额,列出降幅最大的门店”。 3. 在结果节点的详情面板检查统计范围和中间结果,再点「创建图表」,把各门店的变化画出来。 4. 需要继续分析时,对结果追问“按商品类别拆分这些门店的降幅”。原始数据、比较结果和图表都留在画布上,便于回看每一步的依据。 ## 刷新数据和复用画卷 左上角画卷菜单提供「刷新数据」和「克隆画卷」。刷新会重新获取画卷中的数据节点,完成后提示成功或失败情况;它不等于把所有分析步骤自动重跑一遍。克隆会创建并打开一份画卷副本,适合在保留原分析的同时尝试另一种假设。 ## 关键约束 | 项目 | 值 | 在哪里改 | | ------- | ----------------------------------- | ----------- | | 单文件导入上限 | 默认 10MB,超限时导入被拒绝 | 管理后台的文件限额设置 | | 支持的文件格式 | `.xlsx`、`.xls`、`.csv` | — | | 合并单元格 | 不支持跨行复合表头;检测到合并单元格时导入被拒绝,需改用数据源页面上传 | 改用数据源页面上传 | | 重复列名 | 自动重命名,并列出被改名的列 | — | | 联网搜索 | 需要系统管理员先在系统设置中配置,否则不可用 | 系统设置 | | 旧版图表节点 | 不支持编辑,需删除后重新创建;可点「升级」在旁边新建新版节点 | — | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | -------------- | --------------------- | ------------------------------------ | | 节点执行失败 | 节点上有红色错误标记,展开可见具体信息 | 点「打开详情」看「日志」页签定位;常见原因是 SQL 引用了不可见的字段 | | 图表渲染失败 | 节点上标出失败并给出原因 | 点「创建图表」重新生成,或在「配置」页签调整 | | 导入 Excel 后数据为空 | 导入后行数为 0,或提示表为空 | 检查文件是否只有表头;多工作表时在「选择要导入的工作表」里确认勾选 | | 导入时列名报错 | 导入被拒绝,指出列名重复或没有有效的表头列 | 先在源文件里改掉重复列名 | | 刷新数据失败 | 刷新操作报错,节点数据没有更新 | 确认数据源仍可连接;数据源侧改动过表结构时先在数据源页「重新同步」 | | 画卷打不开 | 提示画卷不存在或无权访问 | 确认当前项目角色为负责人或管理员;分析画卷还需相应授权等级 | ## 下一步 - 只要几个指标、不需要过程:用[对话](https://docs.asktable.com/conversation)更快 - 结果要长期盯着:加进[数据看板](https://docs.asktable.com/dashboard) - 让团队也能用这套分析:把方法沉淀为[技能](https://docs.asktable.com/agent/skill) --- 来源:https://docs.asktable.com/conversation # 对话 使用自然语言查询数据、查看分析过程,并继续追问。 使用指南 · 模块: product · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 对话是 AskTable 的主入口:打开项目欢迎页,选择一个有权使用的数据智能体,用一句话提问,拿到一份带来源的结果。 不写 SQL,也不需要先建报表。适合临时查数、探索业务问题、连续追问。 ## 开始前 | 项目 | 要求 | | -- | --------------------------------- | | 权限 | 有权使用所选智能体;数据范围使用你在当前项目中的实时数据角色和变量 | | 前置 | 智能体已配置可用数据源且元数据解析完成 | | 入口 | 左侧主导航 → 项目欢迎页,或新对话 | ## 提问前先确定三件事 提问前先确认智能体、数据范围和运行模式。输入框下方只选择智能体,数据源和数据角色由当前身份确定: | 设置 | 界面位置 | 说明 | | ---- | --------------------------- | ----------------------------------- | | 数据源 | 选定智能体后显示 | 使用智能体配置的数据源,并受你的当前数据权限限制;不能在对话里任意改选 | | 智能体 | 输入框下方的智能体选择器 | 必须选择有权使用的智能体;旁边的管理入口可打开智能体页面 | | 角色 | 输入框下方的只读标签 | 显示你的当前数据角色;角色和变量由项目管理员在项目成员管理中配置 | | 技能 | 输入框左侧「+」菜单 → 「技能」 | 附加一套分析方法,例如归因、下钻 | | 上传附件 | 输入框左侧「+」菜单 → 「上传 Excel/CSV」 | 支持 Excel 和 CSV;所选智能体须开启 Python 能力 | | 搭建看板 | 输入框左侧「+」菜单 → 「搭建 Dashboard」 | 直接进入看板搭建模式 | | 运行模式 | 输入框左侧「+」菜单 → 「快速模式」 | **默认关闭,即深度思考**;打开后回答更快但分析更浅 | 对话已经开始后再修改可调整的配置,会弹出「修改对话配置」,说明改动将创建一个新的对话。数据角色变更会在后续执行时使用最新权限,不会清除已有历史;失去智能体使用权或旧对话没有绑定智能体时,历史仍可读,不能继续提问。 ## 一次提问的过程 **发送问题** 在输入框里写下你的问题。也可以点「上传附件」或「+」菜单里的「上传 Excel/CSV」直接带上 Excel 或 CSV 文件。默认 Excel 单文件 10 MB、每个文件最多 20 个工作表、每个工作表最多 200 个字段(列);CSV 单文件 20 MB、最多 50 个字段(列)。所选智能体关闭 Python 能力时,上传入口不可用;先联系智能体管理者开启该能力。 使用 AskTable 官方模型组时,也可点麦克风录音。选择「结束录音并转写」后先检查或修改文字,再发送;也可选「结束录音并发送」。录音前已有的输入会保留。 **看它调用了什么** 消息上会依次出现思考中和分析中的状态。过程中会展示实际的工具调用,用中文标注: 查询数据、查看数据表、创建数据制品、执行 Python、查看结果行、创建图表、读取技能、向用户提问、联网搜索。 每条回答末尾会给出这次用了多少次工具调用、多少条消息。 **必要时回答它的反问** 智能体判断条件不足时,会先向你反问并列出选项,逐个选完点「提交」。可以点「上一步」回去改,点「跳过」让它自己决定,选「其他」自己填。 这一行为由用户澄清开关控制,关闭后不会出现反问。 **看结果** 结果区有「表格」和「图表」两个页签,图表类型包括「折线图」「柱状图」「饼图」。 表格上方显示当前行数与列数,支持筛选、排序和按行搜索;「编辑图表」可调整图表配置。 **把结果带走** | 想要 | 用什么 | | --------------- | ------------------------------ | | 一份文件 | 「下载」→ Excel(.xlsx)或 CSV | | 可复用的数据表 | 「保存到 Tables」,之后在「查看 Table」里能找到 | | 贴进 Excel 或 Word | 「复制表格」 | | 贴进 PPT 或 Word | 「复制为图片」或「复制为 SVG」 | | 给别人看 | 「分享对话」→ 启用公开链接开关 | 公开链接是只读的,任何拿到链接的人都能查看这段对话。 ## 追问和长对话 - **接着问就行。** 同一段对话里可以直接补充筛选条件、加维度、换周期、改排序,它会沿用上下文。 - **引用某一段。** 选中内容用「引用」把它带进下一个问题,避免指代不清。 - **跳轮次。** 用对话轮次导航跳到指定的一轮,或点「跳到最新」回到末尾。 - **看上下文占用。** 「+」菜单显示上下文占用百分比。快满时输入 `/compact` 执行压缩,成功后对话会标记为已压缩,页面上的历史消息仍保留。 - **历史对话。** 侧栏「全部对话」支持按名称搜索和按类型筛选,类型包括聊天、看板、嵌入、定时任务、简单查询等。默认是「我创建的」;项目负责人和管理员可切换到「可管理的」,查看创建者姓名。切换项目后回到「我创建的」。 - **最近对话。** 侧栏的「仅显示我创建的对话」是按项目保存的独立筛选,不与「全部对话」的范围开关共用。 - **删除看板对话。** 删除时可以选择保留看板;保留的看板继续供查看,不能继续通过该对话编辑。 ## 关键约束 | 项目 | 值 | 在哪里改 | | ------- | --------------------------------------------------------------------------------------------------------------- | --------------- | | 运行模式默认值 | 深度思考(「快速模式」默认关闭) | 「+」菜单 → 「快速模式」 | | 单轮处理上限 | 单轮处理触顶后会暂停,可点「继续」接着处理 | — | | 单条消息长度 | 有上限,超出时发送被拒绝 | — | | 图表 | 依赖图表可视化开关 | 智能体配置页 → 「能力配置」 | | 附件上传 | 支持 Excel 和 CSV;默认 Excel 单文件 10 MB、每个文件最多 20 个工作表、每个工作表最多 200 个字段(列);CSV 单文件 20 MB、最多 50 个字段(列);需智能体开启 Python 能力 | — | | 联网搜索 | 依赖联网搜索开关,且需管理员先在系统设置中配置 | 智能体配置页 → 「能力配置」 | | 语音输入 | 仅当前项目使用 AskTable 官方模型组时可用;切到自定义模型组后按钮禁用并给出提示 | 项目模型组设置 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ------------ | ---------------- | ------------------------------------------------------------------ | | 回答比平时浅 | 「快速模式」处于打开状态 | 关掉「快速模式」,回到默认的深度思考 | | 一直不返回 | 超过 1 分钟没有新的工具调用 | 等待;处理暂停后点「继续」 | | 发不出去消息 | 发送被拒绝,提示项目已锁定 | 联系管理员处理授权 | | 找不到之前的对话 | 「全部对话」列表为空或搜不到 | 检查「我创建的 / 可管理的」、类型筛选和最后活跃时间范围是否过窄 | | 结果数字和业务系统对不上 | 展开工具调用看实际执行的 SQL | 核对时间范围与粒度;口径问题去补[表与字段备注](https://docs.asktable.com/data/semantics) | | 图表不出现 | 该智能体未开启图表可视化 | 在智能体配置页开启 | ## 下一步 - 问题要归因、下钻、多维交叉:转到[分析画卷](https://docs.asktable.com/canvas) - 结果要持续观察:加进[数据看板](https://docs.asktable.com/dashboard) - 让团队在飞书里问同一个知识层:见[飞书机器人](https://docs.asktable.com/integrations/feishu) - 用接口或 MCP 调用:见[集成方式](https://docs.asktable.com/integrations/overview) --- 来源:https://docs.asktable.com/dashboard # 数据看板 通过对话创建和调整数据看板,持续查看业务指标。 使用指南 · 模块: product · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 数据看板用于持续查看业务指标。看板由多个组件组成,每个组件关联一份可刷新的数据表,并以表格或图表展示。 组件通过对话创建,再手动调整位置和大小。两个入口都会进入同一个看板工作区: | 入口 | 操作 | | ------------ | --------------------------- | | 项目欢迎页或新对话 | 输入框左侧「+」菜单 → 「搭建 Dashboard」 | | 左侧主导航 → 数据看板 | 点「创建仪表盘」,进入搭建模式后选择智能体并发送需求 | 看板入口向项目负责人、管理员和未绑定数据角色的项目成员开放。绑定数据角色的普通成员无法进入;没有可用智能体时,先取得智能体使用权。 ## 用对话搭建 **进入搭建模式** 打开项目欢迎页或一个新对话,选择可用智能体,点输入框左侧的「+」,在菜单里勾选**搭建 Dashboard**。 进入后输入框的提示语变成「描述你想要的 Dashboard…」,输入框左侧出现一个「搭建 Dashboard」胶囊。此时只切换草稿模式,发送第一条需求才创建看板和对应对话。看板搭建固定使用深度思考;点胶囊上的 × 可在发送前退出该模式。 **说清你想看什么** 在输入框里描述看板要包含什么,例如关注的指标、时间范围、对比维度、排序方式。 看板工作区从空看板起就显示左边看板、右边对话。生成时显示构建状态,首个组件完成后显示真实数据。对话支持分栏、悬浮和收起;重新打开会恢复之前的显示方式,草稿和附件保留。 **等它探索数据并试跑** 这一步不用你操作。它先在你的数据语义里检索相关表和字段,读表结构和业务文档;写出 SQL 后**先试跑验证**,确认列名和数据符合预期,再落成看板上的组件。所以它不会把没验证过的查询直接放上板。 **用对话继续微调** 直接说人话改,例如「把左上角换成近 30 天的趋势」「删掉客单价」「柱状图改成折线图」「再加一个门店排行」。 改动是**就地生效**的:改标题、改 SQL、换展示方式、调宽高,原有位置保留。它只追加新组件、改现有组件、删组件,**不会重排你已经摆好的版式**。 **到看板详情页收尾** 看板与对话已合并到同一个工作区,可直接调整布局、修改看板名称、设置定时刷新和分享,不需要另开详情页。看板地址以看板为主:`/u/p/<项目ID>/dashboard/<看板ID>`;列表是 `/u/p/<项目ID>/dashboards`,全部数据表是 `/u/p/<项目ID>/tables`。 点击顶部名称即可原位修改,回车或失焦保存,Esc 取消。点「返回看板列表」回到列表。 ### 指标卡(BigNumber) 看板上有两种「一格大数字」的指标卡,都用表格方式展示,高度固定为 2 格: | 类型 | 用途 | SQL 必须返回 | | ------------ | ---------------- | ------------------------------------------- | | BigNumber 单值 | 一个核心 KPI,例如今日订单量 | **一行一列**,展示层把这个数放大居中 | | BigNumber 趋势 | 本期与上期的周期对比 | **一行两列**:`current_value` 与 `previous_value` | 趋势卡的列名 `current_value` 和 `previous_value` 是展示层识别它的固定约定,必须保持英文原名,不要改成中文或加前后缀。展示层会显示 `current_value`,并用两列算出涨跌幅百分比。 ### 对话搭建的关键约束 | 项目 | 值或行为 | | --------- | ---------------------------- | | 组件本质 | 每个组件底层是一份可刷新的数据表,保存了数据源和 SQL | | SQL 写法 | 必须可重复执行,用时间函数取相对时间,不硬编码具体日期 | | 网格 | 12 列。你只给宽高,落点由系统从左到右排,放不下换行 | | 手动优先 | 你拖拽和缩放过的位置会被保留,AI 不重排已有组件 | | 已有组件会被改动吗 | 只在你说要改的时候改;改 SQL 会立即重新刷新一次 | | 组件类型 | 图表或表格;需要明细清单时用表格 | ## 手动搭建与调整 组件由对话生成并加入看板后,可以手动调整布局。顶部不再提供「添加组件」按钮。 **进入数据看板** 左侧主导航点「数据看板」。页面标题是「数据看板」,右上角可按名称搜索仪表盘。 页面里创建的对象叫**仪表盘**:按钮是「创建仪表盘」,没有内容时页面为空,用上方按钮创建。 **新建仪表盘** 点「创建仪表盘」进入新对话的看板搭建模式,选择智能体并发送需求。列表以卡片展示顶部布局缩略图、名称、组件数和相对修改时间,可按名称搜索,用「排序」按最近修改、名称或创建时间排列。 **添加组件** 在右侧对话里描述要新增的指标、图表或表格,让智能体创建组件。已有组件可通过卡片的「引用到对话」带入问题,再说明要怎样调整。 **调整布局和展示方式** 组件可拖拽调整位置和大小。每个组件的展示方式可在表格和图表之间切换。 窗口太窄时无法拖拽,界面会提示窗口太小、需要拉宽。表格右上角支持筛选、排序和下载 Excel 或 CSV;下载覆盖当前筛选和排序后的全部行,保留显示列顺序。 ## 定时刷新与分享 **设置定时刷新** 打开「定时刷新」,勾选启用定时刷新,再选运行频率(「每 10 分钟」「每小时」「每天」「每周」「每月」)。 面板会显示刷新计划和下次运行时间,也可点「立即刷新」手动触发。刷新记录会标出上次刷新时间,失败时标出失败状态。 **Warning:刷新时机** 到达计划时间后,是**下次查看看板时**才刷新其中所有数据表,不是到点后台立刻刷新。想要此刻就是最新数据,点「立即刷新」。 **分享出去** 点「分享仪表盘」,打开启用公开链接开关。拿到链接的人都能查看这个仪表盘,数据实时加载。 ## 关键约束 | 项目 | 值 | 在哪里改 | | ------- | --------------------------------------- | ------------- | | 刷新频率下限 | 最快「每 10 分钟」 | 看板「定时刷新」 | | 刷新时机 | 到点后下次查看看板时才刷新,不是准点后台刷新 | — | | 组件来源 | 通过看板工作区中的对话生成和加入 | 在对话里描述要新增的内容 | | 分享权限 | 公开链接为只读,数据实时加载 | 看板「分享仪表盘」 | | 组件数量 | 每行显示组件个数,无硬性上限 | — | | 趋势指标卡列名 | 必须为 `current_value` 和 `previous_value` | 由对话生成的 SQL 决定 | | 刷新执行权限 | 按数据表记录的执行用户及其当前数据角色校验;管理员刷新不会代替原用户的数据身份 | 项目成员的数据角色配置 | | 删除与保留 | 删除看板会一并删除原绑定对话;删除对话时可选择保留只读看板 | 删除确认框 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ----------- | -------------------- | --------------------------------------------------- | | 组件刷新失败 | 卡片上标出「刷新失败」,或显示没有数据 | 打开底层数据表手动刷新后重试;数据源侧改过表结构时先在数据源页「重新同步」 | | 找不到「添加组件」 | 顶部只有布局、刷新和分享操作 | 在看板对话里描述要新增的组件 | | 组件显示不出数据 | 卡片状态为暂无可用数据 | 点「点击查看详情」看底层数据表状态 | | 拖不动组件 | 拖拽没有反应,界面提示窗口太小 | 拉宽浏览器窗口 | | 分享链接打不开 | 页面提示仪表盘不存在或分享已关闭 | 回到「分享仪表盘」确认公开链接仍处于打开状态 | | 数字是旧的 | 卡片上的刷新时间明显早于当前时间 | 点「立即刷新」,或确认「定时刷新」已启用 | | 指标卡没显示成趋势 | 卡片只显示一个数,没有涨跌幅 | 让 SQL 只返回一行两列,且列名为 `current_value`、`previous_value` | | 对话里说了半天没上板 | 看板预览始终为空 | 确认已经进入「搭建 Dashboard」模式(输入框左侧有对应胶囊) | | 旧看板只能查看 | 提示原对话已删除,或没有可用分析智能体 | 删除对话后保留的看板只能查看;旧看板按提示选择可用智能体,恢复原会话后再继续编辑 | | 旧看板提示数据源不匹配 | 所选智能体的数据源没有覆盖看板原有数据源 | 选择覆盖看板所需数据源的智能体 | ## 下一步 - 组件数据要更新:在看板中「立即刷新」;要改分析口径就在工作区的[对话](https://docs.asktable.com/conversation)里说明 - 看板上的数字要能解释:补[表与字段备注](https://docs.asktable.com/data/semantics)让口径固定下来 - 让同事在飞书里也能看到:见[定时分析报告](https://docs.asktable.com/integrations/scheduled-reports) - 想让它自动按套路分析:给智能体挂上[分析技能](https://docs.asktable.com/agent/skill) --- 来源:https://docs.asktable.com/data/ai-search # AI 索引 索引字段值,帮助智能体将问题中的简称匹配到实际数据。 使用指南 · 模块: data · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 用户提问时写的是简称、口语,数据库里存的是全称。AI 索引把某一列的去重值建成一张可检索的表,提问里的「Mate 40」就能对上库里真正的「HUAWEI Mate 40 Pro 5G」。 它只对字符串字段有意义,也只在你确认需要时才开——建索引耗时,且每个数据源能建的字段数有上限。 ## 开始前 | 项目 | 要求 | | -- | ------------------------------------------------------------------------------------- | | 权限 | 项目负责人或项目管理员 | | 前置 | 数据源状态为正常可用;私有部署需先部署 aisearch,见 [部署 AI 搜索](https://docs.asktable.com/deploy/ai-search) | | 入口 | 左侧主导航 → 「更多」→ 「数据源」→ 点数据源卡片 → 左侧树选中一张表 | ## 操作步骤 **打开单个字段的索引** 「字段结构」表本身没有索引列。点字段行展开详情面板,左上角是 AI 索引开关,说明是开启后会根据该列的值生成索引,提高回答准确率。 打开开关后,开关右侧出现一个状态图标。 **看状态图标** 图标只有两种: | 图标 | 含义 | | ---- | ---- | | 绿色对勾 | 索引成功 | | 红色叉 | 索引失败 | 点这个图标打开「AI 索引详情」。 **看索引详情** 「AI 索引详情」弹窗按行列出: - 字段名称 - 状态:成功或失败 - 总记录数 - 索引值数量 - 去重数量 成功时底部会说明该字段有多少个不同值、符合 AI 索引要求;失败时底部会说明它超出 AI 索引支持范围,并给出被拒的具体原因。 **整源重建(可选)** 换了一批字段、或数据大改之后,点数据源顶栏「设置」,在「索引维护」分区点「构建 Value Index」那一行的按钮。 它会为该数据源重新挑一批字段建索引,触发后提示已开始构建、完成后自动生效。数据源不是正常可用时这个按钮是灰的。 同一分区还有「重建 Embedding」,用于补齐缺失的字段语义向量,与值索引是两件事。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ---------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | | 会建索引的字段类型 | 字符串类(varchar / string / char);长文本、日期、数字不建 | — | | 单数据源值索引字段数 | 默认 10 个;整源构建时按上限截断 | 头像菜单 → 「设置」→ 「数据源」→ 值索引字段数上限 | | 单字段去重值上限 | 默认 50000;超出时该字段索引失败,原因是去重数量超过限制 | 头像菜单 → 「设置」→ 「数据源」→ 字段唯一值索引上限 | | 字段平均长度上限 | 196 字节;超出时该字段索引失败,原因是平均长度超过限制 | — | | 单个值的长度 | 超过 256 字符的值不入索引 | — | | 数值与日期值 | 不进入索引 | — | | 整源构建前置 | 数据源状态为正常可用 | 「设置」→ 「索引维护」 | | 私有部署前置 | 需要配置 AISEARCH\_HOST 与 AISEARCH\_MASTER\_KEY;AISEARCH\_MASTER\_KEY 必须与 MEILI\_MASTER\_KEY 一致 | 部署参数,见 [部署 AI 搜索](https://docs.asktable.com/deploy/ai-search) | | 企业版 | 未授权时打开开关会被拒绝,提示需要企业版支持 | 联系管理员升级 | 以上数值都是默认值,可在管理后台调整。 ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | --------------------- | -------------------------- | -------------------------------------------------------------------- | | 开关打开后是红叉 | 打开「AI 索引详情」,状态是失败,底部给出被拒原因 | 原因若是去重数量超限,换一个基数更小的字段;若是平均长度超限,换短文本字段 | | 打开开关立刻报错 | 提示需要企业版支持 | 升级企业版 | | 打开开关没成功 | 私有部署未部署 aisearch | 按 [部署 AI 搜索](https://docs.asktable.com/deploy/ai-search) 配好两个环境变量后重启 | | 「构建 Value Index」按钮是灰的 | 数据源状态不是正常可用 | 等元数据同步结束,或先处理同步失败 | | 索引值数量是 0 | 详情弹窗里索引值数量显示 0 | 该列没有可索引的值(全是数字、日期或超长文本),换字段 | | 用简称提问还是匹配不到 | 目标字段的 AI 索引开关是关闭状态 | 打开该字段的开关;若字段数已到上限,先关掉不用的字段 | | 建完等不到生效 | 提示已开始构建,但详情里数据没变 | 构建是后台任务,等它跑完;页面会自动刷新状态 | ## 下一步 - 索引只是辅助,字段含义还得靠备注:[表与字段备注](https://docs.asktable.com/data/semantics) - 敏感列先隐藏或脱敏:[字段隐藏与脱敏](https://docs.asktable.com/data/hidden-fields) - 私有部署要开这个能力:[部署 AI 搜索](https://docs.asktable.com/deploy/ai-search) - 用简称问一次试试:[对话](https://docs.asktable.com/conversation) --- 来源:https://docs.asktable.com/data/bigquery # 连接 Google BigQuery 使用 Google Cloud 服务账号连接 BigQuery,并选择需要同步的表。 使用指南 · 模块: data · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 AskTable 连 BigQuery 不用主机和端口,凭证是一份 Google Cloud 服务账号的 JSON 密钥。把密钥交给 AskTable 之后,BigQuery 的 dataset 会出现在选表页的库列表里。 ## 开始前 | 项目 | 要求 | | -- | -------------------------------------- | | 权限 | 项目负责人或项目管理员 | | 前置 | 一份服务账号 JSON 密钥,且该账号对要同步的 dataset 有读取权限 | | 入口 | 左侧主导航 → 「更多」→ 「数据源」→ 右上角「添加数据源」 | ## 操作步骤 **在 Google Cloud 准备服务账号** 这一步在 Google Cloud 控制台完成,不在 AskTable 里(以 Google 官方文档为准): 1. 在「IAM 与管理 → 服务账号」里新建一个服务账号,名称任意(例如 `asktable-readonly`)。 2. 给服务账号授予两个角色:在要开放的 **dataset** 上授予 `roles/bigquery.dataViewer`(读取数据和元数据),在**运行查询的项目**上授予 `roles/bigquery.jobUser`(提交查询任务)。Job User 不能授予 dataset。若允许读取整个项目的数据,也可以在项目级授予 Data Viewer。授权范围见 [Google BigQuery 角色说明](https://docs.cloud.google.com/bigquery/docs/access-control#bigquery.jobUser)。 3. 生成并下载 **JSON** 格式的密钥,AskTable 只认这一种。 如果组织策略禁用了服务账号密钥创建(`iam.disableServiceAccountKeyCreation`),第 3 步会失败,需要 GCP 管理员放行或改用你们已有的凭证下发方式。 **选择 Google BigQuery** 在「选择类型」步骤的「大数据」分组里点「Google BigQuery」卡片,进入「配置连接」。 **填写名称和密钥** 表单只有两项: - 数据源名称:可以留空,留空时会自动生成。 - Service Account JSON 字段:文本框里预置了一份 JSON 模板,含 `type`、`project_id`、`private_key`、`client_email` 四个键,把它整体替换成真实密钥。 也可以点右下角「上传 JSON 文件」,选本地的 `.json` 文件,内容会自动填进文本框。 **立即添加** 点「立即添加」会先测试一次连接,通过后进入「添加数据表」步骤。失败时弹出连接失败对话框,正文是 BigQuery 返回的原始错误。 **选表** BigQuery 的 dataset 对应选表页里库(schema)这一层。勾选要同步的表,点「确认选择 (N)」;也可以「跳过」,之后在数据源详情页补选。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | -------------------- | ------------------------------------------------ | ------------------------------------ | | Service Account JSON | 新建时必填,为空时提交被拒绝 | 表单本身 | | 密钥必须包含的键 | project\_id、client\_email、private\_key,缺一个就提交被拒绝 | Google Cloud 生成的密钥文件 | | 编辑时密钥 | 留空表示不修改,填了才覆盖 | 数据源 → 「设置」→ 「连接配置」→「编辑」 | | 项目 ID | 表单里没有这一项,不用填 | — | | 主机 / 端口 | 不需要填写 | — | | 单数据源可选表数 | 默认 100 张 | 头像菜单 → 「设置」→ 「数据源」→ 单数据源最大表数(云端部署生效) | 单数据源可选表数是默认值,可在管理后台调整。 ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ---------------------------------------------------- | --------------------------------------- | ------------------------------------------------------------- | | 提交被拒,提示密钥不能为空 | 文本框为空,且没有上传文件 | 粘贴密钥全文,或点「上传 JSON 文件」 | | 提交被拒,提示密钥不是合法 JSON | 粘贴内容被截断,或前后带了说明文字 | 重新复制整个密钥文件的内容,只保留 JSON | | 提交被拒,提示密钥缺少 project\_id、client\_email 或 private\_key | 用的是 OAuth 客户端密钥或 API Key,不是服务账号密钥 | 回 Google Cloud 生成服务账号密钥 | | 连接测试提示认证失败 | BigQuery 返回密钥或身份相关错误 | 确认服务账号和密钥仍然有效,必要时换一份有效密钥 | | 连接测试提示无法提交查询任务 | BigQuery 返回缺少 `bigquery.jobs.create` 权限 | 在运行查询的项目上授予服务账号 BigQuery Job User;仅有 dataset 的 Data Viewer 不够 | | 连接测试提示无法读取表 | BigQuery 返回表或数据集访问权限错误 | 在目标 dataset 上授予服务账号 BigQuery Data Viewer | | 选表页看不到某个 dataset | 该 dataset 不在库列表里 | 在 Google Cloud 给服务账号授予这个 dataset 的读取权限 | | 昨天能连、今天报认证失败 | 密钥被禁用或已过期 | 生成新密钥,在「连接配置」→「编辑」里替换 | ## 下一步 - 字段名看不懂、要写业务含义:[表与字段备注](https://docs.asktable.com/data/semantics) - 接完要做日常维护:[管理数据源、文件与训练集](https://docs.asktable.com/data/manage) - 想再连一个库或一份文件:[连接数据源](https://docs.asktable.com/data/connect) - 直接开始提问:[对话](https://docs.asktable.com/conversation) --- 来源:https://docs.asktable.com/data/connect # 连接数据源 连接数据库或上传文件,选择需要分析的数据。 使用指南 · 模块: data · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 先连接数据库或上传文件,再选择需要分析的表。AskTable 会读取数据结构,并在提问时查询相关数据。 ## 开始前 | 项目 | 要求 | | -- | ------------------------------ | | 权限 | 项目负责人或项目管理员;普通项目成员没有数据源配置写权限 | | 前置 | 数据库侧开好只读账号,且从 AskTable 服务器网络可达 | | 入口 | 左侧主导航 → 「更多」→ 「数据源」 | 页面标题是「数据源」,右上角按钮是「添加数据源」;搜索框可以按名称过滤列表。 ## 操作步骤 **选择类型** 创建流程顶部有三个步骤:「选择类型」「配置连接」「添加数据表」。 类型卡片按三组排列,分组标题是「文件」「数据库」「大数据」。点中一张卡片直接进入下一步。 **配置连接(数据库类)** 填数据源名称、主机、端口、用户名、密码,再加一个库名输入框: - 数据源名称可以留空,留空时会自动生成。 - 端口预填该引擎的常用端口,可以直接改。 - 库名输入框的标题随引擎变化:多数引擎是数据库DB,Oracle 是 Service Name,Databend 另有计算集群。 - StarRocks 另有可选的「外部 Catalog」:填 StarRocks 中已经配置好的 Catalog 名称以读取外部表,包括通过 StarRocks 接入的 MaxCompute、Paimon 等外部表;留空读取内部表。名称须以字母开头,只能包含字母、数字和下划线。一个数据源选择一个 Catalog,数据库和选表范围在该 Catalog 内生效。 - 允许多库的引擎(例如 MySQL)可以在同一个框里填多个库名,用英文逗号分隔,留空表示全部数据库。 云端部署时主机字段下方会提示把 AskTable 服务器(47.100.25.242)加入数据库白名单。 点右下角「立即添加」,系统先自动测试一次连接,通过后进入下一步;失败时弹出连接失败对话框,正文是数据库返回的原始错误。 **添加数据表** 选表页标题是「选择数据表」,上方有「表」「视图」两个页签,搜索框可以按表名或视图名过滤,右侧是「排序」和「全选」。 勾选要同步的表后点「确认选择 (N)」;一张表都没勾时按钮不可点。想以后再选就点「跳过」,之后可以随时在数据源的详情页重新选表。 这一步下方有一个同步 Value Index(提升字段值检索精度)的勾选框,默认不勾选;说明文字写着构建耗时较长,建议仅在数据量较小或检索要求高时开启,也可以在创建后手动触发。它的作用见 [AI 索引](https://docs.asktable.com/data/ai-search)。 **上传文件(Excel / CSV)** 类型选「Excel / CSV」时,第二步变成上传页:填数据源名称,再把文件拖进虚线区或点击选择。 虚线区可以点击选择文件,也可以把文件拖进去;支持的格式是 .xlsx、.xls、.csv,一次可以传多个。已选文件列在下方,每条可以单独移除。 点「立即添加」完成创建,直接回到「数据源」列表页。 **创建工作簿(第三种走法)** 类型选「工作簿」会跳到独立的「新建工作簿」页,先填数据源名称,再从三种方式里选一个: | 方式 | 说明 | | ----------- | ---------------------------- | | 「Excel 导入」 | 上传 Excel 或 CSV,解析后建一个可编辑的工作簿 | | 「从飞书多维表格同步」 | 连接飞书应用,选表后建只读的同步工作簿 | | 「空白工作簿」 | 先建空簿,再手动加工作表和字段 | ## 支持的数据源类型 可连接的主要类型如下,括号里是卡片上显示的版本。 **文件**:「Excel / CSV」(.xlsx / .xls / .csv)、「工作簿」(Beta) **数据库**:MySQL(5.7 / 8.0)、PostgreSQL(9/14/15/16)、PolarDB(MySQL 5.7 / 8.0)、PolarDB(PostgreSQL 14/15/16)、OceanBase(4.2.2)、达梦(DM8)、虚谷(V11 / V12)、TiDB(8.1.0)、Oracle(18c / 12c)、SQL Server(2012 / 2016 Web)、MogDB(5.0.0)、GaussDB(主备版)、TDSQL(MySQL)、TDSQL(PostgreSQL)、金仓 KingbaseES(V8)、GBase 8c(V5)、崖山 YashanDB(23.2) **大数据**:StarRocks(3.x)、ClickHouse(22.12)、Doris(3.0.5)、Hive(3.x)、MaxCompute(2025)、Google BigQuery、Hologres(r3.2.x)、AnalyticDB(MySQL)、AnalyticDB(PostgreSQL)、Databend(1.2)、SelectDB(4.0.4)、Greenplum(6.x)、GBase 8a(V9)、GaussDB(DWS)(8.x) 「工作簿」虽然在「文件」分组里,选它不会进入通用表单,而是跳到独立创建页。管理员尚未配置工作簿服务时,卡片置灰,点击会显示配置说明,不会进入创建。 类型卡片还列有瀚高 HighGo(V9.0)、海量 Vastbase(G100 V2.2 / V3.0)和羲和 Halo(通用)的配置入口;当前版本尚未开放连接,提交时显示「暂无法添加此数据源」,不能把看见卡片理解为已支持连接。 ## 国产信创数据库 信创数据库是逐个原生适配的,不是套通用驱动凑合。连接的填法和通用数据库一致:填名称、主机、端口、用户名、密码,再填库名。 | 数据库 | 卡片上的版本 | 说明 | | ------------- | ------------------ | --------------------------------------------------- | | 达梦(DM8) | DM8 | 需要企业版;未授权时连接测试返回 403,错误码 `ACCESSOR_ENTERPRISE_ONLY` | | GaussDB | 主备版 | 集中式形态,在「数据库」分组 | | GaussDB(DWS) | 8.x | 数仓形态,在「大数据」分组 | | 金仓 KingbaseES | V8 | 在「数据库」分组 | | GBase 8c | V5 | 在「数据库」分组 | | GBase 8a | V9 | 在「大数据」分组 | | 虚谷 | V11 / V12 | 在「数据库」分组 | | 崖山 YashanDB | 23.2 | 在「数据库」分组 | | TDSQL | MySQL / PostgreSQL | 两张卡片,按实际形态选 | | MogDB | 5.0.0 | 在「数据库」分组 | | OceanBase | 4.2.2 | 在「数据库」分组 | | TiDB | 8.1.0 | 在「数据库」分组 | Oracle 是个例外:库名输入框的标题变成 Service Name,要填服务名而不是库名。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ----------------- | --------------------------------------------------- | ------------------------------------- | | 单次上传文件数 | 最多 10 个,超出时上传被拒绝 | 表单校验,不可调 | | Excel 单文件大小 | 默认 10 MB,超出时该文件被拒绝 | 头像菜单 → 「设置」→ 「文件上传」→ Excel 最大文件大小(MB) | | CSV 单文件大小 | 默认 20 MB,超出时该文件被拒绝 | 头像菜单 → 「设置」→ 「文件上传」→ CSV 最大文件大小(MB) | | CSV 列数 | 默认 50,超出时该文件被拒绝 | 头像菜单 → 「设置」→ 「文件上传」→ CSV 最大字段数 | | Excel Sheet 数 | 默认 20 | 头像菜单 → 「设置」→ 「文件上传」→ Excel 最大 Sheet 数 | | Excel 单 Sheet 字段数 | 默认 200 | 头像菜单 → 「设置」→ 「文件上传」→ Excel 最大字段数 | | 单数据源可选表数 | 默认 100 张;超出时选表页会提示已选数量超过上限,并禁用「确认选择」 | 头像菜单 → 「设置」→ 「数据源」→ 单数据源最大表数(云端部署生效) | | 达梦(DM8) | 需要企业版;未授权时连接测试返回 403,错误码 ACCESSOR\_ENTERPRISE\_ONLY | 联系管理员升级企业版 | | 多库分隔符 | 只能用英文逗号;格式不对时提交被拒绝 | 表单校验,不可调 | 以上数值都是默认值,可在管理后台调整(表单校验类的除外)。 ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ----------------- | ------------------------------------------------------------ | --------------------------------------------- | | 选择的类型提示暂无法添加 | 瀚高 HighGo、海量 Vastbase 或羲和 Halo 的连接尚未开放 | 返回选择其他类型;需要该类型时联系管理员 | | 工作簿卡片置灰 | 管理员尚未配置工作簿服务 | 按弹窗中的配置说明请管理员处理 | | StarRocks 外部表没有出现 | 外部 Catalog 留空、名称不对,或账号没有读取权限 | 填已配置的 Catalog 名称,核对该 Catalog 内的数据库、表和读取权限 | | 连接测试没过 | 弹出的连接失败对话框里是数据库返回的原始报错 | 逐项核对主机、端口、账号、密码、库名;云端部署时确认已把提示里的服务器地址加进数据库白名单 | | 达梦连不上 | 提示需要企业版,或接口返回 403 / ACCESSOR\_ENTERPRISE\_ONLY | 升级企业版后再连 | | 提交被表单拦下 | 校验不通过,会指出是主机地址为空、端口号不是数字、端口号超过 65536、数据库名为空或 Service Name 为空 | 按提示补齐对应字段 | | 文件加不进去 | 文件超出大小或列数限制,被拒绝 | 压缩或拆分文件,再重新上传 | | 「确认选择」点不动 | 一张表都没勾;或勾选数超过 100 张上限 | 减少勾选;确需更多表请管理员调高单数据源最大表数 | | 选表页一张表都没有 | 库表列表为空 | 确认账号对目标库有读权限;Oracle 要填对 Service Name | | 搜不到某张表 | 列表里没有匹配结果 | 切换「表」/「视图」页签,清空搜索关键词 | | 连接成功但详情页一直同步中 | 顶栏状态指示器显示为同步中 | 等元数据解析完成;长时间不动点状态指示器看错误详情 | ## 下一步 - 要连的是 BigQuery:[连接 Google BigQuery](https://docs.asktable.com/data/bigquery) - 想让 AI 认对字段:[表与字段备注](https://docs.asktable.com/data/semantics) - 接完要做日常维护:[管理数据源、文件与训练集](https://docs.asktable.com/data/manage) - 直接开始提问:[对话](https://docs.asktable.com/conversation) --- 来源:https://docs.asktable.com/data/hidden-fields # 字段隐藏与脱敏 隐藏不需要参与分析的字段,并对查询结果中的敏感信息进行脱敏。 使用指南 · 模块: data · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 字段隐藏用于排除不需要参与分析的列;字段脱敏保留列的计算能力,但对结果中的敏感值进行替换。 | 想达到的效果 | 用哪个 | 例子 | | ----------------- | ------ | -------------- | | 这列跟分析无关,不想让它干扰 AI | 隐藏开关 | 内部自增 ID、创建人 ID | | 这列要参与统计,但不希望看到真实值 | 脱敏加密下拉 | 手机号、身份证号、银行卡号 | | 这列既敏感又完全不参与分析 | 两个都设 | 只留档不分析的身份证号列 | ## 开始前 | 项目 | 要求 | | -- | -------------------------------------- | | 权限 | 项目负责人或项目管理员 | | 前置 | 数据源状态为正常可用 | | 入口 | 左侧主导航 → 「更多」→ 「数据源」→ 点数据源卡片 → 左侧树选中一张表 | ## 操作步骤 **隐藏一列** 「字段结构」表最右一列是隐藏列,每行一个开关。打开开关,这一行整行变灰,表示它不再参与 AI 的分析。 这一列的说明是隐藏后 AI 在回答时会忽视该列。开关即时生效,没有额外的保存按钮。 **恢复一列** 把隐藏开关关掉即可。字段的语义向量一直保留着,恢复可见后立刻能重新参与检索,不用等重建。 **设脱敏类型** 点字段行展开详情面板,找到脱敏加密下拉(说明是根据指定类型对数据进行脱敏),从六项里选一个: 「未启用」「人名」「手机号」「身份证号」「银行卡号」「邮箱」 选中即保存,没有确认按钮。选「未启用」就是关掉脱敏。 **确认脱敏生效** 改完之后,在对话里问一个会返回该列的问题,看结果表格里的值是不是已被替换。脱敏作用在查询结果交给模型之前,所以模型看到的是替换后的值。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | --------- | -------------------------------------- | ------------- | | 隐藏的生效范围 | AI 生成查询、回答问题、字段语义检索都会跳过该列 | 字段结构表的隐藏开关 | | 隐藏后数据是否删除 | 不删除,列和值都还在表里 | — | | 隐藏后恢复 | 关掉开关即恢复;向量保留,恢复后立即参与检索 | 同上 | | 脱敏可选类型 | 「未启用」「人名」「手机号」「身份证号」「银行卡号」「邮箱」六项 | 字段详情面板的脱敏加密下拉 | | 脱敏生效位置 | 查询结果序列化给模型之前替换,原始值不进入模型 | — | | 脱敏与隐藏的分工 | 隐藏 = 整列不参与;脱敏 = 列照常参与,值被替换 | — | | 与访问控制的边界 | 这两个开关只影响 AI 看到什么;谁能看哪些数据由项目角色和数据访问策略决定 | 数据访问控制 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ------------- | ------------------- | ------------------------------ | | 开关点了没反应 | 行内提示更新字段可见性失败 | 刷新后重试;持续失败联系管理员 | | AI 还在提某个字段 | 该字段行没有变灰,隐藏开关处于关闭状态 | 打开这个开关 | | 结果里手机号还是明文 | 脱敏加密下拉仍是未启用 | 选成「手机号」 | | 脱敏类型改不动 | 行内提示更新脱敏类型失败 | 刷新后重试;持续失败联系管理员 | | 隐藏之后某个指标算不出来了 | 该指标依赖被隐藏的列 | 隐藏只影响 AI 视野,但指标也依赖它;这种情况改用脱敏加密 | | 需要看原值但看不到 | 该列已设脱敏类型,对话结果里是替换值 | 脱敏是为了不把原值交给模型;需要原值请在数据库侧查询 | ## 下一步 - 给留下来的字段写清业务含义:[表与字段备注](https://docs.asktable.com/data/semantics) - 用简称提问也能命中真实值:[AI 索引](https://docs.asktable.com/data/ai-search) - 管文件、训练集和元数据导入导出:[管理数据源、文件与训练集](https://docs.asktable.com/data/manage) - 用真实问题验证一遍:[对话](https://docs.asktable.com/conversation) --- 来源:https://docs.asktable.com/data/manage # 管理数据源、文件与训练集 更新连接和同步范围,管理文件、训练集与元数据。 使用指南 · 模块: data · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 在数据源详情和设置页中,可以修改名称、连接和同步范围,管理上传文件及训练数据。 ## 开始前 | 项目 | 要求 | | -- | -------------------------------------------------------- | | 权限 | 项目负责人或项目管理员 | | 前置 | 数据源已创建,见 [连接数据源](https://docs.asktable.com/data/connect) | | 入口 | 左侧主导航 → 「更多」→ 「数据源」→ 点一张数据源卡片 | ## 操作步骤 **先认识详情页的三块区域** 打开数据源后,页面分三块: - 顶栏:面包屑(「全部数据源」→ 数据源名 →「设置」)、状态指示器、主操作按钮。 - 左侧栏:「基本信息」「训练集」两个固定项;数据源可用时下方还有搜索框和库/表树,搜索框可以按表名过滤。 - 右侧:当前选中的内容。 顶栏主操作按钮按类型变化:数据库类是「重新选表」,Excel 是「文件管理」;最右是「设置」。 状态指示器显示为正常可用、同步中、初始化中或不可用,点开能看到上次同步时间和错误详情;出错时底部出现「重新初始化」或「重新同步」按钮。 **改名称和描述** 点左侧「基本信息」。数据源名称直接在输入框里改,失焦即保存;描述是两行文本框,同样失焦保存。 描述上限 255 字,超出时右下角计数变红,改动不会保存。同一页还能看到只读的类型、ID(带复制按钮)、库表统计和创建时间。 **改连接配置(数据库类)** 点顶栏「设置」,在「连接配置」分区里能看到主机地址、用户名和数据库。点「编辑」打开连接信息弹窗改,「测试连接」随时验证当前配置。 密码留空表示不修改。StarRocks 外部表的数据范围还受创建时所选 Catalog 限制;同步不到表时,先核对该 Catalog 中的库表和账号读取权限,见[连接数据源](https://docs.asktable.com/data/connect)。 **换要同步的表(数据库类)** 点顶栏「重新选表」,弹窗里重新勾选后点「确认选择 (N)」。已在元数据里的表默认勾上;同步进行中该按钮不可点。 单个表结构变了不用整源重来:进这张表的「字段结构」页,点表名下方的「重新同步」。它只重跑这张表的结构与统计,不覆盖人工标注,触发后提示已开始刷新。 **管理上传的文件(Excel)** 点顶栏「文件管理」,弹窗标题是「文件管理」,列出「文件列表(N)」。 点「选择文件」加新文件,新加的行带新文件徽标;已入库的行可以预览、下载、删除。删过的行会在下方标注保存后将被永久移除。改完点「保存更改」。 **维护训练集** 点左侧「训练集」。表格列是用户问题、正确 SQL、来源、创建时间、是否启用、操作,来源列显示手动添加或点赞反馈。 右上角「添加训练数据」新建;行内开关控制单条是否生效,鼠标移到行上出现编辑和删除按钮。搜索框可以按用户问题或 SQL 过滤。 **导出或导入元数据** 点顶栏「设置」,在「元数据」分区: - 点「导出」弹出「确认导出元数据」,写明会导出字段描述、字段可见性设置和训练数据,确认后下载 JSON。 - 点「导入」选 JSON 文件。导入会覆盖字段描述与可见性,训练数据是追加,不会删除已有数据。 同一分区还有「dbt 语义层」,点「导出 YAML」把当前数据源的实体和维度导出为 dbt YAML。 **删除数据源** 点顶栏「设置」,最下方「危险区」里是「删除数据源」;数据源列表卡片右上角的「···」菜单里另有「快速对话」和「删除数据」。删除前会二次确认,确认后不可撤销。 删除只移除 AskTable 侧这份数据源和它的配置,数据库或文件本身不受影响。 「快速对话」会打开对话入口;当前版本提问仍须选择有权使用的智能体,数据范围由智能体和本人当前数据角色共同确定,不能绕过这两个条件直接按数据源提问。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | -------------- | ------------------------------------------- | ------------------------------------------------------ | | 数据源描述长度 | 上限 255 字,超出标红且不保存 | 「基本信息」页的描述字段 | | 查询超时 | 单数据源默认继承全局(全局默认 30 秒),可填 1–300 秒;超出范围时保存被拒绝 | 数据源 → 「设置」→ 查询超时(秒);全局值在 头像菜单 → 「设置」→ 「数据源」→ 全局查询超时(秒) | | 单数据源可选表数 | 默认 100 张 | 头像菜单 → 「设置」→ 「数据源」→ 单数据源最大表数(云端部署生效) | | 训练数据唯一性 | 同一数据源下用户问题不能重复,重复写入会被数据库拒绝 | — | | 训练 SQL 保存校验 | 只读、可解析、不含 SELECT \*、表名带 schema、表已在元数据中 | — | | 元数据导入的影响 | 覆盖字段描述与可见性;训练数据追加,不删除已有 | 「设置」→ 「元数据」→「导入」 | | 文件删除 | 保存后永久移除 | 「文件管理」弹窗 | | 构建 Value Index | 需要数据源状态为正常可用 | 「设置」→ 「索引维护」 | | 删除数据源 | 二次确认后不可撤销 | 「设置」→ 「危险区」,或列表卡片菜单 | 以上数值都是默认值,可在管理后台调整(训练数据校验类的除外)。 ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ------------ | ------------------------------- | ---------------------------------------------------- | | 卡片一直在转 | 鼠标移到状态指示器上,提示为正在分析元数据或排队中 | 列表每 3 秒自动刷新,等它结束;长时间不动就点状态指示器看错误详情 | | 元数据解析失败 | 状态提示为分析元数据失败,或顶栏状态显示为不可用 | 点状态指示器看错误正文;文件类可点「重新初始化」重跑 | | 部分 Sheet 没进来 | 状态弹窗里列出无法解析的 Sheet,并逐条给出错误原因和建议 | 按提示改文件后重新上传 | | 「重新选表」点不动 | 数据源状态为同步中 | 等同步结束后再操作 | | 描述改了没保存 | 计数超过 255 并标红 | 精简到 255 字以内 | | 训练数据存不上 | 保存被拒绝:SQL 未通过校验,或表不在元数据里 | 确认 SQL 只读、表名带 schema、表已完成元数据同步 | | 导入后提示有内容被跳过 | 结果页提示导入完成但有项目未找到,并列出被跳过的条目 | 目标数据源里没有同名的库/表/字段,按列出的缺失 Schema、缺失表、缺失字段核对 | | 导入后描述没变 | 文件型数据源的库名形如 file\_abc1 | 文件型数据源的 schema 名是系统生成的,不是文件名;按它核对导入文件里的 schema\_name | ## 下一步 - 表名和字段名要写业务含义:[表与字段备注](https://docs.asktable.com/data/semantics) - 让 AI 忽略或脱敏敏感列:[字段隐藏与脱敏](https://docs.asktable.com/data/hidden-fields) - 用简称也能查到值:[AI 索引](https://docs.asktable.com/data/ai-search) - 再加一个数据源:[连接数据源](https://docs.asktable.com/data/connect) --- 来源:https://docs.asktable.com/data/semantics # 表与字段备注 为表和字段添加业务说明,帮助智能体理解数据含义。 使用指南 · 模块: data · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 表和字段备注用于补充业务含义,包括每条记录代表什么、指标如何计算,以及编码对应的含义。智能体据此选择相关字段和查询条件。 ## 备注怎样改变查询结果 例如,人员表用 `sex` 保存性别,实际约定是 `1` 表示男性、`2` 表示女性。在字段备注里写清这个映射后,问“女性用户有多少”时,智能体就有依据使用 `sex = 2`,而不必猜编码的含义。这里的映射只是示例,应以你们的数据为准。 再如,基金评级列 `star` 存的不是数字,而是 `★★★★`、`★★★★★` 这样的星号文本。备注应写明“星级用星号文本保存”。问“四星及以上的基金”时,条件应该匹配实际文本: ```sql -- 错误:把星号文本当成数字比较 WHERE star >= 4 -- 正确:匹配数据库里实际保存的值 WHERE star IN ('★★★★', '★★★★★') ``` 好的备注不只是把字段名翻译成中文,还要交代单位、编码和实际存储方式,让业务问题能对应到正确的查询条件。 ## 开始前 | 项目 | 要求 | | -- | --------------------------------------- | | 权限 | 项目负责人或项目管理员 | | 前置 | 数据源状态为正常可用(左侧栏出现库/表树) | | 入口 | 左侧主导航 → 「更多」→ 「数据源」→ 点数据源卡片 → 左侧树里选中一张表 | 选中表后,右侧顶部是表名和备注两块,下面有「字段结构」「数据预览」两个页签,默认停在「字段结构」。 ## 操作步骤 **写表描述** 表名右边是表描述的编辑框,标题是备注。 框里为空时,占位文字会说明这是数据库里的默认描述。输入内容后下方出现「保存」,点它写入;写入过程中按钮变成「保存中...」。 **写字段备注** 「字段结构」表有四列:列名、备注、语义类型、隐藏。 备注列显示当前生效的描述,最左边一个图标表示这条描述的来源: | 图标 | 来源 | | ----- | ------------------ | | 数据库图标 | origin,从数据库抓来的原始注释 | | 机器人图标 | ai,AskTable 自动生成 | | 笔图标 | human,人工写的 | 点字段行任意空白处展开详情面板,面板最下方是同一个备注的编辑框,占位文字会提示填写字段描述,或说明这是数据库里的默认描述。改完点「保存」。 备注列标题旁的信息图标提示要准确备注列的含义,以提高准确率。 **用 AI 优化润色** 编辑框右上角有一个星形图标按钮,鼠标悬停显示「自动优化字段描述」(表描述那里是「自动优化表描述」)。点它会调模型把当前内容改写一遍,结果直接回填到编辑框,不满意可以再改。 **设语义类型** 字段行里语义类型列显示当前值。展开详情面板后,同一个位置是语义类型下拉,按六组分类: 「关系」「数值」「地理」「文本」「时间」「实体」。 例如「数量」「货币」「收入」「毛利」在「数值」组,「城市」「国家」「邮编」在「地理」组,「主键」「外键」在「关系」组。选中即保存,不用点确认。 字段行标题旁的信息图标说明这是字段的分析语义(协议同 Metabase),人工设置的值不会被自动推断覆盖。 **批量改,走元数据导出导入** 字段多的时候不必逐个点。点顶栏「设置」,在「元数据」分区点「导出」拿到 JSON,在文本编辑器里批量改 `curr_desc`,再点「导入」把文件传回去。 导入会覆盖字段描述与可见性,训练数据是追加。文件型数据源要留意库名形如 `file_abc1`,那是系统生成的标识符,不是文件名。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | -------- | -------------------------------------- | --------------------- | | 备注长度 | 上限 255 字;超出时计数标红、编辑框边框标红,「保存」不可点 | 编辑框本身 | | 备注优先级 | human(人工)> origin(数据库原始)> ai(自动生成)> 空串 | — | | 语义类型覆盖规则 | 人工设置的值不会被自动推断覆盖;自动分类只填空值 | 字段详情面板的语义类型下拉 | | 语义类型取值范围 | 「关系」「数值」「地理」「文本」「时间」「实体」六组 | — | | 表描述为空 | 表列表里显示暂无表描述 | — | | 字段备注为空 | 编辑框占位显示数据库里的默认描述 | — | | 批量修改 | 覆盖描述与可见性,训练数据追加 | 「设置」→ 「元数据」→「导出」/「导入」 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ----------------- | -------------------------- | ------------------------------------------------------------------- | | 数据库里明明有注释,备注列却是空的 | 备注列没有内容,编辑框里只是数据库默认描述的占位文字 | 数据库注释只作占位,没写进人工备注;补一条人工备注 | | 保存点了没反应 | 字数超过 255,计数和边框标红 | 精简到 255 字以内再点「保存」 | | AI 还是挑错字段 | 展开工具调用,看到它用了别的列名 | 在备注里补单位、口径、枚举含义;必要时设语义类型 | | 备注列图标不是笔 | 图标是数据库图标或机器人图标 | 该值来自数据库或自动生成;人工改一次后会变成笔图标 | | 语义类型下拉里没有想要的值 | 展开下拉,六组里都找不到对应项 | 语义类型不是必填,改用备注写清这个字段的含义 | | 批量导入后没生效 | 结果页提示导入完成但有项目未找到 | 导入文件里的 schema\_name / table\_name / field\_name 与目标数据源不一致,按缺失字段列表核对 | ## 下一步 - 让 AI 彻底忽略某些列,或把敏感值替换掉:[字段隐藏与脱敏](https://docs.asktable.com/data/hidden-fields) - 用简称提问也能命中真实值:[AI 索引](https://docs.asktable.com/data/ai-search) - 维护文件与训练集:[管理数据源、文件与训练集](https://docs.asktable.com/data/manage) - 用一个真实问题验证效果:[对话](https://docs.asktable.com/conversation) --- 来源:https://docs.asktable.com/deploy/advanced # 进阶配置 配置访问子路径、自定义品牌名称和 Logo。 部署说明 · 模块: deploy · 管理人员 · 部署形态:私有部署 · 已确认产品版本:资料未说明 · 来源:现有文档 私有部署默认挂在根路径、用 AskTable 自己的品牌。要把访问地址收进一个子路径(例如 `https://example.com/asktable`),或者换成自己公司的名字和 logo,改的都是主服务这个容器的环境变量和挂载。这些配置面向**已获取商业授权**的私有部署,授权方式见 [商业授权](https://docs.asktable.com/admin/license)。 ## 前置条件 | 项目 | 要求 | | ------ | -------------------------------------------------------------------- | | 授权 | 已激活企业许可证,见 [商业授权](https://docs.asktable.com/admin/license) | | 基础部署 | 已按 [私有部署(Docker)](https://docs.asktable.com/deploy/docker) 跑起来并能正常登录 | | 子路径部署 | 最外层网关能改写路径,或用下面的 Caddy 反代 | | 白标资源 | 准备好 PNG 格式的 logo 与 favicon,放在宿主机上能读到的路径 | | 改动生效方式 | 环境变量和挂载都在容器启动时读取,改完必须 `docker compose up -d` 重建容器 | ## 操作步骤 ### 步骤 1:给主服务加 BASE\_PATH 在 `asktable` 服务的 `environment` 下加一行,值就是要用的路径前缀: ```yaml services: asktable: environment: BASE_PATH: /asktable ``` ### 步骤 2:加一个反代 反代负责把路径前缀剥掉再转给容器。用 Caddy 的话,在 compose 里加这个服务: ```yaml services: caddy: image: caddy:2-alpine container_name: caddy restart: unless-stopped ports: - "8080:80" volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro depends_on: - asktable ``` 同目录下新建 `Caddyfile`: ```text Caddyfile :80 { redir /asktable /asktable/ permanent handle /asktable/* { uri strip_prefix /asktable reverse_proxy asktable:80 } } ``` 改完通过 `http://服务器地址:8080/asktable/` 访问。生产环境一般把最外层网关接在 80/443 上,Caddy 这一层只在内部。 两处的路径前缀必须一致:`BASE_PATH` 和 Caddyfile 里的 `strip_prefix`。对不上会得到空白页或静态资源 404。 ### 步骤 3:改品牌名 在 `asktable` 服务的 `environment` 下设置品牌信息: ```yaml services: asktable: environment: APP_NAME: MyBrand # 界面里的品牌名 APP_TITLE: 我的应用 # 浏览器标签标题 APP_DESCRIPTION: 应用描述 # 页面 meta description ``` ### 步骤 4:换 logo 和 favicon 这两个文件由容器运行时按固定文件名读取,用卷挂载覆盖即可: ```yaml services: asktable: volumes: - ./asktable_data:/asktable - ./mylogo.png:/usr/share/nginx/html/logo.png:ro - ./myfavicon.png:/usr/share/nginx/html/favicon.png:ro ``` `logo.png` 出现在侧边栏、登录页、二维码中心和分享页页头;`favicon.png` 是浏览器标签图标和 apple-touch-icon。 ### 步骤 5:重建容器 ```bash docker compose up -d ``` 品牌信息和访问前缀是在容器启动时写进前端配置的,只重启容器里的进程不会重新生成。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ----------------- | ------------------------------------------------ | ------------------------------------------------------ | | `BASE_PATH` | 默认空,即根路径 | `asktable` 的 `environment`;改了必须重建容器 | | 前缀一致性 | `BASE_PATH` 与反代的 `strip_prefix` 必须相同 | 两处同时改 | | `APP_NAME` | 默认 `AskTable` | `asktable` 的 `environment` | | `APP_NAME` 的连带影响 | 只要它不等于 `AskTable`,界面里的 AskTable 文档入口和「联系我们」会一并隐藏 | 无需额外配置,属预期行为 | | `APP_TITLE` | 默认沿用产品标题 | `asktable` 的 `environment`;留空则不替换 | | `APP_DESCRIPTION` | 默认沿用产品描述 | 同上 | | `logo.png` | 应用内 logo | 挂到 `/usr/share/nginx/html/logo.png` | | `favicon.png` | 浏览器标签图标 | 挂到 `/usr/share/nginx/html/favicon.png` | | 前端错误上报 | `WEB_SENTRY_DSN` 为空时不初始化 | `asktable` 的 `environment`,配套 `WEB_SENTRY_ENVIRONMENT` | | 生效方式 | 环境变量与挂载在容器启动时读取 | `docker compose up -d` 重建容器 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | -------------- | --------------------------------------- | ----------------------------------------------------------- | | 子路径下页面空白 | 浏览器控制台里静态资源 404,请求路径缺了子路径前缀 | 检查 `BASE_PATH` 与 `strip_prefix` 是否一致,改完重建容器 | | 子路径访问 404 | 访问 `/asktable/` 返回 404,但容器本身是 `running` | Caddyfile 里 `reverse_proxy` 的目标要是 `asktable:80`,确认服务名和端口没写错 | | 品牌名还是 AskTable | 页面上显示旧名字 | `APP_NAME` 没生效,多半是没重建容器;`docker compose up -d` 后再看 | | logo 位置出现裂图 | 浏览器里 `logo.png` 返回 403 或 404 | 挂载的宿主机文件不存在时 Docker 会建出同名目录,确认 `./mylogo.png` 是文件而不是目录 | | 换了 logo 但界面没变 | 无痕窗口里仍显示旧图 | 容器侧的挂载路径要正好是 `/usr/share/nginx/html/logo.png`,同时清掉浏览器缓存 | | 文档入口突然消失 | `APP_NAME` 已改成非 `AskTable` | 属预期行为:白标后 AskTable 自有品牌入口会隐藏 | | 改了环境变量没反应 | `docker compose ps` 里容器的创建时间还是改动前的 | 用了 `restart` 而不是重建;改成 `docker compose up -d` | ## 下一步 - [商业授权](https://docs.asktable.com/admin/license) — 许可证层级与激活 - [私有部署(Docker)](https://docs.asktable.com/deploy/docker) — 部署参数与排障表 - [部署消息网关](https://docs.asktable.com/deploy/feishu-gateway) — 白标之后飞书侧的应用名要自己改 - [部署总览](https://docs.asktable.com/deploy/overview) — 可选组件与上线顺序 --- 来源:https://docs.asktable.com/deploy/ai-search # 部署 AI 搜索(值索引) 部署字段值索引服务,使提问中的简称能够匹配实际数据。 部署说明 · 模块: deploy · 管理人员 · 部署形态:私有部署 · 已确认产品版本:资料未说明 · 来源:现有文档 AI 索引由独立的检索服务提供,通过索引字符串字段值,将问题中的简称匹配到实际数据。私有部署需要额外部署该服务,并在主服务中配置地址和密钥。 **不部署 aisearch,这个能力整体不可用**:给字段打开 AI 索引会被拒绝,提示 AI 搜索索引未启用,问数时也不做值匹配。其他功能不受影响。 ## 前置条件 | 项目 | 要求 | | ---- | -------------------------------------------------------------- | | 基础部署 | 已按 [私有部署(Docker)](https://docs.asktable.com/deploy/docker) 跑起来 | | 权限 | 当前项目里能改数据源配置的角色 | | 密钥 | 准备一段至少 16 字节的随机串作为 master key | | 出网 | 不需要。aisearch 自包含、运行期不外呼,适合完全离线或纯内网 | ## 操作步骤 **加 aisearch 服务** 在 `docker-compose.yaml` 里加上这个服务: ```yaml services: # aisearch 搜索引擎:值索引的存储与检索 asktable-aisearch: image: registry.cn-shanghai.aliyuncs.com/dminfra/aisearch:v1.12.8 container_name: asktable-aisearch restart: unless-stopped environment: MEILI_MASTER_KEY: CHANGE_ME_MIN_16_BYTES # 至少 16 字节,务必换成自己的随机串 MEILI_ENV: production # 生产模式:强制鉴权、关闭搜索预览页 MEILI_NO_ANALYTICS: "true" # 关闭遥测上报 volumes: - ./aisearch_data:/meili_data # 索引数据持久化 ``` 它只在 Compose 内部网络里被 `asktable` 访问,不要给它加 `ports`。 **让主服务用上它** 在 `asktable` 服务的 `environment` 里加两个变量,并把新服务写进 `depends_on`: ```yaml services: asktable: depends_on: - asktable-aisearch environment: AISEARCH_HOST: http://asktable-aisearch:7700 AISEARCH_MASTER_KEY: CHANGE_ME_MIN_16_BYTES # 必须与上面 MEILI_MASTER_KEY 一字不差 ``` **重建容器** ```bash docker compose up -d ``` **确认主服务认到了它** ```bash docker compose logs asktable | grep "AI Search Host" ``` 看到 `AI Search Host : http://asktable-aisearch:7700` 说明配好了;显示 `AI Search Host : disabled` 说明两个变量里有一个是空的。 再直接探一下服务本身: ```bash docker compose exec asktable curl -sS -H "Authorization: Bearer CHANGE_ME_MIN_16_BYTES" http://asktable-aisearch:7700/health ``` ## 建立与重建索引 两个变量配好只是让能力可用,索引本身要另外建: - **逐字段开**:左侧主导航 → 「更多」→「数据源」→ 点数据源卡片 → 左侧树选中一张表 → 点字段行展开详情面板 → 左上角 AI 索引开关。开关右侧出现状态图标,绿色对勾表示索引成功,红色叉表示索引失败。 - **整源构建**:数据源页顶栏「设置」→「索引维护」→「构建 Value Index」。触发后后台开始构建,完成后自动生效。 - **补字段向量**:同一分区里的「重建 Embedding」,用于补齐缺失的字段语义向量,和值索引是两件事。 索引由后台任务异步构建,跑在既有的 `asktable-redis` 队列上,不需要再加组件。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | --------------------- | ------------------------------------------- | ----------------------------------- | | `MEILI_MASTER_KEY` | 示例值;`MEILI_ENV: production` 下少于 16 字节服务拒绝启动 | `asktable-aisearch` 的 `environment` | | `AISEARCH_MASTER_KEY` | 必须与 `MEILI_MASTER_KEY` 完全一致 | `asktable` 的 `environment` | | `AISEARCH_HOST` | `http://asktable-aisearch:7700` | 同上 | | 索引数据目录 | `./aisearch_data`(容器内是 `/meili_data`) | `docker-compose.yaml` 的 `volumes` | | 对外端口 | 不暴露 | `asktable-aisearch` 不加 `ports` | | 会建索引的字段 | 字符串类字段;长文本、日期、数字不建 | — | | 单数据源值索引字段数 | 默认 10 个 | 头像 →「系统设置」→「数据源」→ 值索引字段数上限 | | 单字段去重值上限 | 默认 50000 | 同上 → 字段唯一值索引上限 | | 触发方式 | 逐字段开关,或整源「构建 Value Index」 | 数据源 →「设置」→「索引维护」 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | --------------------------- | ---------------------------------------------------------------- | ----------------------------------------------------------- | | 打开 AI 索引开关被拒绝,提示 AI 搜索索引未启用 | `docker compose logs asktable` 里是 `AI Search Host : disabled` | `AISEARCH_HOST` 或 `AISEARCH_MASTER_KEY` 有一个是空的,补齐后重建容器 | | 主服务认到了地址,功能仍不可用 | 用密钥探 `/health` 返回鉴权失败 | 两个密钥不一致,把 `AISEARCH_MASTER_KEY` 改成与 `MEILI_MASTER_KEY` 一字不差 | | aisearch 容器反复重启 | `docker compose logs asktable-aisearch` 报密钥长度不足 | 把密钥加长到 16 字节以上 | | 重启后索引全没了 | `docker compose ps` 里 `asktable-aisearch` 没有挂载 `./aisearch_data` | 补上卷挂载;`docker compose down -v` 会连卷一起删,生产环境不要用 | | 开关打开后是红叉 | 字段详情里「AI 索引详情」面板的状态显示为失败,底部给出被拒原因 | 按原因换字段:去重数量超限就换基数更小的列,平均长度超限就换短文本列 | | 整源构建按钮是灰的 | 数据源状态不是正常可用 | 等元数据同步结束,或先处理同步失败 | | 建完等不到生效 | 已提示开始构建,但详情里的数据没变 | 构建是后台任务,等它跑完;页面会自动刷新状态 | ## 下一步 - [AI 索引](https://docs.asktable.com/data/ai-search) — 这个能力怎么用、字段怎么挑 - [私有部署(Docker)](https://docs.asktable.com/deploy/docker) — 部署主服务与排障表 - [部署消息网关](https://docs.asktable.com/deploy/feishu-gateway) — 让团队在飞书私聊和群里问数 - [部署总览](https://docs.asktable.com/deploy/overview) — 可选组件与上线顺序 --- 来源:https://docs.asktable.com/deploy/authentication # 部署认证配置 通过静态环境变量配置 Google、GitHub、微信、邮箱登录、SMTP 和 SMS。 部署说明 · 模块: deploy · 管理人员 · 部署形态:Cloud / 私有部署 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 Google、GitHub、微信、邮箱登录、SMTP 与 SMS 属于整个 AskTable 实例,只从环境变量读取。修改后需要重启 Web 和 Worker;系统设置中不再提供这些认证配置。 ## 部署模式与 Region `AT_REGION` 默认是 `cn`,也可设置为 `global`。私有部署(`AT_DEPLOY_MODE=local`)始终使用邮箱作为账号标识,不因 Region 改变。国内 Cloud 使用手机号,海外 Cloud 使用邮箱。部署后应固定 Region;变更需要先规划身份数据迁移。 使用 Docker Compose 时,将下方配置合并到原有 `asktable.environment` 中。修改环境变量后执行 `docker compose up -d asktable`,让容器按新配置重建;单纯重启容器不会读取修改后的 Compose 环境变量。Web、Worker 分开运行时,两者都要更新并重启。 ## OAuth 提供商 | 提供商 | 环境变量 | | ------ | ----------------------------------------- | | Google | `GOOGLE_CLIENT_ID`、`GOOGLE_CLIENT_SECRET` | | GitHub | `GITHUB_CLIENT_ID`、`GITHUB_CLIENT_SECRET` | | 微信 | `WECHAT_APP_ID`、`WECHAT_APP_SECRET` | 每组 ID 和 Secret 必须同时设置。整组留空会禁用该提供商,只填一项会让应用在启动时失败并指出不完整配置。 ```yaml docker-compose.yaml services: asktable: environment: GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:-} GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:-} GITHUB_CLIENT_ID: ${GITHUB_CLIENT_ID:-} GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET:-} WECHAT_APP_ID: ${WECHAT_APP_ID:-} WECHAT_APP_SECRET: ${WECHAT_APP_SECRET:-} SMS_API_URL: ${SMS_API_URL:-} SMS_API_KEY: ${SMS_API_KEY:-} ``` `GET /system/info` 只返回启用状态和非敏感 Client ID,不返回 Secret,也不包含任何组织级企业微信/WPS/飞书/钉钉配置。 ## 国内云 Cloud + CN 生产的统一登录页只提供微信;组织专属的企业微信/WPS/飞书/钉钉登录地址仍可使用。微信、企业微信、WPS、飞书或钉钉认证成功后先建立正常会话;缺少手机号时,统一 setup 页面会要求完成验证后才能进入产品工作区。启动时必须同时配置 `WECHAT_APP_ID`、`WECHAT_APP_SECRET`、`SMS_API_URL` 和 `SMS_API_KEY`;任一缺失都会让进程明确报错并停止。 ## 邮箱登录与 SMTP ```yaml docker-compose.yaml services: asktable: environment: EMAIL_LOGIN_ENABLED: "true" EMAIL_SMTP_PROVIDER: aliyun # aliyun | custom EMAIL_SMTP_HOST: "" # custom 时必填 EMAIL_SMTP_PORT: "465" EMAIL_SMTP_USERNAME: "" EMAIL_SMTP_PASSWORD: ${EMAIL_SMTP_PASSWORD:-} EMAIL_SMTP_USE_SSL: "true" EMAIL_SENDER_ADDRESS: noreply@example.com ``` `aliyun` 使用固定的阿里云邮件推送主机和 SSL 端口,发件地址同时作为用户名;`custom` 使用给定的 Host、Port 与 SSL 选项,Username 留空时回退到发件地址。SMTP 未完整配置时,依赖邮件发送的任务会跳过邮件投递。 **Note** 私有部署和海外 Cloud 中,若 Google、GitHub、微信全部未启用,即使 `EMAIL_LOGIN_ENABLED=false`,系统也会保留邮箱登录兜底,避免部署完全没有登录入口。组织级企业微信/WPS/飞书/钉钉不参与这个判断。 企业微信、WPS、飞书和钉钉请由组织 Owner/Admin 在登录集成中连接,参见 [企业集成登录](https://docs.asktable.com/organization/enterprise-login)。旧版本升级要求见 [迁移](https://docs.asktable.com/deploy/migration)。 --- 来源:https://docs.asktable.com/deploy/docker # 私有部署(Docker) 在自己的服务器上部署 AskTable,完成初始化和访问验证。 部署说明 · 模块: deploy · 管理人员 · 部署形态:私有部署 · 已确认产品版本:资料未说明 · 来源:现有文档 私有部署把 AskTable 的主服务、PostgreSQL、Redis 和 Python 沙箱跑在自己的服务器上。只有主服务对宿主机开端口,其余服务通过 Compose 内部网络通信。 服务器能访问镜像仓库时,选择**网络部署**;完全内网隔离时,选择**离线部署**,在外网下载离线包和安装脚本,再拷入内网安装。 ## 前置条件 | 项目 | 要求 | | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 架构 | Linux x86\_64(amd64)或 ARM64(arm64);离线包必须与目标服务器的 Docker 架构匹配 | | 最低配置 | 4 核 CPU、16G 内存、100G 磁盘 | | 操作系统 | Linux 服务器 | | Docker | [Docker Engine](https://docs.docker.com/engine/install/) + [Docker Compose](https://docs.docker.com/compose/install/) **v2.23.1 或更高**。compose 里的 `configs.content`(内联建库 SQL)从这个版本才有,低版本解析直接失败 | | 模型服务 | 准备可访问的模型服务;完全内网隔离时,使用内网模型服务 | | 端口 | 宿主机 8000 空闲(容器内监听 80) | ## 操作步骤 **网络部署** 网络部署需要通过 HTTPS(443)访问镜像仓库;模型与追踪服务按实际使用情况放行: | 地址 | 用途 | 不放开的表现 | | ------------------------------------- | --------------------- | --------------------------- | | `registry.cn-shanghai.aliyuncs.com` | 拉取全部镜像 | `docker compose pull` 卡住后超时 | | `dockerauth.cn-hangzhou.aliyuncs.com` | 阿里云镜像仓库鉴权 | `docker login` 报鉴权失败,拉不到镜像 | | `aiproxy.asktable.com` | 用 AskTable 托管算力时的模型服务 | 向导里填完算力 API Key 后点「测试模型」不通过 | | `lf.asktable.com` | 调用追踪(Langfuse) | 对话功能正常,服务日志里追踪上报报错 | **保存 docker-compose.yaml** 在服务器上新建一个目录(例如 `/opt/asktable`),把本页签下方“docker-compose.yaml”一节的内容原样存成该目录下的 `docker-compose.yaml`。 端口和卷路径都别改:端口决定访问地址,卷路径决定数据落在宿主机的哪个目录。 **启动** 在 `docker-compose.yaml` 所在目录执行: ```bash docker compose up -d ``` `asktable` 容器启动时会先跑一遍数据库结构迁移(`syncdb`),再拉起 API、nginx、后台任务进程和内置 MCP 服务。首次启动会自动建 `asktable` 和 `asktable_workbook` 两个库。 ### docker-compose.yaml 四个服务的作用写在行内注释里。后端服务之间通过 Compose 内部网络通信,只有 `asktable` 对外暴露端口。 ```yaml docker-compose.yaml download="docker-compose.yaml" downloadLabel="下载" services: # 主服务:后端 API + 前端 + 内置 MCP(对外暴露的唯一服务) asktable: image: registry.cn-shanghai.aliyuncs.com/datamini/asktable-all-in-one:latest # 中国大陆;海外用 datamini/asktable-all-in-one:latest container_name: asktable depends_on: - asktable-pg - asktable-redis - asktable-atbox ports: - "8000:80" privileged: true environment: TZ: Asia/Shanghai AT_REGION: cn # cn 或 global;部署后保持不变 DATABASE_HOST: asktable-pg DATABASE_PORT: 5432 DATABASE_USER: asktable DATABASE_PASSWORD: asktable # 【建议修改】 DATABASE_DB: asktable REDIS_URL: redis://asktable-redis:6379 ATBOX_URL: http://asktable-atbox:5300 # Workbook 独立数据库:同实例同角色,独立 database(PG 无跨库查询 → 硬隔离) WORKBOOK_PG_DSN: postgresql://asktable:asktable@asktable-pg:5432/asktable_workbook volumes: - ./asktable_data:/asktable # PostgreSQL 17(pgvector):主数据库(元数据、配置、字段向量) asktable-pg: image: registry.cn-shanghai.aliyuncs.com/dminfra/pgvector:pg17 container_name: asktable-pg restart: unless-stopped command: ["postgres", "-c", "max_connections=100"] environment: POSTGRES_USER: asktable POSTGRES_PASSWORD: asktable # 【建议修改】与 DATABASE_PASSWORD 保持一致 POSTGRES_DB: asktable volumes: - ./postgres_data:/var/lib/postgresql/data configs: # 仅在数据卷为空的全新部署首次执行一次,建 workbook 独立库 - source: workbook-initdb target: /docker-entrypoint-initdb.d/01-create-workbook-db.sql # Redis 7.4:任务队列 asktable-redis: image: registry.cn-shanghai.aliyuncs.com/dminfra/redis:7.4.4 container_name: asktable-redis restart: unless-stopped command: redis-server --appendonly yes volumes: - ./redis_data:/data # Python 沙箱:隔离执行智能体生成的不可信 Python。 # 下面标「安全」的是沙箱本体,请勿删改;标「可调」的资源上限可按机器调整。 asktable-atbox: image: registry.cn-shanghai.aliyuncs.com/datamini/asktable-atbox:latest # 中国大陆;海外用 datamini/asktable-atbox:latest container_name: asktable-atbox restart: unless-stopped environment: TZ: Asia/Shanghai ATBOX_MAX_WORKERS: 8 # 可调:并发 worker 数 ATBOX_DEFAULT_TIMEOUT: 30s # 可调:默认执行超时 ATBOX_MAX_TIMEOUT: 120s # 可调:最大执行超时 ATBOX_ENABLE_NETWORK: "0" # 安全:沙箱内禁用网络 # 安全:只读 rootfs + 临时可写区(/var/atbox/root/tmp 是 chroot 工作目录),两者配套,勿删 read_only: true tmpfs: - /var/atbox/root/tmp:rw,noexec,nosuid,nodev,mode=1777,size=512m - /tmp:rw,noexec,nosuid,nodev,mode=1777,size=64m # 安全:丢弃全部 capability,只加回 chroot + 降 UID 所需的最小集,勿改 cap_drop: - ALL cap_add: - CHOWN - DAC_OVERRIDE - SETUID - SETGID - SYS_CHROOT security_opt: - no-new-privileges:true # 安全:禁止提权 pids_limit: 128 # 可调:进程数上限(防 fork 炸弹) mem_limit: 1g # 可调:内存上限 cpus: 1.0 # 可调:CPU 上限 configs: # 内联建库 SQL,需 Docker Compose v2.23.1+(configs.content 支持) workbook-initdb: content: | CREATE DATABASE asktable_workbook; ``` **Warning** 生产部署前务必改掉标了 **【建议修改】** 的默认密钥:`DATABASE_PASSWORD`、`POSTGRES_PASSWORD` 与 `WORKBOOK_PG_DSN` 中的密码必须一致。 **离线部署** 适用于目标服务器不能连接公网的环境。离线包包含运行 AskTable 所需的镜像与 Compose 配置,**不包含 Docker 安装包或大模型权重**。请提前在内网服务器安装 Docker / Compose,并准备可从 AskTable 容器访问的内网模型服务。 **确认目标服务器架构** 在内网服务器上执行: ```bash docker info --format '{{.Architecture}}' docker compose version ``` `x86_64` 或 `amd64` 选择 AMD64 包;`aarch64` 或 `arm64` 选择 ARM64 包。安装脚本也支持 `docker-compose` 命令,版本同样需要 **2.23.1 或更高**。 **在外网下载离线包与安装脚本** 在能联网的电脑上,下载**一个匹配目标服务器架构的离线包**,以及安装脚本: | 文件 | 下载 | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | Linux AMD64 离线包 | [asktable-offline-linux-amd64.tar.gz](https://datamini-release.oss-cn-shanghai.aliyuncs.com/asktable/offline/asktable-offline-linux-amd64.tar.gz) | | Linux ARM64 离线包 | [asktable-offline-linux-arm64.tar.gz](https://datamini-release.oss-cn-shanghai.aliyuncs.com/asktable/offline/asktable-offline-linux-arm64.tar.gz) | | 安装脚本 | [install-asktable.sh](https://datamini-release.oss-cn-shanghai.aliyuncs.com/asktable/offline/install-asktable.sh) | 脚本会校验压缩包,请不要改名,也不要手动解压。 **拷入内网服务器** 将压缩包和 `install-asktable.sh` 放在服务器上的**同一个可写目录**,例如 `/opt/asktable-offline`。该目录用于存放安装文件,与部署目录 `/opt/asktable` 分开。 安装过程中会在包旁解压镜像,再导入 Docker。安装文件所在磁盘要留出解压空间,Docker 数据目录所在磁盘也要留出镜像空间;此外还要保留业务数据增长空间。 下方命令使用 `sudo`:执行账号需要管理 Docker,并能写入安装文件目录和部署目录。首次安装的部署目录必须为空或不存在;已有部署请先看本页“升级”。 **安装并启动** 在安装脚本和离线包同一目录执行: ```bash sudo sh install-asktable.sh ``` 脚本会导入本地镜像,首次安装时写入包内的 Compose 配置,并启动服务,安装过程无需拉取公网镜像。 安装命令完成后,继续下方的初始化和访问验证,确认页面与模型调用均正常。 ## 完成初始化向导 网络部署与离线部署首次安装都从 `http://<服务器地址>:8000/` 访问。数据库里还没有用户时,会进入 `/setup` 初始化向导,依次完成「创建管理员」「配置模型」。已有部署升级后沿用原访问地址和账号。 1. **创建管理员和组织**:填写组织名称、管理员邮箱、密码和确认密码,按页面密码要求提交。该账号创建为系统管理员,并建立默认组织。 2. **配置模型**:联网环境可选「AskTable 官方 API 渠道」并填算力 API Key;完全内网隔离时,选「自定义渠道」,填写内网模型服务的 Base URL、API Key 和模型名称,点「完成配置」。配置说明见 [配置大模型](https://docs.asktable.com/admin/models)。 3. **验证使用**:用刚创建的管理员账号登录,按后续引导完成项目创建,确认控制台能打开、模型测试通过,再连接一组数据完成一次提问。容器启动成功并不等于模型或业务已经可用。 **Note** 要让团队在飞书或 Slack 中问数,还需要额外加一个网关容器,见 [部署消息网关](https://docs.asktable.com/deploy/feishu-gateway)。 ## 访问地址 | 入口 | 地址 | | ------------------ | ---------------------------------- | | 控制台 | `http://<服务器>:8000/` | | API 文档(ReDoc) | `http://<服务器>:8000/api/v1/redoc` | | API 文档(Swagger UI) | `http://<服务器>:8000/api/v1/docs` | | 当前版本(JSON) | `http://<服务器>:8000/api/v1/version` | | MCP 服务 | `http://<服务器>:8000/mcp/` | ## 启用 Workbook Workbook 用于在 AskTable 内创建和编辑表格,数据存放在独立的 PostgreSQL database 中。`WORKBOOK_PG_DSN` 决定连接哪个库,不能指向 AskTable 主数据库。 本页完整 Compose 已配置 `WORKBOOK_PG_DSN`,并在 PostgreSQL **空数据卷首次初始化**时创建 `asktable_workbook`。全新部署无需重复建库;复用已有数据卷时,初始化 SQL 不会再次执行,仅更新 Compose 不会补建这个库。 已有部署按以下步骤检查和补齐: 1. 确认 PostgreSQL 中已存在独立的 Workbook 数据库。若使用本页的服务名和数据库账号,且尚未建库,在部署目录执行一次: ```bash docker compose exec asktable-pg psql -U asktable -d asktable -c "CREATE DATABASE asktable_workbook;" ``` 使用外部 PostgreSQL 或自定义账号时,由数据库管理员创建独立库,并让 Workbook 连接账号有权连接及创建 schema、表和读写数据。 2. 在 `asktable` 服务的 `environment` 中确认 `WORKBOOK_PG_DSN` 指向该独立库。以下为格式示意,用户名、密码、地址和库名均需替换为实际值: ```text postgresql://<用户名>:<密码>@<数据库主机>:5432/ ``` 使用本页 Compose 时,数据库主机是容器网络中的 `asktable-pg`,不是 `localhost`;密码必须与实际数据库账号一致。显式设置 `WORKBOOK_PG_DSN` 为空字符串会停用 Workbook。 3. 配置调整后执行 `docker compose up -d asktable`,让主服务应用配置。登录后实际创建一个 Workbook、录入数据并查询,确认可用。 界面显示“已配置”只说明 DSN 非空,不代表数据库连接成功。若提示 Workbook 不可用,查看 `docker compose logs asktable` 中的连接错误,核对库是否存在、账号密码和网络是否可达;无需删除已有数据卷。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | --------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | | 对外暴露的端口 | 只有 `asktable` 的 `8000:80`;`asktable-pg`、`asktable-redis`、`asktable-atbox` 都不映射宿主机端口 | `docker-compose.yaml` 的 `ports` | | 数据库密码 | 示例值 `asktable` | `DATABASE_PASSWORD`、`POSTGRES_PASSWORD` 与 `WORKBOOK_PG_DSN` 中的密码,三处保持一致 | | 沙箱鉴权 | 不做 API Key,只认内网来源 | 因此 `asktable-atbox` 不要加 `ports` | | 沙箱网络 | `ATBOX_ENABLE_NETWORK: "0"`,沙箱内禁用网络 | `asktable-atbox` 的 `environment` | | 沙箱并发与超时 | `ATBOX_MAX_WORKERS: 8`、`ATBOX_DEFAULT_TIMEOUT: 30s`、`ATBOX_MAX_TIMEOUT: 120s` | 同上 | | 容器时区 | 网络部署示例和离线包的主服务与沙箱均设为 `Asia/Shanghai` | 对应服务的 `environment` 中设置 `TZ` | | 部署 Region | 默认 `cn`,可设 `global`;私有部署始终以邮箱为账号标识 | `AT_REGION`,部署后固定,后续变更需迁移身份数据 | | PostgreSQL 连接上限 | 示例为 100;默认应用保守峰值 51 | `asktable-pg.command`;扩容前见[运维与容量规划](https://docs.asktable.com/deploy/operations) | | 后台任务进程数 | 1 | `asktable` 的 `environment` 加 `AT_WORKER_NUM_PROCS` | | 数据落盘位置 | `./asktable_data`(上传文件在 `filestore/`、日志在 `log/`、向量模型缓存在 `models/`)、`./postgres_data`、`./redis_data` | `docker-compose.yaml` 的 `volumes` | | Workbook 独立库 | `asktable_workbook`,与主库同实例同角色、独立 database | `WORKBOOK_PG_DSN` 与内联建库 SQL | | 镜像标签 | `:latest` | 要能按版本回滚就写死版本号,发版同时推 `{version}` 和 `latest` | | 管理员入口 | 第一个用户由 `/setup` 向导创建,之后的用户从「系统设置」→「用户注册」控制 | 头像 →「系统设置」→「用户注册」 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | --------------------------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | | 浏览器打不开 | `docker compose ps` 里 `asktable` 不是 `running` | 看 `docker compose logs asktable` 开头的初始化日志 | | 页面能开但接口全 502 | `curl -sS http://127.0.0.1:8000/api/v1/version` 不返回 JSON | 容器内 API 进程没起来,看 `docker compose logs asktable` | | 后端连不上数据库 | 日志里是数据库认证失败,且 `DATABASE_PASSWORD` 与 `POSTGRES_PASSWORD` 不同 | 两处改成同一个值,再 `docker compose up -d` 重建容器 | | `docker compose up` 起不来 | 报错里出现 `port is already allocated` | 停掉占用 8000 的进程,或把 `ports` 改成 `"18000:80"` 后从新端口访问 | | 日志出现 `collation version mismatch` | 换过 PostgreSQL 镜像且复用了旧 `postgres_data` | 按 [版本升级与迁移](https://docs.asktable.com/deploy/migration) 先重建索引再刷新版本号 | | 反复出现 `DATABASE_BUSY` | 日志显示等待连接超时或 PostgreSQL 连接耗尽 | 先检查数据库余量和后台并发,按[运维与容量规划](https://docs.asktable.com/deploy/operations)处理 | | 工作簿相关操作报错 | 页面提示 Workbook 不可用,或 `docker compose logs asktable` 出现 `Workbook PG connection failed` | 按[启用 Workbook](https://docs.asktable.com/deploy/docker#%E5%90%AF%E7%94%A8-workbook)检查独立数据库、连接配置及权限 | | 拉不到镜像 | `docker compose pull` 报 TLS 超时或鉴权失败 | 网络部署按对应页签的地址表放行;隔离环境使用离线包安装 | | 向导进不去 | 打开首页直接到登录页,没有 `/setup` | 库里已经有用户了,用管理员账号登录;忘记密码走登录页的找回流程 | ## 升级 两种方式升级前都应备份数据库和业务数据,并阅读 [版本升级与迁移](https://docs.asktable.com/deploy/migration)。 **网络部署**:在部署目录执行: ```bash docker compose pull docker compose down docker compose up -d ``` 网络部署示例使用 `:latest`,`pull` 会拉到当前最新版;要升到指定版本,把 `image` 的 `:latest` 换成具体版本号。 **离线部署**:在外网重新下载同次发布的脚本与对应架构的包,拷入内网。按上方离线步骤先执行 `--dry-run`,再去掉该参数安装;`--dir` 必须指向原部署目录。脚本会识别已有部署,按计划更新镜像,保留原有端口、卷和其他配置,无需执行 `docker compose pull`。 脚本生成的恢复记录只用于恢复本机升级前的配置和本地镜像标签,**不包含数据库与业务数据备份**。升级后仍需检查容器日志、原访问地址和一次实际查询;数据库迁移与数据恢复按迁移文档处理。 ## 卸载 ```bash docker compose down rm -rf asktable_data postgres_data redis_data ``` **Warning** 删数据卷会清空所有数据,不可恢复。执行前先备份。 ## 阿里云计算巢部署 通过[阿里云市场](https://market.aliyun.com/detail/cmgj00073069.html)购买的实例使用计算巢自动部署。按订单与计算巢服务实例中的流程完成部署,然后从实例提供的访问地址打开 AskTable,完成初始化及模型配置。需要激活企业许可证时,按[商业授权](https://docs.asktable.com/admin/license)操作。 ## 下一步 - [部署认证配置](https://docs.asktable.com/deploy/authentication) — 登录方式、SMTP 与 SMS 环境变量 - [运维与容量规划](https://docs.asktable.com/deploy/operations) — 数据库连接池与后台并发 - [配置大模型](https://docs.asktable.com/admin/models) — 接入自己的或托管的模型 - [版本升级与迁移](https://docs.asktable.com/deploy/migration) — 升级、回滚和跨版本手动操作 - [部署 AI 搜索(值索引)](https://docs.asktable.com/deploy/ai-search) — 让简称也能命中完整值 - [部署消息网关](https://docs.asktable.com/deploy/feishu-gateway) — 让团队在飞书私聊和群里问数 - [进阶配置](https://docs.asktable.com/deploy/advanced) — 子路径部署与白标定制 - [连接数据源](https://docs.asktable.com/data/connect) — 把数据接进来 --- 来源:https://docs.asktable.com/deploy/feishu-gateway # 部署消息网关 部署飞书与 Slack 共用的消息网关,检查实例心跳、频道连接和实际回复。 部署说明 · 模块: deploy · 管理人员 · 部署形态:私有部署 · 已确认产品版本:资料未说明 · 来源:现有文档 消息网关维持飞书和 Slack 的平台连接,并在平台与 AskTable 后端之间转换消息。镜像与服务名仍使用 `asktable-feishu-gateway`,实际由同一个服务承载两个平台。它不包含智能体逻辑,通过 Redis 与主服务通信;私有部署需要单独添加,未使用消息频道时无需部署。 主服务与网关必须使用配套发布的版本。频道协议更新时,两者要同时升级,不能仅更新其中一个。 ## 前置条件 | 项目 | 要求 | | ---- | ----------------------------------------------------------------------------------- | | 基础部署 | 已按 [私有部署(Docker)](https://docs.asktable.com/deploy/docker) 跑起来,`asktable-redis` 在运行 | | 平台应用 | 飞书准备 App ID、App Secret,并启用长连接与接收消息事件;Slack 准备 Bot Token、App Token,并启用 Socket Mode | | 数据 | 项目里已有可用的数据源和数据智能体 | | 授权范围 | 已确认这个智能体可以向哪些成员或部门开放 | 平台应用的创建、权限申请与发布步骤见[接入飞书机器人](https://docs.asktable.com/integrations/feishu)或[接入 Slack 机器人](https://docs.asktable.com/integrations/slack)。 ## 操作步骤 **加网关服务** 在 `docker-compose.yaml` 里加上这个服务: ```yaml services: # 消息网关:飞书与 Slack 共用 asktable-feishu-gateway: image: registry.cn-shanghai.aliyuncs.com/datamini/asktable-feishu-gateway:latest container_name: asktable-feishu-gateway restart: unless-stopped depends_on: - asktable-redis environment: REDIS_URL: redis://asktable-redis:6379 ``` 它和主服务共用同一个 `asktable-redis`,不要给它加 `ports`。 **启动** ```bash docker compose up -d asktable-feishu-gateway ``` **确认网关心跳写进了 Redis** ```bash docker compose exec asktable-redis redis-cli hgetall at:channel:health ``` 出现 `gateway:<实例 ID>` 字段,且值里的 `status` 为 `ok`、时间戳持续更新,说明网关进程正在上报心跳。心跳每 30 秒更新一次,服务端不采用超过 75 秒的心跳;Redis 中留下旧字段也不能证明实例仍在线。它不能证明具体频道已连接。 **选择平台并配置频道** 打开目标数据智能体 →「频道」→「平台」,选择飞书或 Slack。首次配置需要填写对应凭证并保存,成功后才启用;取消会保留原平台。 | 平台 | 凭证 | | ----- | ----------------------------------------------------------- | | 飞书 | App ID、App Secret 必填;Encrypt Key、Verification Token 按应用配置选填 | | Slack | Bot Token(`xoxb-`)和 App Token(`xapp-`)必填 | 查看「连接状态」,再发送测试问题。状态每 5 秒刷新;「最近消息」的「详情」分别显示处理与回复投递结果。 **用真实问题验证** 由一个在授权范围内的成员私聊机器人提问,再把机器人加入测试群或频道并 `@` 提问。确认有正确回复,且结果符合该成员的数据权限。实例心跳、连接成功、分析完成和回复投递成功需要分别判断。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ----------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------ | | 通信方式 | 只走 Redis,网关不监听宿主机端口 | `asktable-feishu-gateway` 不加 `ports` | | `REDIS_URL` | `redis://asktable-redis:6379`,必须和主服务一致 | 网关的 `environment` | | 实例心跳 | 每 30 秒向 `at:channel:health` 写入 `gateway:<实例 ID>` | 只用于判断网关实例是否活跃 | | 单频道状态 | `<平台>:channel:<频道 ID>:<实例 ID>`,需对应实例心跳有效且配置版本匹配 | 智能体 →「频道」→「连接状态」 | | 频道凭证 | 存在 AskTable 后端,由后端通过 Redis 推给网关;网关环境变量里不放 App ID | 智能体 →「频道」→「凭证配置」 | | 渠道偏好 | 默认空,最多 1024 个字符 | 智能体 →「频道」→「通用配置」 | | 深度推理 | 默认关闭,即用快速模式 | 智能体 →「频道」→「通用配置」 | | 会话延续 | 私聊和顶层问答按同一人复用,连续 24 小时没有新消息后重建;话题会话不按该窗口过期 | 同一话题只接受最初提问者,群内追问仍需 `@` | | 镜像版本 | 示例使用 `latest`;正式部署使用与主服务配套的网关镜像 | `docker-compose.yaml` 的 `image`,主服务和网关同步升级 | | 与定时报告的关系 | 频道是“用户提问、机器人回答”的双向对话;定时推送是另一套,见 [定时分析报告](https://docs.asktable.com/integrations/scheduled-reports) | — | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------- | | 实例心跳没有更新 | `gateway:<实例 ID>` 不存在或时间戳停止更新 | 检查容器状态、网关日志和 Redis 连通性;旧字段残留不代表网关仍在线 | | 心跳正常但频道未连接 | 该平台没有生效,或单频道状态缺失、凭证无效 | 在智能体「频道」检查当前平台、连接说明与凭据;心跳正常不等于频道已连接 | | 网关启动即退出 | 日志显示 Redis 连接被拒 | 核对 `REDIS_URL`,确认 `asktable-redis` 正常运行 | | 已连接但最近消息没更新 | 平台没有投递本次问题 | 核对事件订阅、应用发布、机器人是否在群内或频道内,以及问题是否 `@`;先用私聊测试 | | 消息处理失败 | 「最近消息」→「详情」中的处理状态失败 | 核对数据源和人员授权,再按具体错误查看主服务日志 | | 回复投递失败 | 分析已完成,但回复状态失败 | 核对机器人发送权限和目标位置;查看网关日志里的平台错误 | | 用户提问被拒绝或进入待审批 | 白名单开启,人员绑定或智能体授权缺失 | 按[飞书用户权限](https://docs.asktable.com/permissions/feishu)或 [Slack 指南](https://docs.asktable.com/integrations/slack)处理 | | 停用后收不到新消息 | 当前平台选择「不启用」 | 重新选择已配置的平台;停用保留凭证和配置 | ## 下一步 - [接入飞书机器人](https://docs.asktable.com/integrations/feishu) — 飞书应用的创建、权限与发布 - [接入 Slack 机器人](https://docs.asktable.com/integrations/slack) — Socket Mode 应用与人员授权 - [设置数据访问范围](https://docs.asktable.com/permissions) — 人员、角色与智能体白名单 - [部署 AI 搜索(值索引)](https://docs.asktable.com/deploy/ai-search) — 让飞书里的简称提问也能命中完整值 - [私有部署(Docker)](https://docs.asktable.com/deploy/docker) — 主服务部署与排障表 --- 来源:https://docs.asktable.com/deploy/migration # 版本升级与迁移 备份数据、升级版本,并完成相应的迁移步骤。 部署说明 · 模块: deploy · 管理人员 · 部署形态:Cloud / 私有部署 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 常规升级通过更新镜像完成。跨越特定版本时,还需要迁移向量数据或调整文本排序规则。升级前应备份数据,并核对对应版本的迁移要求。 ## 前置条件 | 项目 | 要求 | | ------ | --------------------------------------------------- | | 已知当前版本 | 左下角头像 →「系统设置」→ 左侧「关于」→ 系统版本 | | 已定目标版本 | 交付 compose 用 `:latest`,要升到指定版本得把 `image` 标签写死成具体版本号 | | 停服窗口 | 升级过程中服务不可用 | | 已做备份 | 见下 | **先停止应用写入再备份**,这是能恢复到升级前状态的前提。下面按本页 Compose 服务名操作,保留 PostgreSQL 运行以完成备份: ```bash docker compose stop asktable docker compose exec -T asktable-pg pg_dump -U asktable -d asktable -Fc > backup-asktable.dump tar -czf backup-asktable-data.tar.gz asktable_data ``` 启用了工作簿,还需单独备份,并使用不同文件名: ```bash docker compose exec -T asktable-pg pg_dump -U asktable -d asktable_workbook -Fc > backup-asktable-workbook.dump ``` 同时记录原镜像版本并妥善保存部署配置。确认备份可读取、已在副本验证恢复;不要把运行中的 PostgreSQL 数据目录复制当成数据库备份。升级要求应在启动新版本前完成。 ## 操作步骤 **确认跨版本要求** 先阅读下面与你升级区间对应的章节,完成环境变量和数据库镜像等准备,再启动目标版本。 **拉新镜像** ```bash docker compose pull ``` **停服务并重建** ```bash docker compose down docker compose up -d ``` 容器启动时会先跑一遍数据库结构迁移,不需要手动执行 SQL。 **确认版本和迁移结果** 左下角头像 →「系统设置」→ 左侧「关于」→ 系统版本应显示目标版本;`docker compose logs asktable` 里不应出现迁移报错。 **完成业务验收** 按对应迁移章节检查登录、项目权限、历史内容和一次实际查询,再结束维护窗口。 ## 升级到 Organization 版本 本节适用于从尚未引入组织的版本升级。**私有部署**会把现有有效用户和项目归入一个默认组织,由最早创建的系统管理员担任组织 Owner,其他用户成为 Member。公开和私密项目迁入组织范围;普通有效项目的 ID、API Key、对话和画卷继续保留。 **Warning** 迁移会清理没有有效负责人的项目及其关联资源、孤立的成员关系等无效历史数据,并删除旧的全局认证配置键。这些清理不能靠换回旧镜像恢复。升级前必须备份数据库和业务文件,并在备份副本上检查迁移结果。 **检查管理员、项目负责人和备份** 确认旧实例至少有一名系统管理员,并核对现有项目都有有效负责人。已有用户却没有系统管理员时,私有部署迁移会停止,不会随意选择组织 Owner。请先在旧版本恢复正确的管理身份。 按本页备份步骤停止应用写入,备份主库、启用的工作簿库和 `asktable_data`,记录原镜像版本。无负责人项目会被迁移清理;需要保留时,应在升级前修复负责人关系。 **固定部署模式和 Region** 私有部署保持 `AT_DEPLOY_MODE=local`,并在主服务环境中明确设置 `AT_REGION: cn` 或 `AT_REGION: global`。Region 默认为 cn,后续改变需要身份数据迁移;Local 始终以邮箱作为账号标识。 **迁移登录和邮件配置** 将旧版本仍需使用的 Google、GitHub、微信、邮箱登录、SMTP 与 SMS 配置转为环境变量。OAuth 的 ID/Secret、SMS 的 URL/Key 分别成对填写,见[部署认证配置](https://docs.asktable.com/deploy/authentication)。旧的数据库认证配置键和强制手机号开关不再作为配置来源。 Local 原有企业微信/WPS 集成会迁入默认组织。已有企业配置不完整时迁移会报错,请先补齐原配置并保留备份。升级后由组织 Owner/Admin 在 **个人资料 → 组织 → 企业集成** 管理。 **启动目标版本** 确认镜像标签与环境配置后,网络部署拉取目标镜像并启动;离线部署使用同次发布的安装脚本和离线包,见[私有部署(Docker)](https://docs.asktable.com/deploy/docker)。 ```bash docker compose pull docker compose up -d docker compose logs --since=10m asktable ``` 应用启动前会执行数据库迁移。失败时先保存错误日志并定位原因,不要跳过迁移直接开放服务。 **验收组织和登录** 用原管理员登录,确认默认组织、成员和项目归属。新装实例在初始化时填写组织名称,升级实例可在组织设置中修改迁移生成的名称。 核对每个项目只有一名负责人、公开/私密类别正确、默认权限与显式角色符合预期;抽查 API Key、历史对话、画卷和工作簿。用一名已导入的企业成员验证完整登录地址与组织归属,再验证邮件发送和业务查询。 组织成员、角色和企业集成从个人设置中的组织分组管理。系统管理员仍保留全局用户与项目目录,私有部署的项目目录不会自动授予项目内容访问权。 **Cloud 发布补充:不是普通私有部署操作** Cloud 会按原用户和项目负责人建立组织归属,不会把全站合为一个默认组织。组织订阅、余额、订单和兑换记录的迁移,应先在生产快照副本上完成预检及对账,再在暂停 Web/Worker 写入的窗口执行。 预检出现 `cloud_legacy_enterprise_credentials` 或 `cloud_legacy_enterprise_config` 时,应停止升级,导出受影响数据并由迁移负责人确定归属;迁移不会猜测其目标组织。空的历史企业微信/WPS 配置占位键不构成此项阻断。 国内 Cloud 生产还必须配置完整的微信和 SMS 环境变量,详见[部署认证配置](https://docs.asktable.com/deploy/authentication)。 ## 升级到成员工作区版本 成员工作区和身份权限升级已包含在 `4.2.43-1025`;以下迁移及恢复规则按 `4.2.48-1026` 核对。Cloud 的实际启用时间以服务通知为准,私有部署需先在备份副本中验收。后续修复也会影响旧看板和数据表的恢复,不能仅凭 `4.2.43` 的入口变化判断升级完成。 | 已有内容 | 升级后的处理 | | ------------------ | ------------------------------------------------------------ | | 项目与成员 | 保留原可见性和显式成员;旧可见项目的有效默认访问者补为正式成员,保留原有效项目角色。新成员须申请获批、受邀或由管理员添加 | | Agent 和 Skill | 保留内容、ID 和引用,统一归项目负责人;旧 Agent 默认项目全员可用。新建 Agent 默认仅自己 | | 成员数据角色 | 不从历史聊天推断或自动绑定;未绑定仍是“全部数据”,受 Agent 数据源范围限制 | | 旧无 Agent 普通对话 | 历史只读;继续分析需选择 Agent 开启新对话 | | 旧无 Agent 看板 | 编辑分析前选择覆盖全部元素数据源的 Agent;保存时恢复原会话并保留历史。缺少数据源时页面会列出不匹配项 | | 数据表刷新 | 有执行用户的表按其当前数据角色刷新,无需补选 Agent;缺少执行用户的旧表需先显式建立执行身份 | | 定时任务 | 改为独立入口,统一归项目负责人,保留时间、指令、通知和运行历史;按负责人的当前权限执行 | | 嵌入应用 | 保留原 ID、iframe 地址、角色、来源限制、启停状态和历史会话;在独立入口管理 | | 旧项目 API Key / 访问令牌 | 保留凭证并更名系统集成凭证;查询必须指定 Agent,不继承创建人的数据角色,也不能读写个人配置 | | 邀请链接 | 保留地址、角色和启停状态;未配置数据角色的旧链接仍是“全部数据” | 对话与看板现在从同一工作区打开。已绑定看板但原会话此前未同步的存量情况,不会由本次选择 Agent 的恢复流程自动修复;遇到这种情况请保留版本和现象反馈。 ### 升级后验收 1. 核对项目成员和角色。需要限制数据范围时,管理员必须给成员明确绑定数据角色,不能依赖旧聊天曾选过的角色。 2. 用普通成员验证自己的 Agent/Skill 可编辑、分享来的 Agent 可使用但不可编辑;负责人和管理员仍可治理项目资源,个人 Key 仅本人管理。 3. 核对历史内容与新执行:收紧角色后,新查询使用当前权限,已有消息和结果不会自动遮盖;撤销 Agent 使用权后可回看历史,不能继续调用它。失去项目权限后不可再访问项目历史。 4. 验证旧看板恢复和一次数据表刷新;核对定时任务负责人、执行范围与通知,验证原 iframe 地址及来源限制。 5. 接入方将无 Agent 查询改为带 `data_agent_id` 的 Conversation API;旧 `/v1/integration/query` 已移除。个人配置管理改用有权成员的个人凭证,见[OpenAPI](https://docs.asktable.com/integrations/openapi)。 6. CLI 与服务端分别核对:`cli-v0.0.10` 的旧嵌套 schedule/embed 命令与当前独立管理接口不兼容,暂用网页入口,见[CLI](https://docs.asktable.com/integrations/cli)。 迁移会改写资源归属和权限关系。回退必须恢复升级前的数据库、业务文件、镜像与配置,不能只换回旧镜像。 ## v4.1.x → v4.2.x(Qdrant → pgvector) 这个区间里,字段向量从独立的 Qdrant 服务改存主库的 pgvector 扩展。从 v4.1.x 升到 v4.2.x 需要: **换 pgvector 镜像** 官方 `postgres` 镜像不带 pgvector 扩展,必须换成带扩展的镜像(扩展本身由迁移脚本自动安装): ```yaml docker-compose.yaml asktable-pg: image: registry.cn-shanghai.aliyuncs.com/dminfra/pgvector:pg17 # 原来是 postgres:17 ``` **删掉 Qdrant** 对照 [私有部署(Docker)](https://docs.asktable.com/deploy/docker) 的最新 compose,删掉 `asktable_vdb` 服务、`VDB_ADDRESS` 和 `VDB_API_KEY` 两个环境变量,以及 `qdrant_storage`、`qdrant_snapshots` 两个卷。 **拉起** ```bash docker compose pull docker compose down docker compose up -d ``` 启动时自动迁移并安装 pgvector 扩展。日志提示 `asktable_workbook` 库不存在时,按 [私有部署(Docker)](https://docs.asktable.com/deploy/docker) 补建。 **重建 Embedding** 老数据源的字段向量是空的。逐个进数据源页,点顶栏「设置」→「索引维护」→「重建 Embedding」,随后提示重建已开始、完成后语义检索自动生效。 ### collation 版本警告 只有**换了 PostgreSQL 镜像、底层 glibc 版本跟着变**时才会遇到。判据是 `docker compose logs asktable-pg` 或 `docker compose logs asktable` 里出现 `collation version mismatch`。 - 在原有 PostgreSQL 上自己装 pgvector 扩展、没换镜像 → 不触发,跳过本节。 - 把旧镜像(早期部署用的 `postgres` 镜像)换成 pgvector 镜像、且复用旧 `postgres_data` 卷 → 触发,按下面处理。 **Warning** 别只按提示刷版本号。glibc 版本不同会改变文本排序规则,旧文本索引与新排序规则对不上,查询会静默漏行。必须先重建索引,再刷版本号。 ```bash docker compose exec asktable-pg psql -U asktable -d asktable -c "REINDEX DATABASE asktable;" docker compose exec asktable-pg psql -U asktable -d asktable -c "ALTER DATABASE asktable REFRESH COLLATION VERSION;" docker compose exec asktable-pg psql -U asktable -d postgres -c "ALTER DATABASE template1 REFRESH COLLATION VERSION;" ``` 启用了工作簿就对 `asktable_workbook` 做同样两步。不要为消除警告直接清空生产数据目录;本页 Compose 使用宿主机绑定目录,`down -v` 也不会删除这些目录。 ## 恢复到升级前版本 恢复前停止应用写入。使用升级前的主库、工作簿库、业务文件、部署配置和对应镜像作为同一套恢复点,先在隔离副本中验证,再恢复服务。数据库已发生不兼容变更或迁移清理数据时,仅换回旧镜像不足以回滚。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ------------ | --------------------------------------------------------------------------------- | --------------------------------------------- | | 升级方式 | 换镜像后重建容器,数据库结构迁移在启动时自动执行 | `docker compose pull` → `down` → `up -d` | | 镜像标签 | `:latest`;发版同时推 `{version}` 和 `latest` 两个标签 | `docker-compose.yaml` 的 `image`,要能回滚就写死版本号 | | 主库镜像 | `registry.cn-shanghai.aliyuncs.com/dminfra/pgvector:pg17` | `asktable-pg` 的 `image` | | 备份工具 | `pg_dump` 在容器里可用(镜像装了 PostgreSQL 客户端) | `docker compose exec asktable-pg pg_dump ...` | | 回滚 | 先确认数据库兼容性;不兼容或迁移删除数据时,恢复升级前数据库、业务文件及对应旧镜像和配置 | 使用经过验证的升级前备份 | | 数据目录 | 示例使用宿主机绑定目录 `./postgres_data`、`./asktable_data`、`./redis_data`;`down -v` 不会删除这些目录 | `docker-compose.yaml` 的 `volumes` | | collation 警告 | 只在换镜像且复用旧数据卷时出现 | 先 `REINDEX`,再 `REFRESH COLLATION VERSION` | | 字段向量 | v4.2.x 起存主库 pgvector,不再用独立 Qdrant | 数据源 →「设置」→「索引维护」→「重建 Embedding」 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ----------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------- | | 升级后版本号没变 | 「关于」里的系统版本还是旧值,且 `docker compose images` 里 `asktable` 的镜像 ID 没更新 | `pull` 没拿到新镜像,检查出网放行和镜像标签 | | 容器起不来 | `docker compose logs asktable` 出现与 `vector` 扩展相关的报错 | `asktable-pg` 还在用不带 pgvector 的镜像,换成 pgvector 镜像后重建 | | 查询开始漏行 | 日志里出现过 `collation version mismatch` | 按“collation 版本警告”先 `REINDEX` 再刷新版本号 | | 工作簿报错 | `docker compose logs asktable` 出现 `workbook PG ping failed` | 补建 `asktable_workbook` 库,见 [私有部署(Docker)](https://docs.asktable.com/deploy/docker) | | 升级后语义检索变差 | 数据源「设置」→「索引维护」里没执行过「重建 Embedding」 | 逐个数据源执行一次重建 | | 想退回旧版 | 已按“前置条件”做过备份 | 把 `image` 标签改回旧版本号再重建;数据结构不兼容时用备份恢复 | | 数据库起来但服务连不上 | 日志里是数据库认证失败 | 确认 `DATABASE_PASSWORD` 与 `POSTGRES_PASSWORD` 一致,两处不同步会在重建后暴露 | ## 下一步 - [私有部署(Docker)](https://docs.asktable.com/deploy/docker) — 访问地址、升级命令与排障表 - [部署 AI 搜索(值索引)](https://docs.asktable.com/deploy/ai-search) — 值索引与 Embedding 是两件事 - [数据源日常维护](https://docs.asktable.com/data/manage) — 重建索引、刷新元数据 - [部署总览](https://docs.asktable.com/deploy/overview) — 可选组件与上线顺序 --- 来源:https://docs.asktable.com/deploy/operations # 运维与容量规划 了解 AskTable 默认数据库连接容量,并排查 DATABASE\_BUSY。 部署说明 · 模块: deploy · 管理人员 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 **Check** 默认配置适合常见的单机部署。没有反复出现 `DATABASE_BUSY`,也没有增加 Web 或 Worker 进程时,无需修改连接池。 ## 默认连接容量 | 项目 | 默认值 | | ------------------------------- | -------------------------: | | Web 进程 | `1` | | 每个 Web 进程的主库连接上限 | `20`(连接池 `10` + 临时连接 `10`) | | Worker 进程 | `1` | | 每个 Worker 进程的主库连接上限 | `10`(连接池 `5` + 临时连接 `5`) | | 每个进程的 Workbook 连接上限 | `10` | | 内置 PostgreSQL `max_connections` | `100` | 默认启用 Workbook 时,应用的保守连接峰值是 `51`: ```text Web 20 + Worker 10 + Workbook 20 + LISTEN/NOTIFY 1 = 51 ``` 在上述默认进程配置下,PostgreSQL 上限 `100` 留有余量;增加进程或与其他应用共用实例时,需要重新计算。`POOL_SIZE` 只是连接池保留的连接数,不是连接上限;连接上限还要加上 `MAX_OVERFLOW`。 ## 遇到 DATABASE\_BUSY `DATABASE_BUSY` 表示 AskTable 暂时没有拿到数据库连接,或者 PostgreSQL 已达到连接上限。页面会自动重试,仍未恢复时可以手动重试。 如果错误反复出现: 1. 查看日志,确认来自 Web 请求还是后台刷新。 2. 后台刷新繁忙时,先降低 `AT_WORKER_MAX_JOBS`。 3. PostgreSQL 已报连接数耗尽时,不要继续增大连接池。 4. 只有确认 PostgreSQL 仍有余量、且本地连接池等待超时时,才调大对应的 Web 或 Worker 池。 ## 增加进程时 每增加一个 Web 进程,会增加一套 Web 主库池、最多一套 Workbook 池和一个 `LISTEN/NOTIFY` 连接。每增加一个 Worker 进程,会增加一套 Worker 主库池和最多一套 Workbook 池。 调整顺序建议是:缩短事务、降低后台并发、调整对应角色的连接池,最后才提高 PostgreSQL 上限。始终为迁移和人工排障保留至少 10 个连接。 **完整配置参考** 所有配置都是静态环境变量,修改后需要重启对应进程。 | 配置 | 默认值 | 说明 | | --------------------------- | ----------: | -------------------------- | | `AT_SERVER_WORKERS` | `1` | Web 进程数;命令行 `--workers` 优先 | | `AT_WEB_DB_POOL_SIZE` | `10` | 每个 Web 进程保留的主库连接数 | | `AT_WEB_DB_MAX_OVERFLOW` | `10` | Web 池满时可临时增加的连接数 | | `AT_WORKER_NUM_PROCS` | `1` | Worker 进程数 | | `AT_WORKER_MAX_JOBS` | `10` | 每个 Worker 同时执行的最大任务数 | | `AT_WORKER_DB_POOL_SIZE` | `5` | 每个 Worker 进程保留的主库连接数 | | `AT_WORKER_DB_MAX_OVERFLOW` | `5` | Worker 池满时可临时增加的连接数 | | `AT_DB_POOL_TIMEOUT` | `30` | 等待主库连接的最长秒数 | | `AT_DB_POOL_RECYCLE` | `300` | 主库连接回收秒数 | | `WORKBOOK_PG_DSN` | 本地主库中的独立数据库 | 非空时启用;显式设为空可关闭 | | `AT_WORKBOOK_POOL_MIN` | `1` | 每个进程保留的最少 Workbook 连接数 | | `AT_WORKBOOK_POOL_MAX` | `10` | 每个进程最多使用的 Workbook 连接数 | Web 和 Worker 的池容量分别配置;等待和回收时间由两类进程共用。所有池参数必须为非负数,且 Workbook 必须满足 `0 <= MIN <= MAX`。 **精确计算连接上限** `B` 表示启用 Workbook 时的 `AT_WORKBOOK_POOL_MAX`,未启用时为 `0`。 ```text 应用连接上限 = AT_SERVER_WORKERS × (AT_WEB_DB_POOL_SIZE + AT_WEB_DB_MAX_OVERFLOW + B + 1) + AT_WORKER_NUM_PROCS × (AT_WORKER_DB_POOL_SIZE + AT_WORKER_DB_MAX_OVERFLOW + B) ``` 应用连接上限加至少 10 个运维连接后,必须小于 PostgreSQL 可供普通用户使用的连接数。后者等于 `max_connections` 减去 `reserved_connections` 和 `superuser_reserved_connections`。 **查看连接占用** 查看 PostgreSQL 上限: ```sql SHOW max_connections; SHOW reserved_connections; SHOW superuser_reserved_connections; ``` 查看连接来源和长事务: ```sql SELECT application_name, state, count(*) AS connections, max(now() - xact_start) AS longest_transaction FROM pg_stat_activity WHERE datname IN ('asktable', 'asktable_workbook') GROUP BY application_name, state ORDER BY connections DESC; ``` 查看容器日志: ```bash docker compose logs --since=30m asktable | grep -E 'DATABASE_BUSY|creating postgresql pool|refresh_table_task' docker compose logs --since=30m asktable-pg ``` **Note** 使用外部 PostgreSQL 时,以数据库服务商提供的实际连接上限为准,AskTable 不会自动修改它。 部署和升级操作见[私有部署(Docker)](https://docs.asktable.com/deploy/docker)与[版本升级与迁移](https://docs.asktable.com/deploy/migration)。 --- 来源:https://docs.asktable.com/deploy/overview # 部署总览 比较云端服务与私有部署,选择适合的部署方式。 部署说明 · 模块: deploy · 管理人员 · 部署形态:Cloud / 私有部署 · 已确认产品版本:资料未说明 · 来源:现有文档 AskTable 提供云端服务和私有部署。选择时应考虑数据访问要求、运维责任,以及模型和企业登录的配置需求。 ## 前置条件 动工前先拿到这几个结论: | 项目 | 要确认什么 | | ---- | ----------------------------------- | | 形态 | 云端托管,还是私有 Docker 部署 | | 网络边界 | 能访问镜像仓库时用网络部署;完全内网隔离时用离线包,并准备内网模型服务 | | 数据边界 | 哪些库表可以接入,敏感字段怎么处理 | | 模型 | 用 AskTable 托管算力,还是接自己的或内网的模型 | | 授权 | 需要几个用户、要不要画卷,决定许可证层级 | | 上线窗口 | 升级会短暂停服,先定好时间 | ## 操作步骤 按这个顺序推进,每一步都能单独验收: 1. **定形态与责任边界**。私有部署下服务器、备份、升级、日志由你方负责;AskTable 负责镜像与版本。对照下面“关键约束”里的责任表。 2. **备环境**。按 [私有部署(Docker)](https://docs.asktable.com/deploy/docker) 选择网络或离线部署,核对架构、配置和 Docker Compose 版本;联网环境确认出网放行,隔离环境提前准备离线包、安装脚本和内网模型。 3. **起服务并初始化**。全新部署从 `/setup` 填写组织名称和管理员信息,再配置模型;按后续引导完成项目创建。升级沿用原组织和账号。 4. **激活授权**。系统管理员进入「个人资料 → 组织 → 组织设置 → 企业版」,查看体验版或许可证状态并激活。见 [商业授权](https://docs.asktable.com/admin/license)。 5. **接一组最小数据**。先接一个库或一份 Excel,跑通一次提问。见 [连接数据源](https://docs.asktable.com/data/connect)。 6. **配人、角色和数据范围**。见 [设置数据访问范围](https://docs.asktable.com/permissions)。 7. **按需加可选组件**:值索引([部署 AI 搜索](https://docs.asktable.com/deploy/ai-search))、飞书群问数([部署消息网关](https://docs.asktable.com/deploy/feishu-gateway))、子路径与白标([进阶配置](https://docs.asktable.com/deploy/advanced))。 8. **调运行参数**。登录后从左下角头像进「系统设置」,逐项核对限额与超时(见下表)。 9. **生产前验收**。按“出问题怎么判断”那列的可观测项逐条跑一遍。 ## 系统设置里能调什么 私有部署登录后,左下角头像 →「系统设置」。这个页面标题是「系统设置」,副标题说明这里是管理系统级配置、保存后即时生效,提供以下配置区块: | 区块 | 关键项 | | ------------ | ----------------------------------------------- | | 「通用」 | 前端访问地址——邮件和飞书通知里的跳转链接用它,私有部署必须改成实际域名 | | 「对话」 | Agent 单次最大步数 | | 「Excel 文件限制」 | Excel 最大文件大小(MB)、Excel 最大 Sheet 数、Excel 最大字段数 | | 「CSV 文件限制」 | CSV 最大文件大小(MB)、CSV 最大字段数 | | 「数据源」 | 全局查询超时(秒)、单数据源最大表数、元数据分批处理表数、字段唯一值索引上限、值索引字段数上限 | | 「联网搜索」 | Base URL、API Key、模型;三项不齐时智能体的联网搜索能力打不开 | | 「用户注册」 | 私有部署公开注册开关和新密码强度要求 | 这些配置按字段保存:数值编辑后离开输入框、或切换开关即可提交,留意保存状态。登录方式、SMTP 和 SMS 是[部署认证环境变量](https://docs.asktable.com/deploy/authentication),不在此处配置。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ---------- | -------------------------------------------------------- | ----------------------------------------------------------------------------- | | 私有部署组件 | 四个必装容器(主服务、PostgreSQL、Redis、Python 沙箱)+ 两个可选容器(值索引、飞书网关) | [私有部署(Docker)](https://docs.asktable.com/deploy/docker) | | 对外端口 | 只有主服务开 8000;数据库、Redis、沙箱都不映射宿主机端口 | `docker-compose.yaml` 的 `ports` | | 离线包架构 | 提供 `linux/amd64` 和 `linux/arm64`,按目标服务器 Docker 架构选择 | [私有部署(Docker)](https://docs.asktable.com/deploy/docker) | | 用户数 | 未激活许可证时最多 3 个 | 个人资料 → 组织 → 组织设置 → 企业版 → 激活;见 [商业授权](https://docs.asktable.com/admin/license) | | 画卷(Canvas) | 未激活许可证时不支持 | 同上 | | 单数据源表数 | 默认 100 张 | 头像 →「系统设置」→「数据源」→ 单数据源最大表数 | | 值索引字段数 | 默认 10 个 | 同上 → 值索引字段数上限 | | 资源配额 | 只对云端生效;私有部署的项目资源配额不执行 | — | | 当前版本 | 头像 →「系统设置」→ 左侧「关于」→ 系统版本,旁边有「复制版本信息」 | — | | 运维责任 | 私有部署下服务器、网络、备份、升级、日志由你方负责;AskTable 负责镜像与版本发布 | — | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | -------------- | -------------------------------------------------------- | --------------------------------------------------------------------- | | 私有部署页面打不开 | `curl -sS http://127.0.0.1:8000/api/v1/version` 不返回 JSON | 按 [私有部署(Docker)](https://docs.asktable.com/deploy/docker) 的排障表逐条看容器状态 | | 建不了新用户 | 企业版授权区显示体验版,且用户数已到 3 | 激活满足容量要求的许可证;关闭注册或管理员建号不会绕过上限 | | 智能体的联网搜索开关打不开 | 「系统设置」→「联网搜索」里 Base URL / API Key / 模型有一项为空 | 三项填齐后保存 | | 邮件或飞书通知里的链接点不开 | 「系统设置」→「通用」→ 前端访问地址还是默认值 | 改成实际访问域名并保存 | | 查询动不动超时 | 数据源没单独配查询超时(秒),落到了「系统设置」→「数据源」→ 全局查询超时(秒) | 调大全局值,或在数据源「设置」→「查询设置」里单独放宽 | | 上传 Excel 报大小超限 | 文件超过「Excel 文件限制」里的 Excel 最大文件大小(MB) | 调大该值,或拆分文件 | | 不知道线上跑的是哪一版 | 头像 →「系统设置」→ 左侧「关于」看不到版本号 | 说明容器没起来或版本注入失败,改看 `docker compose images` | ## 下一步 - [私有部署(Docker)](https://docs.asktable.com/deploy/docker) — 部署参数、访问地址、升级与卸载 - [配置大模型](https://docs.asktable.com/admin/models) — 接入自己的或托管的模型 - [部署认证配置](https://docs.asktable.com/deploy/authentication) — 登录方式、SMTP 与 SMS - [运维与容量规划](https://docs.asktable.com/deploy/operations) — 连接池、并发和数据库容量 - [商业授权](https://docs.asktable.com/admin/license) — 试用限制与许可证激活 - [连接数据源](https://docs.asktable.com/data/connect) — 把第一组数据接进来 --- 来源:https://docs.asktable.com/knowledge/developers/api/access-control.md # 数据访问控制 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: access-control · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/access-control/pending-requests 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([PendingAccessRequestResponse](https://docs.asktable.com/knowledge/developers/models/p.md)). — 数组元素: 类型: [PendingAccessRequestResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/access-control/pending-requests/{pending\_id}/build-person 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `pending_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [PendingBuildPersonRequest](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `201` — 成功响应 `application/json` 类型: [PersonResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/access-control/pending-requests/{pending\_id}/refresh-profile 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `pending_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [PendingAccessRequestResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/access-control/pending-requests/{pending\_id}/reject 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `pending_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/people 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `name` — 选填。 按名字模糊搜索 类型: anyOf: `string` / `null`. — 按名字模糊搜索 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `channel_type` — 选填。 只返回在该渠道有身份绑定的人员 类型: anyOf: `string` (`enum`: `["feishu","slack"]`) / `null`. — 只返回在该渠道有身份绑定的人员 anyOf 1: 类型: `string`. `enum`: `["feishu","slack"]` anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_PersonResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/access-control/people 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [PersonCreate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `201` — 成功响应 `application/json` 类型: [PersonResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/people/{person\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `person_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [PersonResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/access-control/people/{person\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `person_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [PersonUpdate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [PersonResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/access-control/people/{person\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `person_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/access-control/people/{person\_id}/bindings 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `person_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [PersonChannelBindingCreate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `201` — 成功响应 `application/json` 类型: [PersonChannelBindingResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/access-control/people/{person\_id}/bindings/{binding\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `person_id` — 必填。 资料未说明 类型: `string`. — `path` `binding_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/access-control/people/{person\_id}/bindings/{binding\_id}/refresh-profile 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `person_id` — 必填。 资料未说明 类型: `string`. — `path` `binding_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [PersonChannelBindingResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/policies 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `name` — 选填。 策略名称 类型: anyOf: `string` / `null`. — 策略名称 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `policy_ids` — 选填。 策略 ID 列表 类型: anyOf: array (`string`) / `null`. — 策略 ID 列表 anyOf 1: 类型: array (`string`). — 数组元素: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_PolicyResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/access-control/policies 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [PolicyCreate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `201` — 成功响应 `application/json` 类型: [PolicyResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/policies/{policy\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `policy_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [PolicyResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/access-control/policies/{policy\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `policy_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [PolicyUpdate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [PolicyResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/access-control/policies/{policy\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `policy_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/policies/{policy\_id}/effective-scope 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `policy_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [EffectiveScopeResponse](https://docs.asktable.com/knowledge/developers/models/e.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/roles 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `name` — 选填。 角色名称 类型: anyOf: `string` / `null`. — 角色名称 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `role_ids` — 选填。 角色 ID 列表 类型: anyOf: array (`string`) / `null`. — 角色 ID 列表 anyOf 1: 类型: array (`string`). — 数组元素: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_RoleResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/access-control/roles 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [RoleCreate](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `201` — 成功响应 `application/json` 类型: [RoleResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/roles/{role\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `role_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [RoleResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/access-control/roles/{role\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `role_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [RoleUpdate](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `200` — 成功响应 `application/json` 类型: [RoleResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/access-control/roles/{role\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `role_id` — 必填。 资料未说明 类型: `string`. — `query` `force` — 选填。 强制删除:连带删除引用该角色的白名单授权 类型: `boolean`. `default`: `false` 强制删除:连带删除引用该角色的白名单授权 **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/roles/{role\_id}/effective-scope 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `role_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [EffectiveScopeResponse](https://docs.asktable.com/knowledge/developers/models/e.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/roles/{role\_id}/policies 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `role_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([PolicyResponse](https://docs.asktable.com/knowledge/developers/models/p.md)). — 数组元素: 类型: [PolicyResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/access-control/roles/{role\_id}/variables 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `role_id` — 必填。 资料未说明 类型: `string`. — `query` `datasource_ids` — 选填。 数据源 ID 列表 类型: anyOf: array (`string`) / `null`. — 数据源 ID 列表 anyOf 1: 类型: array (`string`). — 数组元素: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: array (`string`). — 数组元素: 类型: `string`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前成员数据权限 按产品 `4.2.48-1026` 核对:成员的数据角色由项目负责人或管理员绑定,聊天、个人 Key 和定时任务按执行成员当前绑定运行。未绑定表示“全部数据”;删除已绑定角色会解除限制,而不是自动拒绝全部查询。邀请链接保存自己的数据角色和变量,兑换时发现角色无效或缺少变量会拒绝加入,不退回全部数据。网页成员使用管理员绑定的数据角色;频道身份仍需另行检查智能体频道白名单。见[权限与数据安全](https://docs.asktable.com/permissions)。 --- 来源:https://docs.asktable.com/knowledge/developers/api/admin.md # 系统管理 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: admin · 管理人员 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /auth/admin/config 读取当前运行时的系统配置 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [AdminSystemConfig](https://docs.asktable.com/knowledge/developers/models/a.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/admin/config 只更新请求中非空字段,修改后重新加载运行配置。 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [AdminSystemConfigUpdate](https://docs.asktable.com/knowledge/developers/models/a.md). — **响应** `200` — 成功响应 `application/json` 类型: [AdminSystemConfig](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/admin/organizations SYS\_ADMIN 可只读查看组织目录。面向组织成员的接口要求调用者属于该组织。 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `q` — 选填。 按组织 ID 精确或名称模糊匹配 类型: anyOf: `string` / `null`. — 按组织 ID 精确或名称模糊匹配 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `status` — 选填。 按组织状态筛选 类型: anyOf: [OrganizationStatus](https://docs.asktable.com/knowledge/developers/models/o.md) / `null`. — 按组织状态筛选 anyOf 1: 类型: [OrganizationStatus](https://docs.asktable.com/knowledge/developers/models/o.md). — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_OrganizationDirectoryItem\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/admin/organizations/{org\_id} SYS\_ADMIN 只读组织详情;不要求该管理员属于目标组织。 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `org_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [OrganizationDirectoryItem](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/admin/organizations/{org\_id}/members SYS\_ADMIN 只读目标组织的完整成员目录,不复用成员自助接口的组织成员鉴权。 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `org_id` — 必填。 资料未说明 类型: `string`. — `query` `q` — 选填。 按昵称、邮箱、手机号或邀请标识符搜索 类型: anyOf: `string` / `null`. — 按昵称、邮箱、手机号或邀请标识符搜索 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_OrganizationMemberDirectoryItem\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/admin/organizations/{org\_id}/project-owner-candidates 返回符合条件的项目负责人候选人,不符合条件的成员已排除,不能作为完整成员目录。 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `org_id` — 必填。 资料未说明 类型: `string`. — `query` `q` — 选填。 按昵称或邮箱模糊匹配 类型: anyOf: `string` / `null`. — 按昵称或邮箱模糊匹配 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_AdminProjectOwnerCandidate\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/admin/projects 获取所有项目列表(分页),需要系统管理员权限 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `q` — 选填。 按项目名或所有者昵称模糊匹配 类型: anyOf: `string` / `null`. — 按项目名或所有者昵称模糊匹配 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_AdminProjectResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/admin/projects/{project\_id}/migrate-organization 把项目迁到同实例内的另一个组织,成员清空并指定新 OWNER **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [AdminProjectMigrationRequest](https://docs.asktable.com/knowledge/developers/models/a.md). — **响应** `200` — 成功响应 `application/json` 类型: [AdminProjectMigrationResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/admin/users 获取所有用户列表(分页),需要系统管理员权限 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `sort_by` — 选填。 排序字段 类型: [UserSortBy](https://docs.asktable.com/knowledge/developers/models/u.md). `default`: `"created_at"` 排序字段 `query` `sort_order` — 选填。 排序方向 类型: [SortOrder](https://docs.asktable.com/knowledge/developers/models/s.md). `default`: `"desc"` 排序方向 `query` `q` — 选填。 按用户名或邮箱模糊匹配 类型: anyOf: `string` / `null`. — 按用户名或邮箱模糊匹配 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_AdminUserResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/admin/users 管理员创建新用户,需要系统管理员权限 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [AdminUserCreate](https://docs.asktable.com/knowledge/developers/models/a.md). — **响应** `201` — 成功响应 `application/json` 类型: [AdminUserResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PUT /auth/admin/users/{user\_id} 管理员更新用户信息,需要系统管理员权限 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `user_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [AdminUserUpdate](https://docs.asktable.com/knowledge/developers/models/a.md). — **响应** `200` — 成功响应 `application/json` 类型: [AdminUserResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/admin/users/{user\_id} 管理员删除用户,需要系统管理员权限 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `user_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/aiproxy.md # AIProxy 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: aiproxy · 账号与项目管理 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /auth/aiproxy 获取 AIProxy 账户信息; ; 实时查询 AIProxy 服务获取当前余额。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [AiProxyInfoResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/aiproxy 申请 AIProxy 账户; ; 调用 AIProxy 服务创建账户,返回账户信息和 token。; 如果账户已存在,返回 409 Conflict。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `201` — 成功响应 `application/json` 类型: [AiProxyAccountResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/aiproxy/usage 获取 AIProxy 使用记录; ; 分页查询使用记录,按时间倒序排列。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `page` — 选填。 页码 类型: `integer`. `default`: `0`; `minimum`: `0` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `20`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [AIProxyUsagePage](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/aliyun-market.md # 阿里云市场 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: aliyun-market · 外部服务回调 / 账号与项目管理 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /auth/aliyun-market/callback 阿里云市场 createInstance 回调,无需认证,由阿里云市场平台调用 **使用场景:** 外部平台服务回调;不是普通用户调用入口 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `action` — 必填。 资料未说明 类型: `string`. — `query` `aliUid` — 必填。 资料未说明 类型: `string`. — `query` `orderBizId` — 必填。 资料未说明 类型: `string`. — `query` `orderId` — 必填。 资料未说明 类型: `string`. — `query` `productCode` — 必填。 资料未说明 类型: `string`. — `query` `skuId` — 必填。 资料未说明 类型: `string`. — `query` `trial` — 选填。 资料未说明 类型: `boolean`. `default`: `false` `query` `expiredOn` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: [CreateInstanceResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/aliyun-market/redeem 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [RedeemAliyunRequest](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `200` — 成功响应 `application/json` 类型: [RedeemResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/auth.md # 认证与登录 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: auth · 账号与项目管理 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /auth/auth/password/change 修改密码; ; - 验证旧密码; - 更新为新密码 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [PasswordChangeRequest](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [MessageResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/auth/session 检查当前会话状态; ; 用于前端启动时校验 Token 有效性 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [SessionCheckResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/auth/sign-in/email 邮箱登录; ; - 验证邮箱密码; - 更新最后登录时间; - 返回 JWT Token **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [EmailSignInRequest](https://docs.asktable.com/knowledge/developers/models/e.md). — **响应** `200` — 成功响应 `application/json` 类型: [SessionResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/auth/sign-in/{provider} 第三方登录(微信、企业微信、WPS); ; - 通过授权码获取第三方用户信息; - 查找或创建用户; - 返回 JWT Token **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `provider` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ProviderSignInRequest](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [SessionResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/auth/sign-out 客户端清除 JWT Token 完成登出。原说明提到服务端可选 Token 黑名单,但未确认该能力已启用。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [MessageResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/auth/sign-up/email 邮箱注册; ; - 验证邮箱格式; - 检查邮箱是否已存在; - 创建用户、设置、凭据; - 返回 JWT Token **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [EmailSignUpRequest](https://docs.asktable.com/knowledge/developers/models/e.md). — **响应** `201` — 成功响应 `application/json` 类型: [SessionResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/auth/sso/{provider}/authorization-url 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `provider` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [OrganizationSSOAuthorizationRequest](https://docs.asktable.com/knowledge/developers/models/o.md). — **响应** `200` — 成功响应 `application/json` 类型: [OrganizationSSOAuthorizationResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/auth/me 获取当前登录的TokenID **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [GetInfoResponse](https://docs.asktable.com/knowledge/developers/models/g.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/auth/tokens 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [TokenCreate](https://docs.asktable.com/knowledge/developers/models/t.md). — **响应** `201` — 成功响应 `application/json` 类型: `object`. `additionalProperties`: `true` `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前版本的身份与授权补充 本节按服务端 `v4.2.48-1026` 核对,补充上方 `4.2.34-1008` 规范快照未反映的身份变化;不改变快照内容,也不表示所有旧版本支持相同行为。 `GET /v1/auth/me` 已存在于快照中。当前响应还需结合以下字段判断调用主体,不能只看 `ak_role`: | 字段 | 当前含义 | | -------------- | ---------------------------------------- | | `project_id` | 当前凭证所访问的项目 | | `user_id` | 个人身份;个人 Key 有该值,系统集成 Key 没有用户身份 | | `project_role` | 个人在当前项目中的有效角色,如 `OWNER`、`ADMIN`、`MEMBER` | | `ak_role` | API 角色;不能单独用它推断个人配置权限 | | `chat_role` | 凭证携带的数据角色约束;不代表任意调用方可以覆盖成员数据权限 | 个人 Key 代表本人,按当前项目成员身份、资源归属和数据角色授权。`MEMBER` 可创建自己的 Agent、Skill 和定时任务;`OWNER` / `ADMIN` 可治理项目配置。资源的使用权与配置读取权分别判断。 系统集成 Key 不代表某个成员。`admin` 用于项目基础设施与 Agent 调用,`asker` 用于 Agent 调用;两者都不能读取或修改个人 Agent、Skill、业务文档、渠道凭据和定时任务配置。系统集成 `admin` 不能代替个人 Key 取得个人配置管理权。 当前 `POST /v1/auth/tokens` 不接受个人 Key 兑换项目 JWT;系统集成 Key 签发的项目 JWT 也不能提升 API 角色。短期项目凭证携带的 `chat_role` 约束对话执行,不能通过请求体解除。 CLI `0.0.10` 的 `auth login` 和 `auth whoami` 都使用 `/v1/auth/me`;`auth status` 只显示本地配置。认证与权限操作见 [CLI](https://docs.asktable.com/integrations/cli) 和 [REST API 入门](https://docs.asktable.com/integrations/openapi)。 --- 来源:https://docs.asktable.com/knowledge/developers/api/billing.md # 支付与订单 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: billing · 账号与项目管理 / 外部服务回调 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /auth/billing/checkout 统一收银台下单,支持订阅、加油包、License、AIProxy **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: [CheckoutRequest](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `201` — 成功响应 `application/json` 类型: [CheckoutResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/billing/orders 获取当前组织的订阅与加购订单列表。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 `header` `X-Org-Id` — 必填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: [Page\_OrderResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/billing/orders/{order\_id} 获取订单详情,若订单待支付则主动查询微信同步状态 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `order_id` — 必填。 资料未说明 类型: `string`. — `query` `check_payment_status` — 选填。 是否检查支付状态 类型: `boolean`. `default`: `false` 是否检查支付状态 `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: [OrderResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/billing/webhook/wechat 微信支付回调通知,无需认证,由微信支付平台调用 **使用场景:** 外部平台服务回调;不是普通用户调用入口 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [WebhookResponse](https://docs.asktable.com/knowledge/developers/models/w.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/canvas.md # 分析画卷 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: canvas · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/canvas 获取画卷列表(分页) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_CanvasResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas 创建画卷 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [CanvasCreate](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `201` — 成功响应 `application/json` 类型: [CanvasResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas-setting 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [CanvasSettingResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/canvas-setting 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [CanvasSettingUpdate](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `200` — 成功响应 `application/json` 类型: [CanvasSettingResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/starter-suggestions 获取 canvas 起始建议(基于项目最新可用数据源的 schema) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [StarterSuggestionsResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id} 获取单个画卷 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [CanvasResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/canvas/{canvas\_id} 更新画卷 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [CanvasUpdate](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `200` — 成功响应 `application/json` 类型: [CanvasResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/canvas/{canvas\_id} 删除画卷及其所有节点 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/clone 复制画卷 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 选填 `application/json` 类型: anyOf: [CanvasCloneRequest](https://docs.asktable.com/knowledge/developers/models/c.md) / `null`. — anyOf 1: 类型: [CanvasCloneRequest](https://docs.asktable.com/knowledge/developers/models/c.md). — anyOf 2: 类型: `null`. — **响应** `201` — 成功响应 `application/json` 类型: [CanvasResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id}/nodes 获取画卷的所有节点 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([NodeSummary](https://docs.asktable.com/knowledge/developers/models/n.md)). — 数组元素: 类型: [NodeSummary](https://docs.asktable.com/knowledge/developers/models/n.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/nodes 创建节点(Agent 节点通过 /messages 端点流式执行,excel 同步处理) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [NodeCreate](https://docs.asktable.com/knowledge/developers/models/n.md). — **响应** `201` — 成功响应 `application/json` 类型: [NodeDetail](https://docs.asktable.com/knowledge/developers/models/n.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/nodes/batch-delete 批量删除节点 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [BatchDeleteBody](https://docs.asktable.com/knowledge/developers/models/b.md). — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id}/nodes/{node\_id} 获取单个节点 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `node_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [NodeDetail](https://docs.asktable.com/knowledge/developers/models/n.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/canvas/{canvas\_id}/nodes/{node\_id} 更新节点 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `node_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [NodeUpdate](https://docs.asktable.com/knowledge/developers/models/n.md). — **响应** `200` — 成功响应 `application/json` 类型: [NodeDetail](https://docs.asktable.com/knowledge/developers/models/n.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/canvas/{canvas\_id}/nodes/{node\_id} 删除节点 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `node_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/nodes/{node\_id}/cancel 取消正在执行的节点对话任务 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `node_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/nodes/{node\_id}/explain 解释数据记录的来源和生成过程(SSE 流式响应) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `node_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ExplainRowRequest](https://docs.asktable.com/knowledge/developers/models/e.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id}/nodes/{node\_id}/messages 获取节点对话历史 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `node_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/nodes/{node\_id}/messages 触发 Agent 执行(异步),通过 GET /stream 订阅事件流 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `node_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [RequestBody-3092884a](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id}/nodes/{node\_id}/stream 订阅节点事件流(原生 EventSource,支持断点重续) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `node_id` — 必填。 资料未说明 类型: `string`. — `query` `token` — 必填。 资料未说明 类型: `string`. — `header` `Last-Event-ID` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `text/event-stream` 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------- | ----- | | `data` | 否 | `string`; — | 资料未说明 | | `event` | 否 | `string`; — | 资料未说明 | | `id` | 否 | `string`; — | 资料未说明 | | `retry` | 否 | `integer`; `minimum`: `0` | 资料未说明 | `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/refetch 批量刷新画卷中所有数据节点和 Python 节点 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id}/replicache/poke Replicache poke:SSE 实时推送变更通知(query param 认证) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `query` `project_id` — 选填。 资料未说明 类型: `string`. `default`: `""` `query` `token` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/replicache/pull Replicache pull:返回增量或全量 patch **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: `object`. `additionalProperties`: `true` **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/replicache/push Replicache push:批量处理 mutations **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: `object`. `additionalProperties`: `true` **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id}/sessions 获取画布下所有 chat sessions **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `query` `token` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([ChatSessionSummary](https://docs.asktable.com/knowledge/developers/models/c.md)). — 数组元素: 类型: [ChatSessionSummary](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/sessions 创建 chat session **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `query` `token` — 必填。 资料未说明 类型: `string`. — **请求体** — 选填 `application/json` 类型: anyOf: [ChatSessionCreate](https://docs.asktable.com/knowledge/developers/models/c.md) / `null`. — anyOf 1: 类型: [ChatSessionCreate](https://docs.asktable.com/knowledge/developers/models/c.md). — anyOf 2: 类型: `null`. — **响应** `201` — 成功响应 `application/json` 类型: [ChatSessionSummary](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id}/sessions/{session\_id} 获取 chat session 详情 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `session_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `query` `token` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [ChatSessionDetail](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/sessions/{session\_id}/cancel 取消正在执行的 Autopilot 会话 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `session_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `query` `token` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/canvas/{canvas\_id}/sessions/{session\_id}/messages 发送全局聊天消息,触发 Autopilot 执行 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `session_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `query` `token` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ChatSessionMessageRequest](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/canvas/{canvas\_id}/sessions/{session\_id}/stream 订阅全局聊天事件流 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `canvas_id` — 必填。 资料未说明 类型: `string`. — `path` `session_id` — 必填。 资料未说明 类型: `string`. — `query` `token` — 必填。 资料未说明 类型: `string`. — `header` `Last-Event-ID` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `text/event-stream` 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------- | ----- | | `data` | 否 | `string`; — | 资料未说明 | | `event` | 否 | `string`; — | 资料未说明 | | `id` | 否 | `string`; — | 资料未说明 | | `retry` | 否 | `integer`; `minimum`: `0` | 资料未说明 | `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/channels.md # 消息渠道 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: channels · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/channels 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([ChannelResponse](https://docs.asktable.com/knowledge/developers/models/c.md)). — 数组元素: 类型: [ChannelResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/channels 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [ChannelCreate](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `201` — 成功响应 `application/json` 类型: [ChannelResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/channels/{channel\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `channel_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [ChannelResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/channels/{channel\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `channel_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ChannelUpdate](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `200` — 成功响应 `application/json` 类型: [ChannelResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/channels/{channel\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `channel_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/channels/{channel\_id}/status 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `channel_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [ChannelStatusResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/conversations.md # 对话 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: conversations · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/conversations 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `query` — 选填。 资料未说明 类型: anyOf: `string` (`maxLength`: `200`) / `null`. — anyOf 1: 类型: `string`. `maxLength`: `200` anyOf 2: 类型: `null`. — `query` `types` — 选填。 资料未说明 类型: anyOf: array ([ConversationType](https://docs.asktable.com/knowledge/developers/models/c.md)) / `null`. — anyOf 1: 类型: array ([ConversationType](https://docs.asktable.com/knowledge/developers/models/c.md)). — 数组元素: 类型: [ConversationType](https://docs.asktable.com/knowledge/developers/models/c.md). — anyOf 2: 类型: `null`. — `query` `statuses` — 选填。 资料未说明 类型: anyOf: array ([ConversationStatus](https://docs.asktable.com/knowledge/developers/models/c.md)) / `null`. — anyOf 1: 类型: array ([ConversationStatus](https://docs.asktable.com/knowledge/developers/models/c.md)). — 数组元素: 类型: [ConversationStatus](https://docs.asktable.com/knowledge/developers/models/c.md). — anyOf 2: 类型: `null`. — `query` `modified_since` — 选填。 资料未说明 类型: anyOf: `string` (`format`: `"date-time"`) / `null`. — anyOf 1: 类型: `string`. `format`: `"date-time"` anyOf 2: 类型: `null`. — `query` `sort` — 选填。 资料未说明 类型: `string`. `default`: `"modified_desc"`; `enum`: `["modified_desc","created_desc"]` `query` `created_by_me` — 选填。 资料未说明 类型: `boolean`. `default`: `false` `query` `pinned_first` — 选填。 资料未说明 类型: `boolean`. `default`: `false` `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_ConversationResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/conversations 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [ConversationCreate](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `201` — 成功响应 `application/json` 类型: [ConversationResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/conversations/{conv\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: [ConversationDetail](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/conversations/{conv\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [ConversationUpdate](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/conversations/{conv\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/conversations/{conv\_id}/artifacts 获取对话关联的所有 dataframe artifacts **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/conversations/{conv\_id}/cancel 取消正在进行的对话流式响应或澄清等待 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/conversations/{conv\_id}/clarify 提交用户澄清回答,恢复 Agent 执行 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [ClarifyBody](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/conversations/{conv\_id}/compact 同步压缩对话上下文。对话为 streaming 或 pending 时返回 409 CHAT\_PROCESSING;类型不支持时返回 COMPACTION\_NOT\_SUPPORTED;压缩正在进行时返回 COMPACTION\_IN\_PROGRESS;轮次不足时返回 COMPACTION\_NOT\_ENOUGH\_CONTEXT。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: [CompactionResult](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/conversations/{conv\_id}/messages 发送消息,触发 Agent 流式执行 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [SendMessageBody](https://docs.asktable.com/knowledge/developers/models/s.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PUT /v1/conversations/{conv\_id}/messages/{message\_id}/feedback 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `message_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [FeedbackUpsertBody](https://docs.asktable.com/knowledge/developers/models/f.md). — **响应** `200` — 成功响应 `application/json` 类型: [MessageFeedbackResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PUT /v1/conversations/{conv\_id}/pin 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/conversations/{conv\_id}/pin 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/conversations/{conv\_id}/share 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: anyOf: [ShareLinkResponse](https://docs.asktable.com/knowledge/developers/models/s.md) / `null`. — anyOf 1: 类型: [ShareLinkResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — anyOf 2: 类型: `null`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/conversations/{conv\_id}/share 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `201` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/conversations/{conv\_id}/share 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/conversations/{conv\_id}/stream 订阅对话事件流(SSE) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `conv_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `query` `token` — 必填。 资料未说明 类型: `string`. — `header` `Last-Event-ID` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `text/event-stream` 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------- | ----- | | `data` | 否 | `string`; — | 资料未说明 | | `event` | 否 | `string`; — | 资料未说明 | | `id` | 否 | `string`; — | 资料未说明 | | `retry` | 否 | `integer`; `minimum`: `0` | 资料未说明 | `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前会话执行身份 按产品 `4.2.48-1026` 核对:新对话必须指定 Agent。网页成员与个人 Key 按当前成员身份、Agent 使用权和管理员绑定的数据角色执行;普通成员不能通过请求里的角色或变量扩大权限。系统集成 Key 没有成员身份,不继承创建者的数据角色。旧无 Agent 普通对话保留为只读历史。新查询使用当前权限,不会自动清空或遮盖旧消息。完整流程见[对话](https://docs.asktable.com/conversation)和[OpenAPI](https://docs.asktable.com/integrations/openapi)。 --- 来源:https://docs.asktable.com/knowledge/developers/api/dashboards.md # 数据看板 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: dashboards · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/dashboards 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: `any`. — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/dashboards 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [DashboardCreate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `201` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/dashboards/{dashboard\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dashboard_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/dashboards/{dashboard\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dashboard_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [DashboardUpdate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/dashboards/{dashboard\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dashboard_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/dashboards/{dashboard\_id}/refresh 立即刷新看板布局内的全部数据表。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dashboard_id` — 必填。 资料未说明 类型: `string`. — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/dashboards/{dashboard\_id}/share 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dashboard_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: anyOf: [ShareLinkResponse](https://docs.asktable.com/knowledge/developers/models/s.md) / `null`. — anyOf 1: 类型: [ShareLinkResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — anyOf 2: 类型: `null`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/dashboards/{dashboard\_id}/share 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dashboard_id` — 必填。 资料未说明 类型: `string`. — **响应** `201` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/dashboards/{dashboard\_id}/share 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dashboard_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前看板工作区与恢复 按产品 `4.2.48-1026` 核对:看板和对话共用工作区。旧无 Agent 看板可选择覆盖全部元素数据源的 Agent,保存后恢复原会话并保留历史;数据源不匹配时页面列出缺少项。已绑定看板但原会话此前未同步的存量情况不由此流程自动修复。见[数据看板](https://docs.asktable.com/dashboard)及[升级迁移](https://docs.asktable.com/deploy/migration)。 --- 来源:https://docs.asktable.com/knowledge/developers/api/data-agents.md # 智能体 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: data-agents · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /v1/data-agent-schedules/unsubscribe 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [UnsubscribeConfirmRequest](https://docs.asktable.com/knowledge/developers/models/u.md). — **响应** `200` — 成功响应 `application/json` 类型: [UnsubscribeConfirmResponse](https://docs.asktable.com/knowledge/developers/models/u.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agent-schedules/unsubscribe/preview 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `token` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [UnsubscribePreviewResponse](https://docs.asktable.com/knowledge/developers/models/u.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([DataAgentResponse](https://docs.asktable.com/knowledge/developers/models/d.md)). — 数组元素: 类型: [DataAgentResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/data-agents 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [DataAgentCreate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `201` — 成功响应 `application/json` 类型: [DataAgentResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/templates 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([DataAgentTemplateResponse](https://docs.asktable.com/knowledge/developers/models/d.md)). — 数组元素: 类型: [DataAgentTemplateResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: [DataAgentResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/data-agents/{agent\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [DataAgentUpdate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/data-agents/{agent\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/access 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. — `query` `channel_type` — 选填。 只返回在该渠道有身份绑定的人员 类型: anyOf: `string` (`enum`: `["feishu","slack"]`) / `null`. — 只返回在该渠道有身份绑定的人员 anyOf 1: 类型: `string`. `enum`: `["feishu","slack"]` anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: array ([DataAgentAccessResponse](https://docs.asktable.com/knowledge/developers/models/d.md)). — 数组元素: 类型: [DataAgentAccessResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/data-agents/{agent\_id}/access 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [DataAgentAccessCreate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `201` — 成功响应 `application/json` 类型: [DataAgentAccessResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/data-agents/{agent\_id}/access/{access\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. — `path` `access_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [DataAgentAccessUpdate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `200` — 成功响应 `application/json` 类型: [DataAgentAccessResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/data-agents/{agent\_id}/access/{access\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. — `path` `access_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/documents 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: array ([DocumentResponse](https://docs.asktable.com/knowledge/developers/models/d.md)). — 数组元素: 类型: [DocumentResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/data-agents/{agent\_id}/documents 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [DocumentCreate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `201` — 成功响应 `application/json` 类型: [DocumentResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/documents/{document\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `document_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: [DocumentResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/data-agents/{agent\_id}/documents/{document\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `document_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [DocumentUpdate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `200` — 成功响应 `application/json` 类型: [DocumentResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/data-agents/{agent\_id}/documents/{document\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `document_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/embeds 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: array ([EmbedListItemResponse](https://docs.asktable.com/knowledge/developers/models/e.md)). — 数组元素: 类型: [EmbedListItemResponse](https://docs.asktable.com/knowledge/developers/models/e.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/data-agents/{agent\_id}/embeds 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [EmbedCreate](https://docs.asktable.com/knowledge/developers/models/e.md). — **响应** `201` — 成功响应 `application/json` 类型: [EmbedResponse](https://docs.asktable.com/knowledge/developers/models/e.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/embeds/{embed\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `embed_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [EmbedResponse](https://docs.asktable.com/knowledge/developers/models/e.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/data-agents/{agent\_id}/embeds/{embed\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `embed_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [EmbedUpdate](https://docs.asktable.com/knowledge/developers/models/e.md). — **响应** `200` — 成功响应 `application/json` 类型: [EmbedResponse](https://docs.asktable.com/knowledge/developers/models/e.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/data-agents/{agent\_id}/embeds/{embed\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `embed_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/execution-logs 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `query` `query` — 选填。 资料未说明 类型: anyOf: `string` (`maxLength`: `200`) / `null`. — anyOf 1: 类型: `string`. `maxLength`: `200` anyOf 2: 类型: `null`. — `query` `user_id` — 选填。 资料未说明 类型: anyOf: `string` (`maxLength`: `50`) / `null`. — anyOf 1: 类型: `string`. `maxLength`: `50` anyOf 2: 类型: `null`. — `query` `status` — 选填。 资料未说明 类型: anyOf: `string` (`enum`: `["running","clarifying","failed","paused","recorded","unknown"]`) / `null`. — anyOf 1: 类型: `string`. `enum`: `["running","clarifying","failed","paused","recorded","unknown"]` anyOf 2: 类型: `null`. — `query` `started_at` — 选填。 资料未说明 类型: anyOf: `string` (`format`: `"date-time"`) / `null`. — anyOf 1: 类型: `string`. `format`: `"date-time"` anyOf 2: 类型: `null`. — `query` `ended_at` — 选填。 资料未说明 类型: anyOf: `string` (`format`: `"date-time"`) / `null`. — anyOf 1: 类型: `string`. `format`: `"date-time"` anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_ExecutionLogItem\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/execution-logs/{message\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `message_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: [ExecutionLogDetail](https://docs.asktable.com/knowledge/developers/models/e.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/feedbacks 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `query` `rating` — 选填。 资料未说明 类型: anyOf: `string` (`enum`: `["up","down"]`) / `null`. — anyOf 1: 类型: `string`. `enum`: `["up","down"]` anyOf 2: 类型: `null`. — `query` `status` — 选填。 资料未说明 类型: anyOf: `string` (`enum`: `["open","resolved"]`) / `null`. — anyOf 1: 类型: `string`. `enum`: `["open","resolved"]` anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_AgentFeedbackItem\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/data-agents/{agent\_id}/feedbacks/{feedback\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `feedback_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [FeedbackStatusUpdate](https://docs.asktable.com/knowledge/developers/models/f.md). — **响应** `200` — 成功响应 `application/json` 类型: [AgentFeedbackItem](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/schedules 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: array ([ScheduleResponse](https://docs.asktable.com/knowledge/developers/models/s.md)). — 数组元素: 类型: [ScheduleResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/data-agents/{agent\_id}/schedules 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [ScheduleCreate](https://docs.asktable.com/knowledge/developers/models/s.md). — **响应** `201` — 成功响应 `application/json` 类型: [ScheduleResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/schedules/{schedule\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `schedule_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: [ScheduleResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/data-agents/{agent\_id}/schedules/{schedule\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `schedule_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [ScheduleUpdate](https://docs.asktable.com/knowledge/developers/models/s.md). — **响应** `200` — 成功响应 `application/json` 类型: [ScheduleResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/data-agents/{agent\_id}/schedules/{schedule\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `schedule_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/data-agents/{agent\_id}/schedules/{schedule\_id}/logs 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `schedule_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `query` `limit` — 选填。 资料未说明 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `200` `query` `offset` — 选填。 资料未说明 类型: `integer`. `default`: `0`; `minimum`: `0` **响应** `200` — 成功响应 `application/json` 类型: array ([ScheduleLogResponse](https://docs.asktable.com/knowledge/developers/models/s.md)). — 数组元素: 类型: [ScheduleLogResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/data-agents/{agent\_id}/schedules/{schedule\_id}/trigger 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `agent_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` `path` `schedule_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前版本的使用摘要与配置权限 本节按服务端 `v4.2.48-1026` 核对。上方内容保留 `4.2.34-1008` 规范快照;当前的使用摘要、分享权限和独立管理资源不能从旧快照推断。 | 当前接口 | 用途与权限边界 | | ---------------------------------------- | ------------------------------------------------- | | `GET /v1/data-agents` | 返回可用 Agent 的使用摘要,而非完整配置;默认 `scope=available` | | `GET /v1/data-agents/{agent_id}/usage` | 读取有权调用的 Agent 摘要,包括 `can_manage`、所属用户、数据源和分享范围等信息 | | `GET /v1/data-agents/{agent_id}` | 读取完整配置,要求个人身份及配置管理权限 | | `GET /v1/data-agents/{agent_id}/sharing` | 读取 Agent 分享设置,要求配置管理权限 | | `PUT /v1/data-agents/{agent_id}/sharing` | 设置 `project_wide` 和 `user_ids`;分享使用权,不授予配置读取权 | 个人可使用自己创建、明确分享给自己或项目内共享的 Agent;项目负责人和管理员另有治理权限。新建 Agent 默认私有。配置管理限资源本人及项目负责人、管理员;系统集成 Key 可调用 Agent 和读取使用摘要,但不能读取或修改个人配置,摘要中的 `can_manage` 为 `false`。 列表 API 支持 `available`、`mine`、`shared`、`project`、`all` 范围;`all` 要求项目管理权限。系统集成身份固定返回可用范围。CLI `0.0.10` 的 `data-agent list` 没有这些范围选项;用 `data-agent usage ` 查看摘要,不能用 `get` 代替使用权检查。 当前 Agent 的 `domain_knowledge` 和 `analysis_preferences` 各限 1024 字符;能力对象包含 `python_enabled`、`chart_enabled`、`clarification_enabled` 和 `web_search_enabled`。直接 PATCH `capabilities` 时须保留未修改的开关;CLI `0.0.10` 使用相应开关参数时会先读取现有配置再合并。`datasource_ids` 和 `skill_ids` 更新为整体替换。 ## 当前版本的独立管理资源 服务端 `v4.2.48-1026` 的定时任务和嵌入管理已使用独立资源路径: | 资源 | 当前管理入口 | 旧规范与 CLI 的差异 | | ---- | --------------------------------------------- | ---------------------------------------------- | | 定时任务 | `/v1/schedules`、`/v1/schedules/{schedule_id}` | 旧的 `/v1/data-agents/{agent_id}/schedules` 不再注册 | | 嵌入配置 | `/v1/embeds`、`/v1/embeds/{embed_id}` | 旧的 `/v1/data-agents/{agent_id}/embeds` 不再注册 | | 业务文档 | `/v1/data-agents/{agent_id}/documents` | 仍属于 Agent,读写都要求其配置管理权限 | 这些变化尚未导入上方旧规范快照。CLI `0.0.10` 的 `data-agent schedule`、`data-agent embed` 仍请求旧路径,不能用于当前服务端管理。使用网页[定时任务](https://docs.asktable.com/integrations/scheduled-reports)和[嵌入设置](https://docs.asktable.com/integrations/embed),或对照当前实例规范使用新接口;不要据此编造尚未发布的 CLI 命令。 --- 来源:https://docs.asktable.com/knowledge/developers/api/dataframes.md # 数据结果 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: dataframes · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/dataframes 分页列出 dataframe 摘要,含 header 和预览数据 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `page` — 选填。 资料未说明 类型: `integer`. `default`: `1`; `minimum`: `1` `query` `size` — 选填。 资料未说明 类型: `integer`. `default`: `12`; `minimum`: `1`; `maximum`: `50` **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/dataframes/upload 接收前端解析后的 Excel/CSV 数据,创建 dataframe **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [DataframeUploadBody](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `201` — 成功响应 `application/json` 类型: [DataframeUploadResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/dataframes/{dataframe\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dataframe_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [DataframeResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/dataframes/{dataframe\_id}/chart-config 校验真实 Parquet 数据后更新 dataframe 的 ChartSpec 配置。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dataframe_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ChartConfigUpdate](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/dataframes/{dataframe\_id}/full 返回 dataframe 全量数据(不分页),用于图表渲染和 CSV 下载 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dataframe_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/dataframes/{dataframe\_id}/query 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dataframe_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [QueryRequest](https://docs.asktable.com/knowledge/developers/models/q.md). — **响应** `200` — 成功响应 `application/json` 类型: [QueryResponse](https://docs.asktable.com/knowledge/developers/models/q.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/dataframes/{dataframe\_id}/schema 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dataframe_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/datasources.md # 数据源 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: datasources · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/datasources 获取所有的数据源 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker","priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `name` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_DataSourceResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources 创建一个新的数据源 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [DataSourceCreate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `201` — 成功响应 `application/json` 类型: [DataSourceResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/test-connection 测试数据库连接是否正常 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [ConnectionTestRequest](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `200` — 成功响应 `application/json` 类型: [ConnectionTestResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/upload\_params 获取 OSS 签名参数 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [UploadParams](https://docs.asktable.com/knowledge/developers/models/u.md). — **响应** `200` — 成功响应 `application/json` 类型: `object`. `additionalProperties`: `true` `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id} 根据id获取指定数据源 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker","priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [DataSourceDetail](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/datasources/{datasource\_id} 更新指定数据源信息 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [DataSourceUpdate](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `200` — 成功响应 `application/json` 类型: [DataSourceResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/datasources/{datasource\_id} 根据id删除指定数据源 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/datasources/{datasource\_id}/field 更新数据源的某个字段的描述 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `query` `schema_name` — 必填。 资料未说明 类型: `string`. — `query` `table_name` — 必填。 资料未说明 类型: `string`. — `query` `field_name` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [FieldUpdate](https://docs.asktable.com/knowledge/developers/models/f.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/files 为数据源添加文件 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `multipart/form-data` 类型: [RequestBody-2804681c](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `201` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/datasources/{datasource\_id}/files/{file\_id} 删除数据源的单个文件 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `path` `file_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/meta 从数据源中获取最新的元数据 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [MetaResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/meta 初始化数据源的 meta。不允许覆盖已成功初始化的 meta,需使用 PUT 更新。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `query` `async_process_meta` — 选填。 资料未说明 类型: `boolean`. `default`: `true` `query` `value_index` — 选填。 资料未说明 类型: `boolean`. `default`: `false` **请求体** — 选填 `application/json` 类型: [RequestBody-5bf8a059](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `201` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PUT /v1/datasources/{datasource\_id}/meta 用于更新 DB 类型的数据源的 Meta(增加新表或者删除老表) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `query` `async_process_meta` — 选填。 资料未说明 类型: `boolean`. `default`: `true` **请求体** — 选填 `application/json` 类型: [RequestBody-56d61535](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/datasources/{datasource\_id}/meta 修改数据meta的描述,用来修改表和字段的备注 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [MetaAnnotation](https://docs.asktable.com/knowledge/developers/models/m.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/meta/export 导出数据源的 meta 描述和训练数据为 JSON 文件 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/meta/import 导入 JSON 元数据文件,合并覆盖 meta 描述 + 追加训练数据 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [DatasourceMetadataExport](https://docs.asktable.com/knowledge/developers/models/d.md). — **响应** `202` — 成功响应 `application/json` 类型: [ImportMetadataResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/meta/rebuild-embedding 补齐从 Qdrant 迁移到 pgvector 后缺失的字段及训练数据向量。只补缺失,可重复执行,需要 meta\_status=available。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/meta/table/refresh 单表刷新:重新反射该表结构并补齐画像统计。; 不覆盖人工标注(human 描述/可见性/脱敏),不触碰其他表与 value index。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [TableMetaRefreshRequest](https://docs.asktable.com/knowledge/developers/models/t.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/reindex 手动触发 value index 构建。需要 meta\_status=available。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/relationships 返回数据库 FK 产生的只读关系事实。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([RelationshipResponse](https://docs.asktable.com/knowledge/developers/models/r.md)). — 数组元素: 类型: [RelationshipResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/runtime-meta 获取指定数据源的运行时元数据 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker","priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [RuntimeMetaResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/semantic-layer/export 导出只有 entities + dimensions 的 AskTable DSI YAML。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/tables/{schema\_name}/{table\_name}/rows 分页、只读预览真实表数据,受预览行数上限约束;此说明未给出具体数值。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker","priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `path` `schema_name` — 必填。 资料未说明 类型: `string`. — `path` `table_name` — 必填。 资料未说明 类型: `string`. — `query` `limit` — 选填。 资料未说明 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` `query` `offset` — 选填。 资料未说明 类型: `integer`. `default`: `0`; `minimum`: `0` **响应** `200` — 成功响应 `application/json` 类型: [TableRowsResponse](https://docs.asktable.com/knowledge/developers/models/t.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/files/{file\_id} 下载文件 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `file_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/embed.md # 嵌入 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: embed · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/embed/conversation 读取绑定对话的历史及 reasoning\_mode,对话由 token 确定。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [ConversationDetail](https://docs.asktable.com/knowledge/developers/models/c.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/embed/conversation 切换 fast 或 deep 推理模式。访客只能修改 reasoning\_mode,对话由 token 确定。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [EmbedReasoningUpdate](https://docs.asktable.com/knowledge/developers/models/e.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/embed/conversation/artifacts 绑定对话的 artifact meta 列表(匿名安全投影,不含 sql)。conv\_id 来自 token。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: `any`. — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/embed/conversation/cancel 取消 token 绑定对话的当前事件流。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: `any`. — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/embed/conversation/clarify 回答澄清并恢复绑定对话。conv\_id 只来自 token。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [ClarifyBody](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/embed/conversation/messages 向 token 绑定的对话发送消息。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [SendMessageBody](https://docs.asktable.com/knowledge/developers/models/s.md). — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/embed/conversation/stream 订阅绑定对话的 SSE 事件流。conv\_id 来自 token(EventSource 走 query token)。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `token` — 必填。 资料未说明 类型: `string`. — `header` `Last-Event-ID` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `text/event-stream` 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------- | ----- | | `data` | 否 | `string`; — | 资料未说明 | | `event` | 否 | `string`; — | 资料未说明 | | `id` | 否 | `string`; — | 资料未说明 | | `retry` | 否 | `integer`; `minimum`: `0` | 资料未说明 | `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/embed/dataframes/{dataframe\_id}/full dataframe 全量数据。先校验属于 token 绑定对话(否则 403),再读存储。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dataframe_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/embed/resolve 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [EmbedResolveRequest](https://docs.asktable.com/knowledge/developers/models/e.md). — **响应** `200` — 成功响应 `application/json` 类型: [EmbedResolveResponse](https://docs.asktable.com/knowledge/developers/models/e.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/embed/skills 列出绑定 agent 的技能安全投影,不返回 content/project\_id。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([EmbedSkillOption](https://docs.asktable.com/knowledge/developers/models/e.md)). — 数组元素: 类型: [EmbedSkillOption](https://docs.asktable.com/knowledge/developers/models/e.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前独立嵌入管理 按产品 `4.2.48-1026` 核对:嵌入应用已在项目独立入口管理,管理接口使用 `/v1/embeds`。旧 iframe 地址、来源限制和历史会话保留,旧规范中的嵌入运行合约不能代替当前管理接口清单。嵌入执行使用应用自己的数据角色,不继承配置人的成员数据角色;需要限制数据范围时必须明确配置。`cli-v0.0.10` 的旧嵌套 embed 管理命令与当前服务端不兼容,暂用[网页嵌入](https://docs.asktable.com/integrations/embed)页面。 --- 来源:https://docs.asktable.com/knowledge/developers/api/file-parse.md # 文件解析 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: file-parse · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /v1/file-parse/parse-and-import 上传原始文件及选中的 Sheet,同步解析并创建 dataframe;解析过程不调用大模型。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `multipart/form-data` 类型: [RequestBody-fb1c19f7](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `200` — 成功响应 `application/json` 类型: [ParseAndImportResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/indexes.md # 值索引 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: indexes · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/datasources/{ds\_id}/indexes 列出 ds\_id 对应数据源的全部索引及完整信息。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `ds_id` — 必填。 资料未说明 类型: `string`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_IndexResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{ds\_id}/indexes 使用 schema\_name、table\_name、field\_name 为 ds\_id 创建索引,并返回索引信息。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `ds_id` — 必填。 资料未说明 类型: `string`. — `query` `async_process` — 选填。 资料未说明 类型: `boolean`. `default`: `true` **请求体** — 必填 `application/json` 类型: [IndexCreate](https://docs.asktable.com/knowledge/developers/models/i.md). — **响应** `201` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/datasources/{ds\_id}/indexes/{index\_id} 删除 ds\_id 下 index\_id 对应的索引。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `ds_id` — 必填。 资料未说明 类型: `string`. — `path` `index_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/integration.md # 集成问数 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: integration · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /v1/integration/query 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [QueryRequest-ac6dba7a](https://docs.asktable.com/knowledge/developers/models/q.md). — **响应** `201` — 成功响应 `application/json` 类型: [QueryResponse-85ada908](https://docs.asktable.com/knowledge/developers/models/q.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前集成入口迁移 产品 `4.2.48-1026` 已移除上方历史规范中的 `POST /v1/integration/query`,它不是当前可调用入口。请使用[Conversation API](https://docs.asktable.com/integrations/openapi):创建对话时指定 `data_agent_id`,再发消息并轮询结果。系统集成凭证也必须指定 Agent;个人配置管理使用有权成员的个人凭证。 --- 来源:https://docs.asktable.com/knowledge/developers/api/license.md # 许可证 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: license · 账号与项目管理 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /auth/license 获取当前用户的所有 License 密钥(分页); ; 返回用户购买的所有 License **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_LicenseKeyResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/model-groups.md # 模型组 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: model-groups · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/model-groups 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([ModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/m.md)). — 数组元素: 类型: [ModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/model-groups 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [ModelGroupCreate](https://docs.asktable.com/knowledge/developers/models/m.md). — **响应** `201` — 成功响应 `application/json` 类型: [ModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/model-groups/init 初始化模型组,仅允许调用一次(已有模型组时返回 409) **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [InitModelGroupRequest](https://docs.asktable.com/knowledge/developers/models/i.md). — **响应** `201` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/model-groups/{group\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `group_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ModelGroupUpdate](https://docs.asktable.com/knowledge/developers/models/m.md). — **响应** `200` — 成功响应 `application/json` 类型: [ModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/model-groups/{group\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `group_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/model-groups/{group\_id}/fetch-models 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `group_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [FetchModelsResponse](https://docs.asktable.com/knowledge/developers/models/f.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/model-groups/{group\_id}/test-model 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `group_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [TestModelRequest](https://docs.asktable.com/knowledge/developers/models/t.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/operations.md # 平台运营 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: operations · 平台运营 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /auth/ops/aiproxy-quota 运营为指定用户充值 AIProxy 配额(运营充值,无需支付) **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [GrantAiProxyQuotaRequest](https://docs.asktable.com/knowledge/developers/models/g.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/ops/credits 运营为指定 Team 组织赠送积分(系统赠送,无需支付)。 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [GrantCreditRequest](https://docs.asktable.com/knowledge/developers/models/g.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/ops/licenses 运营直接签发 License,无需购买 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [CreateLicenseRequest](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `201` — 成功响应 `application/json` 类型: [LicenseResponse](https://docs.asktable.com/knowledge/developers/models/l.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /auth/ops/organizations/{org\_id}/member-limit 资料未说明 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `org_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [MemberLimitUpdate](https://docs.asktable.com/knowledge/developers/models/m.md). — **响应** `200` — 成功响应 `application/json` 类型: [MemberLimitResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/ops/subscriptions 运营为指定组织开通 Team 套餐(运营赠送,无需支付)。 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [GrantSubscriptionRequest](https://docs.asktable.com/knowledge/developers/models/g.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/ops/transfer-projects 将一个用户名下所有项目过户给另一个用户(用于已删除用户的资源交接) **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [TransferProjectsRequest](https://docs.asktable.com/knowledge/developers/models/t.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/ops/users/{user\_id} 运营软删除指定用户(禁止登录,保留数据用于审计) **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `user_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/organization.md # 组织 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: organization · 账号与项目管理 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /auth/invitations 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([InvitationResponse](https://docs.asktable.com/knowledge/developers/models/i.md)). — 数组元素: 类型: [InvitationResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/invitations/{token}/accept 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `token` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [InvitationAcceptResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: array ([OrganizationListItem](https://docs.asktable.com/knowledge/developers/models/o.md)). — 数组元素: 类型: [OrganizationListItem](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/organizations 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [OrganizationCreate](https://docs.asktable.com/knowledge/developers/models/o.md). — **响应** `201` — 成功响应 `application/json` 类型: [OrganizationResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/organizations/bootstrap 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `Idempotency-Key` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [OrganizationBootstrap](https://docs.asktable.com/knowledge/developers/models/o.md). — **响应** `201` — 成功响应 `application/json` 类型: [OrganizationBootstrapResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/creation-eligibility 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [OrganizationCreationEligibility](https://docs.asktable.com/knowledge/developers/models/o.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/current 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [OrganizationResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /auth/organizations/current 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [OrganizationUpdate](https://docs.asktable.com/knowledge/developers/models/o.md). — **响应** `200` — 成功响应 `application/json` 类型: [OrganizationResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/organizations/current 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/current/entitlement 许可证状态 + 配额 + 功能开关。不限角色:License 过期要 lock 住所有成员。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [OrganizationEntitlementResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/identity-integrations 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([IdentityIntegrationResponse](https://docs.asktable.com/knowledge/developers/models/i.md)). — 数组元素: 类型: [IdentityIntegrationResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PUT /auth/organizations/identity-integrations/wecom 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [WecomIdentityIntegrationUpdate](https://docs.asktable.com/knowledge/developers/models/w.md). — **响应** `200` — 成功响应 `application/json` 类型: [IdentityIntegrationResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PUT /auth/organizations/identity-integrations/wps 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [WpsIdentityIntegrationUpdate](https://docs.asktable.com/knowledge/developers/models/w.md). — **响应** `200` — 成功响应 `application/json` 类型: [IdentityIntegrationResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/organizations/identity-integrations/{provider} 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `provider` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/identity-integrations/{provider}/members/candidates 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `provider` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [IdentityImportCandidatesResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/organizations/identity-integrations/{provider}/members/import 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `provider` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [IdentityImportRequest](https://docs.asktable.com/knowledge/developers/models/i.md). — **响应** `200` — 成功响应 `application/json` 类型: [IdentityImportResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/invitations 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([InvitationResponse](https://docs.asktable.com/knowledge/developers/models/i.md)). — 数组元素: 类型: [InvitationResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/organizations/invitations 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [InvitationCreate](https://docs.asktable.com/knowledge/developers/models/i.md). — **响应** `201` — 成功响应 `application/json` 类型: [InvitationResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/organizations/invitations/{invitation\_id} 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `invitation_id` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/invite-link 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: anyOf: [InviteLinkResponse](https://docs.asktable.com/knowledge/developers/models/i.md) / `null`. — anyOf 1: 类型: [InviteLinkResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — anyOf 2: 类型: `null`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/organizations/invite-link 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/organizations/invite-link/rotate 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [InviteLinkResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/members 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `q` — 选填。 按昵称、邮箱、手机号或邀请标识符搜索 类型: anyOf: `string` / `null`. — 按昵称、邮箱、手机号或邀请标识符搜索 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [Page\_OrganizationMemberDirectoryItem\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/organizations/members/leave 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /auth/organizations/members/{member\_user\_id} 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `member_user_id` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [OrgMemberRoleUpdate](https://docs.asktable.com/knowledge/developers/models/o.md). — **响应** `200` — 成功响应 `application/json` 类型: [OrgMemberResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/organizations/members/{member\_user\_id} 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `member_user_id` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/projects 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `q` — 选填。 按项目名称或负责人昵称搜索 类型: anyOf: `string` / `null`. — 按项目名称或负责人昵称搜索 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [Page\_OrganizationProjectResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/projects/{project\_id} 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [OrganizationProjectResponse](https://docs.asktable.com/knowledge/developers/models/o.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/organizations/projects/{project\_id}/invite-link 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — `query` `project_role` — 选填。 资料未说明 类型: `string`. `default`: `"MEMBER"`; `enum`: `["MEMBER","ADMIN"]` `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: anyOf: [InviteLinkResponse](https://docs.asktable.com/knowledge/developers/models/i.md) / `null`. — anyOf 1: 类型: [InviteLinkResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — anyOf 2: 类型: `null`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/organizations/projects/{project\_id}/invite-link 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — `query` `project_role` — 选填。 资料未说明 类型: `string`. `default`: `"MEMBER"`; `enum`: `["MEMBER","ADMIN"]` `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/organizations/projects/{project\_id}/invite-link/rotate 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — `query` `project_role` — 选填。 资料未说明 类型: `string`. `default`: `"MEMBER"`; `enum`: `["MEMBER","ADMIN"]` `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [InviteLinkResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/organizations/transfer-ownership 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [OwnershipTransferRequest](https://docs.asktable.com/knowledge/developers/models/o.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前组织成员与登录增补 按产品 `4.2.48-1026` 核对:成员支持组织内独立的工号与部门;这些资料不参与身份认证和权限判断。停用成员时可预览并交接负责项目,新增接收人会获得相应项目访问权;个人资源交给项目负责人。企业登录现包含企业微信、WPS、飞书和钉钉,均需手动预导入成员;不同平台不会因相同手机号或邮箱合并账号。上方旧快照没有完整反映这些新增合约。见[成员与角色](https://docs.asktable.com/organization/members-and-roles)和[企业集成登录](https://docs.asktable.com/organization/enterprise-login)。 --- 来源:https://docs.asktable.com/knowledge/developers/api/polish.md # 文本润色与语音 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: polish · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /v1/polish 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [UserDescBody](https://docs.asktable.com/knowledge/developers/models/u.md). — **响应** `200` — 成功响应 `application/json` 类型: [PolishResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/polish/asr 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [AsrRequestBody](https://docs.asktable.com/knowledge/developers/models/a.md). — **响应** `200` — 成功响应 `application/json` 类型: [AsrResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/project.md # 项目 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: project · 账号与项目管理 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /auth/projects 获取当前用户的所有项目; ; 返回用户作为成员的所有项目列表 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([ProjectListResponse](https://docs.asktable.com/knowledge/developers/models/p.md)). — 数组元素: 类型: [ProjectListResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/projects 创建项目,创建者自动成为 OWNER **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ProjectCreate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `201` — 成功响应 `application/json` 类型: [ProjectCreateResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/projects/{project\_id} 获取当前用户可访问的项目详情。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID **响应** `200` — 成功响应 `application/json` 类型: [ProjectDetail](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /auth/projects/{project\_id} 项目有效管理者或组织 Owner/Admin 可更新项目名称。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: [ProjectUpdate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/projects/{project\_id} 删除项目(仅 OWNER 可操作,不能删除最后一个项目) **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /auth/projects/{project\_id}/access-policy 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: [ProjectAccessPolicyUpdate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [ProjectAccessPolicyResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/projects/{project\_id}/api-keys 获取项目所有 API Key(OWNER/ADMIN 可查看) **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: array ([APIKeyResponse](https://docs.asktable.com/knowledge/developers/models/a.md)). — 数组元素: 类型: [APIKeyResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/projects/{project\_id}/api-keys 创建项目 API Key(OWNER/ADMIN 可操作) **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: [APIKeyCreate](https://docs.asktable.com/knowledge/developers/models/a.md). — **响应** `201` — 成功响应 `application/json` 类型: [APIKeyCreateResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/projects/{project\_id}/api-keys/{key\_id} 删除项目 API Key(OWNER/ADMIN 可操作) **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `path` `key_id` — 必填。 API Key ID 类型: `string`. — API Key ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/projects/{project\_id}/member-candidates 列出本组织里可以加入该项目的 active 成员。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: array ([MemberCandidate](https://docs.asktable.com/knowledge/developers/models/m.md)). — 数组元素: 类型: [MemberCandidate](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/projects/{project\_id}/members 只返回显式项目成员。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: [Page\_ProjectUserResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/projects/{project\_id}/members 添加显式项目成员,一批 user\_id 共用一个角色,任一失败整批回滚。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: [ProjectUsersCreate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `201` — 成功响应 `application/json` 类型: array ([ProjectUserResponse](https://docs.asktable.com/knowledge/developers/models/p.md)). — 数组元素: 类型: [ProjectUserResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /auth/projects/{project\_id}/members/{member\_id} 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `path` `member_id` — 必填。 成员 ID 类型: `string`. — 成员 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: [ProjectUserRoleUpdate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [ProjectUserResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /auth/projects/{project\_id}/members/{member\_id} 移除显式项目成员;公开项目正式成员会恢复默认角色。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `path` `member_id` — 必填。 成员 ID 类型: `string`. — 成员 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/projects/{project\_id}/transfer-ownership 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 项目 ID 类型: `string`. — 项目 ID `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: [ProjectOwnershipTransferRequest](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/project 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [ProjectResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/project 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [ProjectUpdateUser](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [ProjectResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/project/model-groups 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([ProjectModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/p.md)). — 数组元素: 类型: [ProjectModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/user/projects 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [ProjectResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/user/projects 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [ProjectUpdateUser](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [ProjectResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/user/projects/model-groups 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([ProjectModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/p.md)). — 数组元素: 类型: [ProjectModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前项目发现与个人凭证 按产品 `4.2.48-1026` 核对:项目“可见”表示组织成员能发现并申请,获批、受邀或由管理员添加后才可进入;不能继续按旧默认项目角色推断所有组织成员可直接访问。个人 Key 只由本人管理,项目管理员也不能列出或撤销他人的个人 Key。系统集成 Key 与个人 Key 分开,不因为 admin 范围获得成员个人配置权限。见[组织与项目](https://docs.asktable.com/organization/overview)和[OpenAPI](https://docs.asktable.com/integrations/openapi)。 --- 来源:https://docs.asktable.com/knowledge/developers/api/redeem-code-ops.md # 兑换码运营 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: redeem-code-ops · 平台运营 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /auth/ops/redeem-codes 资料未说明 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [GenerateCodesRequest](https://docs.asktable.com/knowledge/developers/models/g.md). — **响应** `201` — 成功响应 `application/json` 类型: [GenerateCodesResponse](https://docs.asktable.com/knowledge/developers/models/g.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/ops/redeem-codes/batches 资料未说明 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `q` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `prefix` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `status` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `reward_type` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_BatchSummary\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/ops/redeem-codes/batches/{batch\_id} 资料未说明 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `batch_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [BatchSummary](https://docs.asktable.com/knowledge/developers/models/b.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/ops/redeem-codes/batches/{batch\_id}/codes 资料未说明 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `batch_id` — 必填。 资料未说明 类型: `string`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_RedeemCodeItem\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/ops/redeem-codes/batches/{batch\_id}/disable 资料未说明 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `batch_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [DisableResponse](https://docs.asktable.com/knowledge/developers/models/d.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/ops/redeem-codes/batches/{batch\_id}/export 资料未说明 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `batch_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/ops/redeem-codes/{code\_id}/disable 资料未说明 **使用场景:** 平台运营场景;不代表普通客户具备调用权限 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `code_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [RedeemCodeItem](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/redeem-code.md # 兑换 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: redeem-code · 账号与项目管理 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /auth/redeem-codes/redeem 用户自助兑换,成功返回发放快照 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [RedeemRequest](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `200` — 成功响应 `application/json` 类型: [RedeemResultResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/share.md # 公开分享 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: share · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/share/dataframes/{dataframe\_id}/full 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dataframe_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/share/{share\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `share_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [ShareResolveResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/skills.md # 分析技能 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: skills · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/skills 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([SkillResponse](https://docs.asktable.com/knowledge/developers/models/s.md)). — 数组元素: 类型: [SkillResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/skills 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [SkillCreate](https://docs.asktable.com/knowledge/developers/models/s.md). — **响应** `201` — 成功响应 `application/json` 类型: [SkillResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/skills/templates 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([SkillTemplateResponse](https://docs.asktable.com/knowledge/developers/models/s.md)). — 数组元素: 类型: [SkillTemplateResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/skills/{skill\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `skill_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `200` — 成功响应 `application/json` 类型: [SkillResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/skills/{skill\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `skill_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **请求体** — 必填 `application/json` 类型: [SkillUpdate](https://docs.asktable.com/knowledge/developers/models/s.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/skills/{skill\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `skill_id` — 必填。 资料未说明 类型: `string`. `format`: `"uuid"` **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前版本的技能归属与权限 本节按服务端 `v4.2.48-1026` 核对,补充上方 `4.2.34-1008` 规范快照未反映的个人资源授权;不是对全部旧版本的兼容声明。 - Skill 是个人配置资源。个人 Key 代表用户,`MEMBER` 可创建和维护自己的技能;项目负责人和管理员可治理项目内技能。系统集成 `admin` / `asker` Key 不得据其 API 角色读取或修改个人技能。 - `GET /v1/skills` 默认 `scope=mine`,列出本人技能。`scope=all` 要求项目负责人或管理员权限;CLI `0.0.10` 的 `skill list` 使用默认范围,没有 `--scope` 参数。 - `GET`、`PATCH`、`DELETE /v1/skills/{skill_id}` 检查资源归属及项目管理权限。Agent 分享只授予运行使用权,不会让接收者获得绑定技能的配置正文读取权。 - `GET /v1/skills/templates` 返回模板,模板与已创建技能分别管理。当前技能响应没有 `is_builtin`;不能用旧字段判断资源类型。 - CLI 的 `get-skill` 是随包内置的外部助手使用说明,不调用技能 API,不会创建 AskTable Skill。它与 `skill create`、Agent 绑定的分析方法不是同一资源。 使用说明见 [CLI](https://docs.asktable.com/integrations/cli);分析方法的编写与绑定见 [技能](https://docs.asktable.com/agent/skill)。 --- 来源:https://docs.asktable.com/knowledge/developers/api/subscription.md # 订阅与用量 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: subscription · 账号与项目管理 / 内部服务 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /auth/subscription 获取当前组织的订阅状态。 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [SubscriptionStatsResponse](https://docs.asktable.com/knowledge/developers/models/s.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/subscription/projects/{project\_id}/quota 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [ProjectCreditQuotaResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /auth/subscription/projects/{project\_id}/quota 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ProjectCreditQuotaUpdate](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [ProjectCreditQuotaResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/subscription/usage 获取当前用户的积分流水(分页) **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [Page\_CreditsUsageResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/subscription/usage/overview 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [UsageOverviewResponse](https://docs.asktable.com/knowledge/developers/models/u.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/subscription/usage/report 上报用量并触发扣费,属于供应用服务调用的内部接口。 **使用场景:** 内部服务;非普通客户集成入口 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [UsageReportRequest](https://docs.asktable.com/knowledge/developers/models/u.md). — **响应** `200` — 成功响应 `application/json` 类型: [UsageReportResponse](https://docs.asktable.com/knowledge/developers/models/u.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /auth/subscription/usage/trend 资料未说明 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `group_by` — 选填。 资料未说明 类型: `string`. `default`: `"project"`; `enum`: `["project","actor"]` `query` `period` — 选填。 资料未说明 类型: `string`. `default`: `"30_days"`; `enum`: `["day","7_days","30_days"]` `header` `X-Org-Id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [UsageTrendResponse](https://docs.asktable.com/knowledge/developers/models/u.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/sys.md # 系统认证与项目管理 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: sys · 管理人员 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/sys/projects 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `project_ids` — 选填。 项目ID列表 类型: anyOf: array (`string`) / `null`. `default`: `[]` 项目ID列表 anyOf 1: 类型: array (`string`). — 数组元素: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_ProjectResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/sys/projects 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: [ProjectCreate-6491cd44](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `201` — 成功响应 `application/json` 类型: [ProjectResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/sys/projects/import 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `header` `X-Org-Id` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **请求体** — 必填 `application/json` 类型: `object`. `additionalProperties`: `true` **响应** `200` — 成功响应 `application/json` 类型: `object`. `additionalProperties`: `true` `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/sys/projects/model-groups 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: array ([ModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/m.md)). — 数组元素: 类型: [ModelGroupResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/sys/projects/{project\_id} 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [ProjectResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/sys/projects/{project\_id} 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ProjectUpdate-d02f7f58](https://docs.asktable.com/knowledge/developers/models/p.md). — **响应** `200` — 成功响应 `application/json` 类型: [ProjectResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/sys/projects/{project\_id} 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/sys/projects/{project\_id}/api-keys 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([APIKeyResponse](https://docs.asktable.com/knowledge/developers/models/a.md)). — 数组元素: 类型: [APIKeyResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/sys/projects/{project\_id}/api-keys 创建API Key **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [APIKeyCreate](https://docs.asktable.com/knowledge/developers/models/a.md). — **响应** `201` — 成功响应 `application/json` 类型: [APIKeyCreateResponse](https://docs.asktable.com/knowledge/developers/models/a.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/sys/projects/{project\_id}/api-keys/{key\_id} 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — `path` `key_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/sys/projects/{project\_id}/export 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `object`. `additionalProperties`: `true` `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/sys/projects/{project\_id}/tokens 资料未说明 **使用场景:** 系统或部署管理场景;具体身份要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `project_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [TokenCreate](https://docs.asktable.com/knowledge/developers/models/t.md). — **响应** `200` — 成功响应 `application/json` 类型: `object`. `additionalProperties`: `true` `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/tables.md # 保存的数据表 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: tables · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/tables 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `query` `page` — 选填。 资料未说明 类型: `integer`. `default`: `1`; `minimum`: `1` `query` `size` — 选填。 资料未说明 类型: `integer`. `default`: `12`; `minimum`: `1`; `maximum`: `50` **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/tables/from-dataframe/{dataframe\_id} 将对话产生的 artifact dataframe 升级为持久化 Table。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `dataframe_id` — 必填。 资料未说明 类型: `string`. — **响应** `201` — 成功响应 `application/json` 类型: [TableResponse-501d9d87](https://docs.asktable.com/knowledge/developers/models/t.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/tables/{table\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `table_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [TableResponse-501d9d87](https://docs.asktable.com/knowledge/developers/models/t.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/tables/{table\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `table_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [TableUpdate](https://docs.asktable.com/knowledge/developers/models/t.md). — **响应** `200` — 成功响应 `application/json` 类型: [TableResponse-501d9d87](https://docs.asktable.com/knowledge/developers/models/t.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/tables/{table\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `table_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/tables/{table\_id}/refresh 将数据表刷新加入队列;已有刷新正在运行时返回 409。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `table_id` — 必填。 资料未说明 类型: `string`. — **响应** `202` — 成功响应 `application/json` 类型: [TableResponse-501d9d87](https://docs.asktable.com/knowledge/developers/models/t.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## 当前数据表刷新身份 按产品 `4.2.48-1026` 核对:有执行用户的数据表按该用户当前数据角色刷新,不要求先绑定 Agent。缺少执行用户的旧表需先显式建立执行身份,不能猜测历史查询人或沿用旧角色快照。对话和看板中的表格可下载 Excel 或 CSV。见[结果与数据制品](https://docs.asktable.com/results)和[数据看板](https://docs.asktable.com/dashboard)。 --- 来源:https://docs.asktable.com/knowledge/developers/api/telemetry.md # 诊断信息上报 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: telemetry · 内部服务 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /v1/telemetry/upload 上传日志及诊断信息。请求会自动收集系统信息、配置快照、健康检查和当前日志文件,无需提供参数。 **使用场景:** 内部服务;非普通客户集成入口 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [TelemetryUploadResponse](https://docs.asktable.com/knowledge/developers/models/t.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/training.md # 训练数据 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: training · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /v1/datasources/{ds\_id}/training 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `ds_id` — 必填。 资料未说明 类型: `string`. — `query` `q` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `page` — 选填。 页码 类型: `integer`. `default`: `1`; `minimum`: `1` 页码 `query` `size` — 选填。 每页数量 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `100` 每页数量 **响应** `200` — 成功响应 `application/json` 类型: [Page\_TrainingPairResponse\_](https://docs.asktable.com/knowledge/developers/models/p.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{ds\_id}/training 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `ds_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: array ([TrainingPairCreate](https://docs.asktable.com/knowledge/developers/models/t.md)). — 数组元素: 类型: [TrainingPairCreate](https://docs.asktable.com/knowledge/developers/models/t.md). — **响应** `200` — 成功响应 `application/json` 类型: array ([TrainingPairResponse](https://docs.asktable.com/knowledge/developers/models/t.md)). — 数组元素: 类型: [TrainingPairResponse](https://docs.asktable.com/knowledge/developers/models/t.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{ds\_id}/training/{id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `ds_id` — 必填。 资料未说明 类型: `string`. — `path` `id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [TrainingPairResponse](https://docs.asktable.com/knowledge/developers/models/t.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/datasources/{ds\_id}/training/{id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `ds_id` — 必填。 资料未说明 类型: `string`. — `path` `id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [TrainingPairUpdate](https://docs.asktable.com/knowledge/developers/models/t.md). — **响应** `202` — 成功响应 `application/json` 类型: [TrainingPairResponse](https://docs.asktable.com/knowledge/developers/models/t.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/datasources/{ds\_id}/training/{id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_viewer","priv_admin"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `ds_id` — 必填。 资料未说明 类型: `string`. — `path` `id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/untagged.md # 公开系统信息 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: untagged · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /system/info 获取公开的系统配置,无需认证 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** security 字段未声明;认证的文字说明如有见上文,未说明的条件仍需确认。 Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [PublicConfigResponse](https://docs.asktable.com/knowledge/developers/models/p.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/user.md # 用户资料 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: user · 账号与项目管理 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## GET /auth/user/me 获取当前用户完整信息 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **响应** `200` — 成功响应 `application/json` 类型: [UserProfileResponse](https://docs.asktable.com/knowledge/developers/models/u.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /auth/user/me/profile 更新用户档案; ; 可更新字段: nickname, avatar\_url, entity\_type, entity\_name **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [UserProfileUpdate](https://docs.asktable.com/knowledge/developers/models/u.md). — **响应** `200` — 成功响应 `application/json` 类型: [UserProfileResponse](https://docs.asktable.com/knowledge/developers/models/u.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/user/verification/send 发送验证码; ; purpose:; - BIND\_PHONE: 绑定手机号; - RESET\_PASSWORD: 重置密码 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [VerificationSendRequest](https://docs.asktable.com/knowledge/developers/models/v.md). — **响应** `200` — 成功响应 `application/json` 类型: [MessageResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /auth/user/verification/verify 验证验证码并执行对应操作; ; purpose:; - BIND\_PHONE: 验证成功后绑定手机号; - RESET\_PASSWORD: 验证成功后允许重置密码 **使用场景:** 账号、组织或项目管理场景;具体角色要求以接口说明为准 **认证与权限(规范声明):** `[{"HTTPBearer":[]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [VerificationVerifyRequest](https://docs.asktable.com/knowledge/developers/models/v.md). — **响应** `200` — 成功响应 `application/json` 类型: [MessageResponse](https://docs.asktable.com/knowledge/developers/models/m.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/api/workbook.md # 工作簿 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: workbook · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 以下使用者分类用于查找接口,不替代服务器鉴权。 请求示例和字段示例仅为规范数据,不代表已执行生产请求。 ## POST /v1/datasources/workbook/commit-from-excel 提交第一步:创建数据源、工作簿、工作表和数据。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [CommitFromExcelRequest](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `201` — 成功响应 `application/json` 类型: [CommitFromExcelResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/workbook/commit-from-feishu 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [CommitFromFeishuRequest](https://docs.asktable.com/knowledge/developers/models/c.md). — **响应** `201` — 成功响应 `application/json` 类型: [CommitFromFeishuResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/workbook/feishu/resolve 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [FeishuResolveRequest](https://docs.asktable.com/knowledge/developers/models/f.md). — **响应** `200` — 成功响应 `application/json` 类型: [FeishuResolveResponse](https://docs.asktable.com/knowledge/developers/models/f.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/workbook/feishu/tables 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `application/json` 类型: [FeishuTablesRequest](https://docs.asktable.com/knowledge/developers/models/f.md). — **响应** `200` — 成功响应 `application/json` 类型: [FeishuTablesResponse](https://docs.asktable.com/knowledge/developers/models/f.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/workbook/infer-schema 第一步:上传 Excel,返回各 Sheet 的结构推断。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** 规范未声明路径、查询或请求头参数。 **请求体** — 必填 `multipart/form-data` 类型: [RequestBody-fcedb7f1](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `200` — 成功响应 `application/json` 类型: [InferSchemaResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/workbook 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [WorkbookResponse](https://docs.asktable.com/knowledge/developers/models/w.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/workbook/annotate 异步给 workbook 空描述字段生成 AI 描述并建语义索引(存量回填 / 重跑)。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/workbook/feishu-source 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: [FeishuSourceResponse](https://docs.asktable.com/knowledge/developers/models/f.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/datasources/{datasource\_id}/workbook/feishu-source 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [FeishuSourceUpdate](https://docs.asktable.com/knowledge/developers/models/f.md). — **响应** `200` — 成功响应 `application/json` 类型: [FeishuSourceResponse](https://docs.asktable.com/knowledge/developers/models/f.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/workbook/feishu-source/sync 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `202` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/workbook/import-commit 提交第二步:按照 Sheet 与工作表的映射追加或替换数据。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [ImportCommitRequest](https://docs.asktable.com/knowledge/developers/models/i.md). — **响应** `200` — 成功响应 `application/json` 类型: [ImportCommitResponse](https://docs.asktable.com/knowledge/developers/models/i.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/workbook/import-infer 第二步:上传文件,返回各 Sheet 与已有工作表之间的列差异。 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `multipart/form-data` 类型: [RequestBody-aa925a00](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/workbook/worksheets 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([WorksheetResponse](https://docs.asktable.com/knowledge/developers/models/w.md)). — 数组元素: 类型: [WorksheetResponse](https://docs.asktable.com/knowledge/developers/models/w.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/workbook/worksheets 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [WorksheetCreate](https://docs.asktable.com/knowledge/developers/models/w.md). — **响应** `201` — 成功响应 `application/json` 类型: [WorksheetResponse](https://docs.asktable.com/knowledge/developers/models/w.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/datasources/{datasource\_id}/workbook/worksheets/{worksheet\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [WorksheetUpdate](https://docs.asktable.com/knowledge/developers/models/w.md). — **响应** `200` — 成功响应 `application/json` 类型: [WorksheetResponse](https://docs.asktable.com/knowledge/developers/models/w.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/datasources/{datasource\_id}/workbook/worksheets/{worksheet\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/datasources/{datasource\_id}/workbook/worksheets/{worksheet\_id}/fields 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `application/json` 类型: array ([WorkbookFieldResponse](https://docs.asktable.com/knowledge/developers/models/w.md)). — 数组元素: 类型: [WorkbookFieldResponse](https://docs.asktable.com/knowledge/developers/models/w.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/datasources/{datasource\_id}/workbook/worksheets/{worksheet\_id}/fields 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [WorkbookFieldCreate](https://docs.asktable.com/knowledge/developers/models/w.md). — **响应** `201` — 成功响应 `application/json` 类型: [WorkbookFieldResponse](https://docs.asktable.com/knowledge/developers/models/w.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/datasources/{datasource\_id}/workbook/worksheets/{worksheet\_id}/fields/{field\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — `path` `field_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [WorkbookFieldUpdate](https://docs.asktable.com/knowledge/developers/models/w.md). — **响应** `200` — 成功响应 `application/json` 类型: [WorkbookFieldResponse](https://docs.asktable.com/knowledge/developers/models/w.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/datasources/{datasource\_id}/workbook/worksheets/{worksheet\_id}/fields/{field\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `datasource_id` — 必填。 资料未说明 类型: `string`. — `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — `path` `field_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/worksheets/{worksheet\_id}/export.csv 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — **响应** `200` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## GET /v1/worksheets/{worksheet\_id}/rows 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — `query` `cursor` — 选填。 资料未说明 类型: anyOf: `string` / `null`. — anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `limit` — 选填。 资料未说明 类型: `integer`. `default`: `50`; `minimum`: `1`; `maximum`: `500` `query` `filter` — 选填。 JSON 编码的过滤条件列表 类型: anyOf: `string` / `null`. — JSON 编码的过滤条件列表 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — `query` `sort` — 选填。 JSON 编码的排序条件列表 类型: anyOf: `string` / `null`. — JSON 编码的排序条件列表 anyOf 1: 类型: `string`. — anyOf 2: 类型: `null`. — **响应** `200` — 成功响应 `application/json` 类型: [CursorRowListResponse](https://docs.asktable.com/knowledge/developers/models/c.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/worksheets/{worksheet\_id}/rows 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [RowCreate](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `201` — 成功响应 `application/json` 类型: [RowResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## PATCH /v1/worksheets/{worksheet\_id}/rows/{row\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — `path` `row_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [RowUpdate](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `200` — 成功响应 `application/json` 类型: [RowResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## DELETE /v1/worksheets/{worksheet\_id}/rows/{row\_id} 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — `path` `row_id` — 必填。 资料未说明 类型: `string`. — **响应** `204` — 成功响应 `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/worksheets/{worksheet\_id}/rows:batch-create 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [RowBatchCreate](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `201` — 成功响应 `application/json` 类型: [RowBatchCreateResponse](https://docs.asktable.com/knowledge/developers/models/r.md). — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 ## POST /v1/worksheets/{worksheet\_id}/rows:batch-delete 资料未说明 **使用场景:** 应用开发者;实际调用资格以认证与授权规则为准 **认证与权限(规范声明):** `[{"HTTPBearer":["priv_asker"]}]` Bearer 声明仅说明凭据传递方式;空权限数组不代表匿名访问,也不能据此判断 API Key 与登录令牌可互换。组织归属、资源可见范围及未声明的权限条件,资料未说明。 **请求参数** `path` `worksheet_id` — 必填。 资料未说明 类型: `string`. — **请求体** — 必填 `application/json` 类型: [RowBatchDelete](https://docs.asktable.com/knowledge/developers/models/r.md). — **响应** `200` — 成功响应 `application/json` 类型: `any`. — `422` — 参数验证错误 `application/json` 类型: [HTTPValidationError](https://docs.asktable.com/knowledge/developers/models/h.md). — 未列出的业务错误、重试与幂等保证:资料未说明。 --- 来源:https://docs.asktable.com/knowledge/developers/index.md # API 参考 接口结构与规范声明;未说明的运行条件需另行确认。 API 参考 · 模块: api · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 按资源查找全部接口。阅读接口时同时核对用途、规范声明的权限和请求结构;内部及运营接口不等于客户可调用接口。 | 资源 | 接口操作数 | | ------------------------------------------------------------------------------ | ----- | | [系统管理](https://docs.asktable.com/knowledge/developers/api/admin.md) | 12 | | [AIProxy](https://docs.asktable.com/knowledge/developers/api/aiproxy.md) | 3 | | [阿里云市场](https://docs.asktable.com/knowledge/developers/api/aliyun-market.md) | 2 | | [认证与登录](https://docs.asktable.com/knowledge/developers/api/auth.md) | 9 | | [支付与订单](https://docs.asktable.com/knowledge/developers/api/billing.md) | 4 | | [组织](https://docs.asktable.com/knowledge/developers/api/organization.md) | 32 | | [许可证](https://docs.asktable.com/knowledge/developers/api/license.md) | 1 | | [平台运营](https://docs.asktable.com/knowledge/developers/api/operations.md) | 7 | | [兑换码运营](https://docs.asktable.com/knowledge/developers/api/redeem-code-ops.md) | 7 | | [项目](https://docs.asktable.com/knowledge/developers/api/project.md) | 21 | | [兑换](https://docs.asktable.com/knowledge/developers/api/redeem-code.md) | 1 | | [订阅与用量](https://docs.asktable.com/knowledge/developers/api/subscription.md) | 7 | | [用户资料](https://docs.asktable.com/knowledge/developers/api/user.md) | 4 | | [公开系统信息](https://docs.asktable.com/knowledge/developers/api/untagged.md) | 1 | | [数据访问控制](https://docs.asktable.com/knowledge/developers/api/access-control.md) | 26 | | [分析画卷](https://docs.asktable.com/knowledge/developers/api/canvas.md) | 30 | | [消息渠道](https://docs.asktable.com/knowledge/developers/api/channels.md) | 6 | | [对话](https://docs.asktable.com/knowledge/developers/api/conversations.md) | 17 | | [数据看板](https://docs.asktable.com/knowledge/developers/api/dashboards.md) | 9 | | [智能体](https://docs.asktable.com/knowledge/developers/api/data-agents.md) | 33 | | [数据结果](https://docs.asktable.com/knowledge/developers/api/dataframes.md) | 7 | | [数据源](https://docs.asktable.com/knowledge/developers/api/datasources.md) | 24 | | [工作簿](https://docs.asktable.com/knowledge/developers/api/workbook.md) | 27 | | [值索引](https://docs.asktable.com/knowledge/developers/api/indexes.md) | 3 | | [训练数据](https://docs.asktable.com/knowledge/developers/api/training.md) | 5 | | [嵌入](https://docs.asktable.com/knowledge/developers/api/embed.md) | 10 | | [文件解析](https://docs.asktable.com/knowledge/developers/api/file-parse.md) | 1 | | [集成问数](https://docs.asktable.com/knowledge/developers/api/integration.md) | 1 | | [模型组](https://docs.asktable.com/knowledge/developers/api/model-groups.md) | 7 | | [文本润色与语音](https://docs.asktable.com/knowledge/developers/api/polish.md) | 2 | | [公开分享](https://docs.asktable.com/knowledge/developers/api/share.md) | 2 | | [分析技能](https://docs.asktable.com/knowledge/developers/api/skills.md) | 6 | | [系统认证与项目管理](https://docs.asktable.com/knowledge/developers/api/sys.md) | 12 | | [保存的数据表](https://docs.asktable.com/knowledge/developers/api/tables.md) | 6 | | [诊断信息上报](https://docs.asktable.com/knowledge/developers/api/telemetry.md) | 1 | ### 认证声明 ```json { "HTTPBearer": { "type": "http", "scheme": "bearer" } } ``` ### 数据模型 - [A](https://docs.asktable.com/knowledge/developers/models/a.md) - [B](https://docs.asktable.com/knowledge/developers/models/b.md) - [C](https://docs.asktable.com/knowledge/developers/models/c.md) - [D](https://docs.asktable.com/knowledge/developers/models/d.md) - [E](https://docs.asktable.com/knowledge/developers/models/e.md) - [F](https://docs.asktable.com/knowledge/developers/models/f.md) - [G](https://docs.asktable.com/knowledge/developers/models/g.md) - [H](https://docs.asktable.com/knowledge/developers/models/h.md) - [I](https://docs.asktable.com/knowledge/developers/models/i.md) - [L](https://docs.asktable.com/knowledge/developers/models/l.md) - [M](https://docs.asktable.com/knowledge/developers/models/m.md) - [N](https://docs.asktable.com/knowledge/developers/models/n.md) - [O](https://docs.asktable.com/knowledge/developers/models/o.md) - [P](https://docs.asktable.com/knowledge/developers/models/p.md) - [Q](https://docs.asktable.com/knowledge/developers/models/q.md) - [R](https://docs.asktable.com/knowledge/developers/models/r.md) - [S](https://docs.asktable.com/knowledge/developers/models/s.md) - [T](https://docs.asktable.com/knowledge/developers/models/t.md) - [U](https://docs.asktable.com/knowledge/developers/models/u.md) - [V](https://docs.asktable.com/knowledge/developers/models/v.md) - [W](https://docs.asktable.com/knowledge/developers/models/w.md) [先完成一次 REST API 调用](https://docs.asktable.com/integrations/openapi) · [版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md) ## 当前资料使用顺序 本目录保留历史 OpenAPI 合约;当前核验范围为产品 `4.2.48-1026` 与 CLI `0.0.10`。旧 `/v1/integration/query` 已移除,成员身份、个人资源、独立任务/嵌入及组织登录合约有变化。先读[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md),再读相关页人工补充;不要以旧快照缺少接口推断当前没有该功能。 --- 来源:https://docs.asktable.com/knowledge/developers/models/a.md # 数据模型 A 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## AccessConfigConnectionCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------------ | ------------------------------------ | | `host` | 否 | anyOf: `string` / `null`; — | 数据库地址; 示例: `["192.168.0.10"]` | | `port` | 否 | anyOf: `integer` / `null`; — | 数据库端口; 示例: `[3306]` | | `user` | 否 | anyOf: `string` / `null`; — | 数据库用户名; 示例: `["root"]` | | `db_version` | 否 | anyOf: `string` / `null`; — | 数据库版本; 示例: `["5.7"]` | | `db` | 否 | anyOf: `string` / `null`; — | 数据库名称; 示例: `["at_test"]` | | `extra_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 额外配置; 示例: `[{"ssl_mode":"require"}]` | | `password` | 否 | anyOf: `string` / `null`; — | 数据库密码; 示例: `["root"]` | | `credentials` | 否 | anyOf: `string` / `null`; — | 数据库凭证 JSON | ## AccessConfigConnectionResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------------ | ------------------------------------ | | `host` | 否 | anyOf: `string` / `null`; — | 数据库地址; 示例: `["192.168.0.10"]` | | `port` | 否 | anyOf: `integer` / `null`; — | 数据库端口; 示例: `[3306]` | | `user` | 否 | anyOf: `string` / `null`; — | 数据库用户名; 示例: `["root"]` | | `db_version` | 否 | anyOf: `string` / `null`; — | 数据库版本; 示例: `["5.7"]` | | `db` | 否 | anyOf: `string` / `null`; — | 数据库名称; 示例: `["at_test"]` | | `extra_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 额外配置; 示例: `[{"ssl_mode":"require"}]` | ## AccessConfigConnectionUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------------ | ------------------------------------ | | `host` | 否 | anyOf: `string` / `null`; — | 数据库地址; 示例: `["192.168.0.10"]` | | `port` | 否 | anyOf: `integer` / `null`; — | 数据库端口; 示例: `[3306]` | | `user` | 否 | anyOf: `string` / `null`; — | 数据库用户名; 示例: `["root"]` | | `password` | 否 | anyOf: `string` / `null`; — | 数据库密码; 示例: `["root"]` | | `credentials` | 否 | anyOf: `string` / `null`; — | 数据库凭证 JSON | | `db_version` | 否 | anyOf: `string` / `null`; — | 数据库版本; 示例: `["5.7"]` | | `db` | 否 | anyOf: `string` / `null`; — | 数据库名称; 示例: `["at_test"]` | | `extra_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 额外配置; 示例: `[{"ssl_mode":"require"}]` | ## AccessConfigFileCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------- | ---------------------- | | `files` | 是 | array (`string`); — | 数据源文件URL列表, 创建时可以传入URL | ## AccessConfigFileInfo 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------------------------------------------------ | ------- | | `id` | 是 | `string`; — | 资料未说明 | | `filename` | 是 | `string`; — | 资料未说明 | | `custom_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 文件自定义配置 | ## AccessConfigFileResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------------- | --------- | | `files` | 是 | array ([AccessConfigFileInfo](https://docs.asktable.com/knowledge/developers/models/a.md)); — | 数据源文件ID列表 | ## AccessConfigFileUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------------- | --------- | | `files` | 是 | array ([AccessConfigFileInfo](https://docs.asktable.com/knowledge/developers/models/a.md)); — | 数据源文件ID列表 | ## AccessConfigWorkbookCreate 类型: `object`. — 创建工作簿时不传 workbook\_id,由服务端设为 datasource\_id。 | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | --------------------------- | --------------------------------- | | `workbook_id` | 否 | anyOf: `string` / `null`; — | 工作簿标识,与 datasource\_id 相同,在创建时分配。 | ## AccessConfigWorkbookResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | --------------------------- | --------------------------------- | | `workbook_id` | 否 | anyOf: `string` / `null`; — | 工作簿标识,与 datasource\_id 相同,在创建时分配。 | ## AdminProjectMigrationRequest 类型: `object`. — 项目跨组织迁移请求 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ----------- | ------------------------- | | `target_org_id` | 是 | `string`; — | 目标组织 ID | | `new_owner_user_id` | 是 | `string`; — | 新项目负责人,必须是目标组织的 active 成员 | ## AdminProjectMigrationResponse 类型: `object`. — 项目跨组织迁移结果 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ------------ | ----- | | `project_id` | 是 | `string`; — | 资料未说明 | | `source_org_id` | 是 | `string`; — | 资料未说明 | | `target_org_id` | 是 | `string`; — | 资料未说明 | | `new_owner_user_id` | 是 | `string`; — | 资料未说明 | | `removed_member_count` | 是 | `integer`; — | 资料未说明 | | `revoked_api_key_count` | 是 | `integer`; — | 资料未说明 | ## AdminProjectOwnerCandidate 类型: `object`. — 组织内可担任项目 OWNER 的成员(不合格的已在服务端筛掉) | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | --------------------------- | ----- | | `user_id` | 是 | `string`; — | 资料未说明 | | `nickname` | 是 | `string`; — | 资料未说明 | | `email` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `role` | 是 | `string`; — | 资料未说明 | ## AdminProjectResponse 类型: `object`. — 管理员项目响应 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | --------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `owner_user_id` | 是 | `string`; — | 资料未说明 | | `owner_user_name` | 是 | `string`; — | 资料未说明 | | `role` | 是 | `string`; — | 资料未说明 | | `org_id` | 是 | `string`; — | 资料未说明 | | `org_name` | 是 | `string`; — | 资料未说明 | ## AdminSystemConfig 类型: `object`. — 系统配置快照 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------------------ | -- | ------------------------------------------- | ----- | | `at_agent_max_completions` | 是 | `integer`; — | 资料未说明 | | `at_excel_max_file_size_m` | 是 | `integer`; — | 资料未说明 | | `at_excel_max_sheets` | 是 | `integer`; — | 资料未说明 | | `at_excel_max_fields` | 是 | `integer`; — | 资料未说明 | | `at_csv_max_file_size_m` | 是 | `integer`; — | 资料未说明 | | `at_csv_max_fields` | 是 | `integer`; — | 资料未说明 | | `at_query_timeout_seconds` | 是 | `integer`; `minimum`: `1`; `maximum`: `300` | 资料未说明 | | `at_datasource_meta_max_table_count` | 是 | `integer`; — | 资料未说明 | | `at_process_tables_per_trunk` | 是 | `integer`; — | 资料未说明 | | `at_max_unique_values_per_field` | 是 | `integer`; — | 资料未说明 | | `at_max_value_index_fields` | 是 | `integer`; — | 资料未说明 | | `registration_enabled` | 是 | `boolean`; — | 资料未说明 | | `strong_password_enabled` | 是 | `boolean`; — | 资料未说明 | | `web_search_base_url` | 是 | `string`; — | 资料未说明 | | `web_search_api_key` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `web_search_model` | 是 | `string`; — | 资料未说明 | | `frontend_base_url` | 是 | `string`; — | 资料未说明 | ## AdminSystemConfigUpdate 类型: `object`. `additionalProperties`: `false` 系统配置部分更新请求 - 全字段 Optional | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------------------ | -- | --------------------------------------------------------------- | ----- | | `at_agent_max_completions` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_excel_max_file_size_m` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_excel_max_sheets` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_excel_max_fields` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_csv_max_file_size_m` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_csv_max_fields` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_query_timeout_seconds` | 否 | anyOf: `integer` (`minimum`: `1`; `maximum`: `300`) / `null`; — | 资料未说明 | | `at_datasource_meta_max_table_count` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_process_tables_per_trunk` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_max_unique_values_per_field` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `at_max_value_index_fields` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `registration_enabled` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | | `strong_password_enabled` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | | `web_search_base_url` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `web_search_api_key` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `web_search_model` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `frontend_base_url` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## AdminUserCreate 类型: `object`. — 管理员创建用户请求 | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | -------------------------------------- | ----------- | | `language` | 否 | `string`; `default`: `"zh-CN"` | 语言偏好 | | `timezone` | 否 | `string`; `default`: `"Asia/Shanghai"` | 时区 | | `email` | 是 | `string`; — | 邮箱 | | `password_hash` | 是 | `string`; — | SHA256 哈希密码 | | `name` | 是 | `string`; — | 用户名 | ## AdminUserResponse 类型: `object`. — 管理员用户响应 | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | --------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `email` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `user_auth_role` | 是 | `string`; — | 资料未说明 | | `source` | 是 | `string`; — | 资料未说明 | | `disabled` | 是 | `boolean`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## AdminUserUpdate 类型: `object`. — 管理员更新用户请求 | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ---------------------------- | ----- | | `name` | 否 | anyOf: `string` / `null`; — | 用户名 | | `email` | 否 | anyOf: `string` / `null`; — | 邮箱 | | `password_hash` | 否 | anyOf: `string` / `null`; — | 新密码哈希 | | `role` | 否 | anyOf: `string` / `null`; — | 角色 | | `disabled` | 否 | anyOf: `boolean` / `null`; — | 是否禁用 | ## AgentCapabilities 类型: `object`. — 可选能力开关。Python/图表/澄清默认启用,联网搜索 opt-in(默认关闭)。 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ----------------------------- | ----- | | `python_enabled` | 否 | `boolean`; `default`: `true` | 资料未说明 | | `chart_enabled` | 否 | `boolean`; `default`: `true` | 资料未说明 | | `clarification_enabled` | 否 | `boolean`; `default`: `true` | 资料未说明 | | `web_search_enabled` | 否 | `boolean`; `default`: `false` | 资料未说明 | ## AgentFeedbackItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | --------------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `rating` | 是 | `string`; `enum`: `["up","down"]` | 资料未说明 | | `comment` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `status` | 是 | `string`; `enum`: `["open","resolved"]` | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `user_id` | 是 | `string`; — | 资料未说明 | | `user_nickname` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `user_avatar_url` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `conversation_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `conversation_name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `message_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `message_excerpt` | 是 | `string`; — | 资料未说明 | ## AiProxyAccountResponse 类型: `object`. — AIProxy 账户创建响应 | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | --------------------------------- | ------------ | | `aiproxy_token` | 是 | `string`; — | AIProxy 访问令牌 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | ## AiProxyInfoResponse 类型: `object`. — AIProxy 信息响应(含余额) | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ----------- | ------------ | | `aiproxy_token` | 是 | `string`; — | AIProxy 访问令牌 | | `remain_quota` | 是 | `number`; — | 剩余额度 | ## AIProxyUsage 类型: `object`. — AIProxy 使用记录 | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | --------------------------------- | ----- | | `id` | 是 | `integer`; — | 资料未说明 | | `user_id` | 是 | `string`; — | 资料未说明 | | `user_name` | 是 | `string`; — | 资料未说明 | | `dm_model` | 是 | `string`; — | 资料未说明 | | `channel_name` | 是 | `string`; — | 资料未说明 | | `channel_model` | 是 | `string`; — | 资料未说明 | | `input_tokens` | 是 | `integer`; — | 资料未说明 | | `output_tokens` | 是 | `integer`; — | 资料未说明 | | `cost` | 是 | `number`; — | 资料未说明 | | `elapsed_time` | 是 | `integer`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `is_stream` | 是 | `boolean`; — | 资料未说明 | | `error_message` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `request_id` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## AIProxyUsagePage 类型: `object`. — AIProxy 使用记录分页 | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([AIProxyUsage](https://docs.asktable.com/knowledge/developers/models/a.md)); — | 资料未说明 | | `page` | 是 | `integer`; — | 资料未说明 | | `size` | 是 | `integer`; — | 资料未说明 | | `total` | 是 | `integer`; — | 资料未说明 | | `pages` | 是 | `integer`; — | 资料未说明 | ## APIKeyCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------------------------------------------------------- | ------------------------------------ | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `100` | API Key 名称 | | `ak_role` | 是 | [APIKeyRole](https://docs.asktable.com/knowledge/developers/models/a.md); — | API key 的角色; 示例: `["admin","asker"]` | | `expires_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 过期时间;空表示不过期 | ## APIKeyCreateResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | --------------------------------------------------------------------------- | -------------------- | | `ak_role` | 是 | [APIKeyRole](https://docs.asktable.com/knowledge/developers/models/a.md); — | 资料未说明 | | `name` | 否 | anyOf: `string` / `null`; — | API Key 名称;旧 key 可为空 | | `expires_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 过期时间 | | `id` | 是 | `string`; — | API Key ID | | `masked_ak_value` | 是 | `string`; — | 打码后的API Key | | `project_id` | 是 | `string`; — | 项目ID | | `status` | 是 | `integer`; — | 状态 | | `last_used_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 最后使用时间 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `created_by` | 否 | anyOf: `string` / `null`; — | 创建者 User ID | | `original_ak_value` | 是 | `string`; — | 资料未说明 | ## APIKeyResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | --------------------------------------------------------------------------- | -------------------- | | `ak_role` | 是 | [APIKeyRole](https://docs.asktable.com/knowledge/developers/models/a.md); — | 资料未说明 | | `name` | 否 | anyOf: `string` / `null`; — | API Key 名称;旧 key 可为空 | | `expires_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 过期时间 | | `id` | 是 | `string`; — | API Key ID | | `masked_ak_value` | 是 | `string`; — | 打码后的API Key | | `project_id` | 是 | `string`; — | 项目ID | | `status` | 是 | `integer`; — | 状态 | | `last_used_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 最后使用时间 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `created_by` | 否 | anyOf: `string` / `null`; — | 创建者 User ID | ## APIKeyRole 类型: `string`. `enum`: `["sys","admin","asker"]` ## AppInfo 类型: `object`. — 买家控制台应用信息 | 字段 | 必填 | 类型与约束 | 说明 | | --------------------- | -- | ----------------------------------------------------------------------------------------------------------- | ----- | | `licenseId` | 是 | `string`; — | 资料未说明 | | `licenseValidPeriod` | 是 | `string`; — | 资料未说明 | | `licenseForUserGuide` | 否 | `string`; `default`: `"https://docs.asktable.com/docs/pricing-and-deployment/private-deployment-on-aliyun"` | 资料未说明 | ## AsrRequestBody 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------------- | -- | ------------------------------- | --------------------- | | `audio_data` | 是 | `string`; — | base64编码的音频数据 | | `voice_format` | 否 | `string`; `default`: `"amr"` | 音频格式,如:amr, wav, mp3等 | | `engine_service_type` | 否 | `string`; `default`: `"16k_zh"` | 语音识别引擎类型,默认16k\_zh | ## AsrResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ---------------------------- | -------- | | `result` | 是 | `string`; — | 识别出的文本 | | `audio_duration` | 否 | anyOf: `integer` / `null`; — | 音频时长(毫秒) | | `request_id` | 否 | anyOf: `string` / `null`; — | 请求ID | --- 来源:https://docs.asktable.com/knowledge/developers/models/b.md # 数据模型 B 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## BatchDeleteBody 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | --------------------------------- | ---------- | | `node_ids` | 是 | array (`string`); `minItems`: `1` | 要删除的节点ID列表 | ## BatchSummary 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | --------------------------------------------------------------------------------------- | ----- | | `batch_id` | 是 | `string`; — | 资料未说明 | | `prefix` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `reward_type` | 是 | `string`; — | 资料未说明 | | `plan_id` | 是 | anyOf: [PlanId](https://docs.asktable.com/knowledge/developers/models/p.md) / `null`; — | 资料未说明 | | `duration_months` | 是 | anyOf: `integer` / `null`; — | 资料未说明 | | `addon_credit` | 是 | anyOf: `integer` / `null`; — | 资料未说明 | | `total_generated` | 是 | `integer`; — | 资料未说明 | | `total_used` | 是 | `integer`; — | 资料未说明 | | `total_remaining` | 是 | `integer`; — | 资料未说明 | | `has_active` | 是 | `boolean`; — | 资料未说明 | | `note` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## BootstrapProject 类型: `object`. — 初始化时创建首个项目的请求。 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------------- | ----- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `50` | 资料未说明 | | `visibility` | 否 | `string`; `default`: `"PRIVATE"`; `enum`: `["PUBLIC","PRIVATE"]` | 资料未说明 | | `default_role` | 否 | `string`; `default`: `"MEMBER"`; `enum`: `["ADMIN","MEMBER"]` | 资料未说明 | --- 来源:https://docs.asktable.com/knowledge/developers/models/c.md # 数据模型 C 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## CanvasCloneRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | --------------------------- | ------------------- | | `name` | 否 | anyOf: `string` / `null`; — | 新画卷名称,默认在原名后追加副本后缀。 | ## CanvasCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | --------------------------- | ---- | | `name` | 是 | `string`; — | 画卷名称 | | `description` | 否 | anyOf: `string` / `null`; — | 画卷描述 | | `project_id` | 是 | `string`; — | 项目ID | ## CanvasResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------------- | ---- | | `name` | 是 | `string`; — | 画卷名称 | | `description` | 否 | anyOf: `string` / `null`; — | 画卷描述 | | `id` | 是 | `string`; — | 画卷ID | | `project_id` | 是 | `string`; — | 项目ID | | `is_favorited` | 否 | `boolean`; `default`: `false` | 是否收藏 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间 | ## CanvasSettingResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ------------------------------------------------------------------------------------------------- | ------- | | `id` | 是 | `string`; — | 设置ID | | `project_id` | 是 | `string`; — | 项目ID | | `chart_theme` | 否 | anyOf: [ChartThemeConfig](https://docs.asktable.com/knowledge/developers/models/c.md) / `null`; — | 图表主题配置 | | `chart_preference` | 否 | anyOf: `string` / `null`; — | 图表偏好指令 | | `show_reference_edges` | 是 | `boolean`; — | 是否显示引用边 | ## CanvasSettingUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ------------------------------------------------------------------------------------------------- | ------- | | `chart_theme` | 否 | anyOf: [ChartThemeConfig](https://docs.asktable.com/knowledge/developers/models/c.md) / `null`; — | 图表主题配置 | | `chart_preference` | 否 | anyOf: `string` (`maxLength`: `512`) / `null`; — | 图表偏好指令 | | `show_reference_edges` | 否 | anyOf: `boolean` / `null`; — | 是否显示引用边 | ## CanvasUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------- | ---- | | `name` | 否 | anyOf: `string` / `null`; — | 画卷名称 | | `description` | 否 | anyOf: `string` / `null`; — | 画卷描述 | | `is_favorited` | 否 | anyOf: `boolean` / `null`; — | 是否收藏 | ## ChannelCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | | `channel_type` | 是 | `string`; `enum`: `["feishu","slack"]` | 资料未说明 | | `data_agent_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `credentials` | 是 | anyOf: [FeishuCredentials](https://docs.asktable.com/knowledge/developers/models/f.md) / [SlackCredentials](https://docs.asktable.com/knowledge/developers/models/s.md); — | 资料未说明 | | `preferences` | 否 | `string`; `default`: `""`; `maxLength`: `1024` | 资料未说明 | | `reasoning_mode` | 否 | `string`; `default`: `"fast"`; `enum`: `["fast","deep"]` | 资料未说明 | | `reply_placement` | 否 | anyOf: [ReplyPlacement](https://docs.asktable.com/knowledge/developers/models/r.md) / `null`; — | 资料未说明 | ## ChannelResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------------- | -- | ------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `channel_type` | 是 | `string`; `enum`: `["feishu","slack"]` | 资料未说明 | | `data_agent_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `credentials` | 否 | `object`; `default`: `{}`; `additionalProperties`: `string` | 资料未说明 | | `preferences` | 是 | `string`; — | 资料未说明 | | `reasoning_mode` | 是 | `string`; `enum`: `["fast","deep"]` | 资料未说明 | | `reply_placement` | 是 | [ReplyPlacement](https://docs.asktable.com/knowledge/developers/models/r.md); — | 资料未说明 | | `permissions_enabled` | 是 | `boolean`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## ChannelStatus 类型: `string`. `enum`: `["disconnected","connecting","connected","error"]` ## ChannelStatusResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ----------------------------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `status` | 是 | [ChannelStatus](https://docs.asktable.com/knowledge/developers/models/c.md); — | 资料未说明 | | `connection_detail` | 否 | anyOf: `string` (`maxLength`: `200`) / `null`; — | 资料未说明 | | `connection_updated_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `latest_message` | 否 | anyOf: [LatestChannelMessage](https://docs.asktable.com/knowledge/developers/models/l.md) / `null`; — | 资料未说明 | ## ChannelUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | | `name` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `255`) / `null`; — | 资料未说明 | | `data_agent_id` | 否 | anyOf: `string` (`format`: `"uuid"`) / `null`; — | 资料未说明 | | `credentials` | 否 | anyOf: [FeishuCredentials](https://docs.asktable.com/knowledge/developers/models/f.md) / [SlackCredentials](https://docs.asktable.com/knowledge/developers/models/s.md) / `null`; — | 资料未说明 | | `preferences` | 否 | anyOf: `string` (`maxLength`: `1024`) / `null`; — | 资料未说明 | | `reasoning_mode` | 否 | anyOf: `string` (`enum`: `["fast","deep"]`) / `null`; — | 资料未说明 | | `reply_placement` | 否 | anyOf: [ReplyPlacement](https://docs.asktable.com/knowledge/developers/models/r.md) / `null`; — | 资料未说明 | | `permissions_enabled` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | ## ChartConfigUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------- | ----------------- | | `chart_config` | 是 | `object`; `additionalProperties`: `true` | ChartSpec JSON 配置 | ## ChartNodeData 类型: `object`. — 图表节点数据。; ; v2(新建路径):{question, chart\_config}; legacy(只读):{question, src\_code, out\_code} | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------------ | ------------------------------------------------------ | | `question` | 是 | `string`; — | 用户问题 | | `chart_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | ChartSpec JSON(Vega-Lite 子集)。pending/streaming 态为 None | | `src_code` | 否 | anyOf: `string` / `null`; — | 旧版图表的 JSX 内容 | | `out_code` | 否 | anyOf: `string` / `null`; — | 旧版图表编译后的内容 | ## ChartThemeConfig 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------------------------------------------------------------------------------------ | ----- | | `styleType` | 否 | `string`; `default`: `"modern"`; `enum`: `["modern","tech"]` | 资料未说明 | | `paletteId` | 否 | `string`; `default`: `"warm"`; `enum`: `["warm","ocean","forest","sunset","mono","custom"]` | 资料未说明 | | `customColors` | 否 | anyOf: array ([HSLColor](https://docs.asktable.com/knowledge/developers/models/h.md)) (`minItems`: `5`; `maxItems`: `5`) / `null`; — | 资料未说明 | ## ChatRole 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------------------------------------------------------ | ----------------------------- | | `role_id` | 否 | anyOf: `string` / `null`; — | 数据访问角色 ID; 示例: `["1"]` | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 数据访问角色变量; 示例: `[{"id":"42"}]` | ## ChatSessionCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------- | ---- | | `title` | 否 | anyOf: `string` / `null`; — | 会话标题 | ## ChatSessionDetail 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `title` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `messages` | 是 | array ([UIMessage](https://docs.asktable.com/knowledge/developers/models/u.md)); — | 资料未说明 | | `error_detail` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | ## ChatSessionMessageRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | -------------------------- | ---- | | `message` | 是 | `string`; `minLength`: `1` | 用户消息 | ## ChatSessionSummary 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | --------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `title` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## CheckoutRequest 类型: `object`. — 收银台下单请求 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | -------------------------------------------------------------------------------- | ----- | | `product_category` | 是 | [ProductCategory](https://docs.asktable.com/knowledge/developers/models/p.md); — | 资料未说明 | | `product_id` | 是 | `string`; — | 商品 ID | | `payment_provider` | 否 | `string`; `default`: `"WECHAT"` | 支付渠道 | | `quantity` | 是 | `integer`; `minimum`: `1` | 商品数量 | ## CheckoutResponse 类型: `object`. — 下单响应(含支付信息) | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------ | ----- | | `order_id` | 是 | `string`; — | 资料未说明 | | `amount_payable` | 是 | `integer`; — | 资料未说明 | | `payment_url` | 是 | `string`; — | 资料未说明 | ## ClarifyAnswer 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | --------------------------- | ----- | | `question_index` | 是 | `integer`; — | 资料未说明 | | `selected_options` | 否 | array (`integer`); — | 资料未说明 | | `custom_text` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## ClarifyBody 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | -------------------------------------------------------------------------------------- | ----- | | `tool_use_id` | 是 | `string`; — | 资料未说明 | | `answers` | 否 | array ([ClarifyAnswer](https://docs.asktable.com/knowledge/developers/models/c.md)); — | 资料未说明 | | `skipped` | 否 | `boolean`; `default`: `false` | 资料未说明 | ## CommitFromExcelRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | --------------------------------- | ------------------------------- | | `file_id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 新建 datasource 名称 | | `selected_sheet_names` | 是 | array (`string`); `minItems`: `1` | 要导入的 sheet 名(必须为 enabled sheet) | ## CommitFromExcelResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ----------- | ----- | | `datasource_id` | 是 | `string`; — | 资料未说明 | | `workbook_id` | 是 | `string`; — | 资料未说明 | ## CommitFromFeishuRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------------- | ---------------- | | `name` | 是 | `string`; — | 新建 datasource 名称 | | `app_id` | 是 | `string`; — | 资料未说明 | | `app_secret` | 是 | `string`; — | 资料未说明 | | `app_token` | 是 | `string`; — | 资料未说明 | | `table_ids` | 是 | array (`string`); `minItems`: `1` | 资料未说明 | | `sync_cron` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## CommitFromFeishuResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ----------- | ----- | | `datasource_id` | 是 | `string`; — | 资料未说明 | | `workbook_id` | 是 | `string`; — | 资料未说明 | ## CompactionMarker 类型: `object`. — 压缩边界标记(前端时间线 marker 用)。摘要只进 LLM,永不进 API 响应。 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | --------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `first_kept_message_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## CompactionResult 类型: `object`. — POST /compact 响应体。 | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `compaction` | 是 | [CompactionMarker](https://docs.asktable.com/knowledge/developers/models/c.md); — | 资料未说明 | | `context_usage` | 否 | anyOf: [ContextUsage](https://docs.asktable.com/knowledge/developers/models/c.md) / `null`; — | 资料未说明 | ## ConnectionTestRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | --------------------------------------------------------------------------------------------- | ---------------------- | | `engine` | 是 | [DBEngine](https://docs.asktable.com/knowledge/developers/models/d.md); — | 数据源引擎; 示例: `["mysql"]` | | `config` | 是 | [AccessConfigConnectionCreate](https://docs.asktable.com/knowledge/developers/models/a.md); — | 数据库连接配置 | ## ConnectionTestResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------- | ------ | | `status` | 是 | `string`; `enum`: `["success","failed"]` | 连接测试状态 | | `message` | 是 | `string`; — | 连接测试消息 | | `suggestion` | 否 | anyOf: `string` / `null`; — | 建议操作 | | `error_detail` | 否 | anyOf: `string` / `null`; — | 错误详情 | ## ContextUsage 类型: `object`. — 上下文占用,ratio 限制在 \[0,1] 范围内。 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ------------ | ----- | | `estimated_tokens` | 是 | `integer`; — | 资料未说明 | | `context_window` | 是 | `integer`; — | 资料未说明 | | `ratio` | 是 | `number`; — | 资料未说明 | ## ConversationContextBlock 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | -------------------------------------------------------------------------------- | ----- | | `type` | 否 | `string`; `default`: `"conversation_context"`; `const`: `"conversation_context"` | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `text` | 是 | `string`; — | 资料未说明 | ## ConversationCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------ | -- | ------------------------------------------------------------------------------------------------------------ | ----------- | | `name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `type` | 否 | [ConversationType](https://docs.asktable.com/knowledge/developers/models/c.md); `default`: `"chat"` | 资料未说明 | | `type_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `datasource_ids` | 否 | array (`string`); — | 资料未说明 | | `data_agent_id` | 否 | anyOf: `string` (`format`: `"uuid"`) / `null`; — | 资料未说明 | | `role_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: anyOf: `string` / `integer` / `boolean`) / `null`; — | 资料未说明 | | `reasoning_mode` | 否 | [ConversationReasoningMode](https://docs.asktable.com/knowledge/developers/models/c.md); `default`: `"deep"` | 推理模式,默认深度思考 | | `semantic_write_enabled` | 否 | `boolean`; `default`: `false` | 资料未说明 | ## ConversationDetail 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------ | -- | ------------------------------------------------------------------------------------------------------------ | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `type` | 否 | [ConversationType](https://docs.asktable.com/knowledge/developers/models/c.md); `default`: `"chat"` | 资料未说明 | | `type_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `datasource_ids` | 是 | array (`string`); — | 资料未说明 | | `data_agent_id` | 是 | anyOf: `string` (`format`: `"uuid"`) / `null`; — | 资料未说明 | | `role_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `role_variables` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `reasoning_mode` | 否 | [ConversationReasoningMode](https://docs.asktable.com/knowledge/developers/models/c.md); `default`: `"deep"` | 资料未说明 | | `semantic_write_enabled` | 是 | `boolean`; — | 资料未说明 | | `created_by` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `status` | 是 | [ConversationStatus](https://docs.asktable.com/knowledge/developers/models/c.md); — | 资料未说明 | | `error_detail` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `pinned` | 否 | `boolean`; `default`: `false` | 资料未说明 | | `messages` | 否 | anyOf: array ([UIMessage](https://docs.asktable.com/knowledge/developers/models/u.md)) / `null`; — | 资料未说明 | | `feedbacks` | 否 | array ([MessageFeedbackItem](https://docs.asktable.com/knowledge/developers/models/m.md)); — | 资料未说明 | | `compactions` | 否 | anyOf: array ([CompactionMarker](https://docs.asktable.com/knowledge/developers/models/c.md)) / `null`; — | 资料未说明 | | `context_usage` | 否 | anyOf: [ContextUsage](https://docs.asktable.com/knowledge/developers/models/c.md) / `null`; — | 资料未说明 | ## ConversationReasoningMode 类型: `string`. `enum`: `["fast","deep"]` 随对话保存的推理模式,影响推理方式和可用工具;可选值对应模型配置中的 mode\_options。 ## ConversationResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------ | -- | ------------------------------------------------------------------------------------------------------------ | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `type` | 否 | [ConversationType](https://docs.asktable.com/knowledge/developers/models/c.md); `default`: `"chat"` | 资料未说明 | | `type_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `datasource_ids` | 是 | array (`string`); — | 资料未说明 | | `data_agent_id` | 是 | anyOf: `string` (`format`: `"uuid"`) / `null`; — | 资料未说明 | | `role_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `role_variables` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `reasoning_mode` | 否 | [ConversationReasoningMode](https://docs.asktable.com/knowledge/developers/models/c.md); `default`: `"deep"` | 资料未说明 | | `semantic_write_enabled` | 是 | `boolean`; — | 资料未说明 | | `created_by` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `status` | 是 | [ConversationStatus](https://docs.asktable.com/knowledge/developers/models/c.md); — | 资料未说明 | | `error_detail` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `pinned` | 否 | `boolean`; `default`: `false` | 资料未说明 | ## ConversationStatus 类型: `string`. `enum`: `["active","pending","streaming","paused","warning","error","clarifying"]` ## ConversationType 类型: `string`. `enum`: `["chat","feishu","slack","simple_query","scheduled","dashboard","embed","canvas"]` ## ConversationUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------ | -- | ---------------------------------------------------------------------------------------------------------- | ----- | | `name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `datasource_ids` | 否 | anyOf: array (`string`) / `null`; — | 资料未说明 | | `data_agent_id` | 否 | anyOf: `string` (`format`: `"uuid"`) / `null`; — | 资料未说明 | | `role_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: anyOf: `string` / `integer` / `boolean`) / `null`; — | 资料未说明 | | `reasoning_mode` | 否 | anyOf: [ConversationReasoningMode](https://docs.asktable.com/knowledge/developers/models/c.md) / `null`; — | 资料未说明 | | `semantic_write_enabled` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | ## CreateInstanceResponse 类型: `object`. — createInstance 响应 | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ---------------------------------------------------------------------------------------- | ----- | | `instanceId` | 是 | `string`; — | 资料未说明 | | `appInfo` | 否 | anyOf: [AppInfo](https://docs.asktable.com/knowledge/developers/models/a.md) / `null`; — | 资料未说明 | ## CreateLicenseRequest 类型: `object`. — 运营签发 License 请求 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------- | ------------------------------ | | `user_id` | 否 | `string`; `default`: `"example"` | 用户 ID | | `license_type` | 是 | `string`; — | License 类型: p1, p2, p3, a1, a2 | | `expire_days` | 否 | `integer`; `default`: `365`; `minimum`: `1` | 有效期(天) | | `max_users` | 否 | anyOf: `integer` / `null`; — | 用户数量限制(覆盖默认) | ## CreditsUsageResponse 类型: `object`. — 积分流水响应 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `org_id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `actor_type` | 是 | `string`; — | 资料未说明 | | `actor_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `amount` | 是 | `integer`; — | 资料未说明 | | `balance_type` | 是 | `string`; — | 资料未说明 | | `event_type` | 是 | `string`; — | 资料未说明 | | `action_type` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `reference_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## CursorRowListResponse 类型: `object`. — 游标分页响应。\`\`next\_cursor=None\`\` 表示已到末尾。 | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------------------------------------------------------------------ | ----- | | `items` | 是 | array ([RowResponse](https://docs.asktable.com/knowledge/developers/models/r.md)); — | 资料未说明 | | `total` | 是 | `integer`; — | 资料未说明 | | `next_cursor` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## 当前对话模型使用条件 上方 `ConversationCreate` 属于 `4.2.34-1008` 历史规范。产品 `4.2.48-1026` 新建对话必须指定 `data_agent_id`;不能因为历史模型把字段列为可选就省略 Agent。普通成员不能通过 `role_id` 或 `role_variables` 覆盖管理员绑定的数据范围。见[当前会话执行身份](https://docs.asktable.com/knowledge/developers/api/conversations.md)和[OpenAPI](https://docs.asktable.com/integrations/openapi)。 --- 来源:https://docs.asktable.com/knowledge/developers/models/d.md # 数据模型 D 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## DashboardCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ---------------------------------------------- | ----- | | `title` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | ## DashboardElementRefBlock 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------------------------------- | ----- | | `type` | 否 | `string`; `default`: `"dashboard_element_ref"`; `const`: `"dashboard_element_ref"` | 资料未说明 | | `table_id` | 是 | `string`; — | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `display_mode` | 是 | `string`; — | 资料未说明 | ## DashboardUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------------------------------------------------------------------------------- | ----- | | `title` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `255`) / `null`; — | 资料未说明 | | `layout` | 否 | anyOf: array ([LayoutItem](https://docs.asktable.com/knowledge/developers/models/l.md)) / `null`; — | 资料未说明 | | `refresh_cron` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## DataAgentAccessCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | --------------------------------------------------------------------------------------------- | ------------------------ | | `person_id` | 是 | `string`; `maxLength`: `255` | 授权对象 Person | | `role_id` | 否 | anyOf: `string` (`maxLength`: `200`) / `null`; — | 角色 ID;为空时使用智能体范围内的全部权限。 | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: anyOf: `string` / `integer` / `boolean`) / `null`; — | 行级变量(仅当 role\_id 非空时有意义) | ## DataAgentAccessResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ------------------------------------------------------------ | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `data_agent_id` | 是 | `string`; — | 资料未说明 | | `person_id` | 是 | `string`; — | 资料未说明 | | `role_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `person_name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `person_email` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `person_avatar_url` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `role_name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## DataAgentAccessUpdate 类型: `object`. — PATCH 可调整 role\_id 和 role\_variables;person\_id 不可修改,需要重新创建授权。 | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `role_id` | 否 | anyOf: `string` (`maxLength`: `200`) / `null`; — | 资料未说明 | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: anyOf: `string` / `integer` / `boolean`) / `null`; — | 资料未说明 | ## DataAgentCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ---------------------------------------------------------------------------------- | ----- | | `name` | 是 | `string`; — | 资料未说明 | | `description` | 否 | `string`; `default`: `""` | 资料未说明 | | `domain_knowledge` | 否 | `string`; `default`: `""`; `maxLength`: `1024` | 资料未说明 | | `analysis_preferences` | 否 | `string`; `default`: `""`; `maxLength`: `1024` | 资料未说明 | | `datasource_ids` | 否 | array (`string`); — | 资料未说明 | | `skill_ids` | 否 | array (`string`); — | 资料未说明 | | `avatar` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `capabilities` | 否 | [AgentCapabilities](https://docs.asktable.com/knowledge/developers/models/a.md); — | 资料未说明 | ## DataAgentResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ---------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `description` | 是 | `string`; — | 资料未说明 | | `domain_knowledge` | 是 | `string`; — | 资料未说明 | | `analysis_preferences` | 是 | `string`; — | 资料未说明 | | `datasource_ids` | 是 | array (`string`); — | 资料未说明 | | `skill_ids` | 是 | array (`string`); — | 资料未说明 | | `avatar` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `capabilities` | 否 | [AgentCapabilities](https://docs.asktable.com/knowledge/developers/models/a.md); — | 资料未说明 | | `active_channel_type` | 否 | anyOf: `string` (`enum`: `["feishu","slack"]`) / `null`; — | 资料未说明 | | `is_builtin` | 否 | `boolean`; `default`: `false` | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## DataAgentTemplateResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ---------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `key` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `description` | 是 | `string`; — | 资料未说明 | | `skill_ids` | 是 | array (`string`); — | 资料未说明 | ## DataAgentUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | -------------------------------------------------------------------------------------------------- | ----- | | `name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `description` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `domain_knowledge` | 否 | anyOf: `string` (`maxLength`: `1024`) / `null`; — | 资料未说明 | | `analysis_preferences` | 否 | anyOf: `string` (`maxLength`: `1024`) / `null`; — | 资料未说明 | | `datasource_ids` | 否 | anyOf: array (`string`) / `null`; — | 资料未说明 | | `skill_ids` | 否 | anyOf: array (`string`) / `null`; — | 资料未说明 | | `avatar` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `capabilities` | 否 | anyOf: [AgentCapabilities](https://docs.asktable.com/knowledge/developers/models/a.md) / `null`; — | 资料未说明 | | `active_channel_type` | 否 | anyOf: `string` (`enum`: `["feishu","slack"]`) / `null`; — | 资料未说明 | ## DataframeColumnType 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ----------- | ----- | | `column_name` | 是 | `string`; — | 资料未说明 | | `column_type` | 是 | `string`; — | 资料未说明 | ## DataframeItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ------------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `columns` | 是 | array (`string`); — | 资料未说明 | | `row_count` | 是 | `integer`; — | 资料未说明 | | `sheet_name` | 是 | `string`; — | 资料未说明 | | `warnings` | 否 | array ([ParseWarning](https://docs.asktable.com/knowledge/developers/models/p.md)); — | 资料未说明 | ## DataframeMeta 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------------------------------------------------ | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `header` | 是 | array (`object`; `additionalProperties`: `true`); — | 资料未说明 | | `chart_config` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `chart_options` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `row_count` | 是 | `integer`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## DataframeRefBlock 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------------------ | ----- | | `type` | 否 | `string`; `default`: `"dataframe_ref"`; `const`: `"dataframe_ref"` | 资料未说明 | | `dataframe_id` | 是 | `string`; — | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `filename` | 是 | `string`; — | 资料未说明 | | `columns` | 是 | array (`string`); — | 资料未说明 | | `row_count` | 是 | `integer`; — | 资料未说明 | ## DataframeResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------------------------------------------------ | -------------- | | `title` | 是 | `string`; — | 标题 | | `sql` | 是 | `string`; — | SQL | | `header` | 是 | array (`object`; `additionalProperties`: `true`); — | 表头 | | `row_count` | 是 | `integer`; — | 行数 | | `content` | 否 | array (`object`; `additionalProperties`: `true`); — | 内容 | | `chart_options` | 是 | `object`; `additionalProperties`: `true` | 图表选项 | | `chart_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | ChartSpec 图表配置 | | `id` | 是 | `string`; — | ID | | `project_id` | 是 | `string`; — | 项目ID | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 更新时间 | ## DataframeUploadBody 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | --------------------------------------------------- | ---- | | `title` | 是 | `string`; `maxLength`: `255` | 标题 | | `columns` | 是 | array (`string`); `minItems`: `1` | 列名列表 | | `data` | 否 | array (`object`; `additionalProperties`: `true`); — | 行数据 | ## DataframeUploadResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | ------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `columns` | 是 | array (`string`); — | 资料未说明 | | `row_count` | 是 | `integer`; — | 资料未说明 | ## DataNodeData 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ----------------------------------------------------------------------------------------------- | -------------------------- | | `question` | 是 | `string`; — | 用户问题 | | `ds_id` | 是 | `string`; — | 数据源ID | | `sql` | 否 | anyOf: `string` / `null`; — | SQL查询语句(pending 状态时为 None) | | `dataframe` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 数据帧(pending 状态时为 None) | | `datasource` | 否 | anyOf: [DatasourceInfo](https://docs.asktable.com/knowledge/developers/models/d.md) / `null`; — | 数据源摘要 | ## DataSourceCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | | `name` | 否 | anyOf: `string` (`maxLength`: `64`) / `null`; — | 数据源的名称; 示例: `["用户库"]` | | `engine` | 是 | [DBEngine](https://docs.asktable.com/knowledge/developers/models/d.md); — | 数据源引擎; 示例: `["mysql"]` | | `access_config` | 否 | anyOf: [AccessConfigConnectionCreate](https://docs.asktable.com/knowledge/developers/models/a.md) / [AccessConfigFileCreate](https://docs.asktable.com/knowledge/developers/models/a.md) / [AccessConfigWorkbookCreate](https://docs.asktable.com/knowledge/developers/models/a.md) / `null`; — | 不同引擎有不同的配置 | ## DataSourceDetail 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | | `name` | 否 | anyOf: `string` (`maxLength`: `64`) / `null`; — | 数据源的名称; 示例: `["用户库"]` | | `engine` | 是 | [DBEngine](https://docs.asktable.com/knowledge/developers/models/d.md); — | 数据源引擎; 示例: `["mysql"]` | | `access_config` | 否 | anyOf: [AccessConfigConnectionResponse](https://docs.asktable.com/knowledge/developers/models/a.md) / [AccessConfigFileResponse](https://docs.asktable.com/knowledge/developers/models/a.md) / [AccessConfigWorkbookResponse](https://docs.asktable.com/knowledge/developers/models/a.md) / `null`; — | 访问数据源的配置信息 | | `project_id` | 是 | `string`; — | 项目ID | | `id` | 是 | `string`; — | 数据源ID | | `desc` | 否 | anyOf: `string` / `null`; — | 数据源描述; 示例: `["数据源描述"]` | | `sample_questions` | 否 | anyOf: array (`string`) / `null`; — | 示例问题; 示例: `[["示例问题1","示例问题2"]]` | | `meta_status` | 是 | [MetaStatus](https://docs.asktable.com/knowledge/developers/models/m.md); — | 数据源可用性; 示例: `["available"]` | | `sync_status` | 是 | [SyncStatus](https://docs.asktable.com/knowledge/developers/models/s.md); — | 同步状态; 示例: `["success"]` | | `sync_error` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 同步错误信息; 示例: `[{"message":"error"}]` | | `synced_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 上次同步完成时间 | | `schema_count` | 否 | anyOf: `integer` / `null`; — | 库数量; 示例: `[1]` | | `table_count` | 否 | anyOf: `integer` / `null`; — | 表数量; 示例: `[1]` | | `field_count` | 否 | anyOf: `integer` / `null`; — | 字段数量; 示例: `[1]` | | `query_timeout_seconds` | 否 | anyOf: `integer` / `null`; — | 数据源查询超时覆盖值 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间; 示例: `["2021-01-01 00:00:00"]` | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间; 示例: `["2021-01-01 00:00:00"]` | ## DatasourceInfo 类型: `object`. — 数据源摘要信息 | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | --------------------------- | ------- | | `name` | 否 | anyOf: `string` / `null`; — | 数据源名称 | | `engine` | 否 | anyOf: `string` / `null`; — | 数据库引擎类型 | ## DatasourceMetadataExport 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | --------------------------------------------------------------------------------------------------------- | ----- | | `version` | 否 | `integer`; `default`: `1` | 资料未说明 | | `datasource_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `exported_at` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `meta` | 否 | [MetaExport](https://docs.asktable.com/knowledge/developers/models/m.md); `default`: `{"schemas":{}}` | 资料未说明 | | `training_pairs` | 否 | array ([TrainingPairExport](https://docs.asktable.com/knowledge/developers/models/t.md)); `default`: `[]` | 资料未说明 | ## DataSourceResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | --------------------------------------------------------------------------- | ----------------------------------- | | `name` | 否 | anyOf: `string` (`maxLength`: `64`) / `null`; — | 数据源的名称; 示例: `["用户库"]` | | `engine` | 是 | [DBEngine](https://docs.asktable.com/knowledge/developers/models/d.md); — | 数据源引擎; 示例: `["mysql"]` | | `project_id` | 是 | `string`; — | 项目ID | | `id` | 是 | `string`; — | 数据源ID | | `desc` | 否 | anyOf: `string` / `null`; — | 数据源描述; 示例: `["数据源描述"]` | | `sample_questions` | 否 | anyOf: array (`string`) / `null`; — | 示例问题; 示例: `[["示例问题1","示例问题2"]]` | | `meta_status` | 是 | [MetaStatus](https://docs.asktable.com/knowledge/developers/models/m.md); — | 数据源可用性; 示例: `["available"]` | | `sync_status` | 是 | [SyncStatus](https://docs.asktable.com/knowledge/developers/models/s.md); — | 同步状态; 示例: `["success"]` | | `sync_error` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 同步错误信息; 示例: `[{"message":"error"}]` | | `synced_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 上次同步完成时间 | | `schema_count` | 否 | anyOf: `integer` / `null`; — | 库数量; 示例: `[1]` | | `table_count` | 否 | anyOf: `integer` / `null`; — | 表数量; 示例: `[1]` | | `field_count` | 否 | anyOf: `integer` / `null`; — | 字段数量; 示例: `[1]` | | `query_timeout_seconds` | 否 | anyOf: `integer` / `null`; — | 数据源查询超时覆盖值 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间; 示例: `["2021-01-01 00:00:00"]` | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间; 示例: `["2021-01-01 00:00:00"]` | ## DatasourceScope 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ---------------------------------------------------------------------------------------- | ----- | | `datasource_id` | 是 | `string`; — | 资料未说明 | | `schemas` | 是 | array ([ScopeSchemaNode](https://docs.asktable.com/knowledge/developers/models/s.md)); — | 资料未说明 | | `stats` | 是 | [ScopeStats](https://docs.asktable.com/knowledge/developers/models/s.md); — | 资料未说明 | ## DataSourceUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | | `name` | 否 | anyOf: `string` (`maxLength`: `64`) / `null`; — | 数据源的名称; 示例: `["用户库"]` | | `engine` | 否 | anyOf: [DBEngine](https://docs.asktable.com/knowledge/developers/models/d.md) / `null`; — | 数据源引擎; 示例: `["mysql"]` | | `meta_status` | 否 | anyOf: [MetaStatus](https://docs.asktable.com/knowledge/developers/models/m.md) / `null`; — | 数据源可用性; 示例: `["available"]` | | `sync_status` | 否 | anyOf: [SyncStatus](https://docs.asktable.com/knowledge/developers/models/s.md) / `null`; — | 同步状态; 示例: `["success"]` | | `sync_error` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 同步错误信息; 示例: `[{"message":"error"}]` | | `access_config` | 否 | anyOf: [AccessConfigConnectionUpdate](https://docs.asktable.com/knowledge/developers/models/a.md) / [AccessConfigFileUpdate](https://docs.asktable.com/knowledge/developers/models/a.md) / `null`; — | 不同引擎有不同的配置 | | `desc` | 否 | anyOf: `string` / `null`; — | 数据源描述; 示例: `["数据源描述"]` | | `sample_questions` | 否 | anyOf: array (`string`) / `null`; — | 示例问题; 示例: `[["示例问题1","示例问题2"]]` | | `schema_count` | 否 | anyOf: `integer` / `null`; — | 库数量; 示例: `[1]` | | `table_count` | 否 | anyOf: `integer` / `null`; — | 表数量; 示例: `[1]` | | `field_count` | 否 | anyOf: `integer` / `null`; — | 字段数量; 示例: `[1]` | | `query_timeout_seconds` | 否 | anyOf: `integer` (`minimum`: `1`; `maximum`: `300`) / `null`; — | 查询超时秒数;空值表示继承系统配置 | ## DBEngine 类型: `string`. `enum`: `["mysql","tidb","postgresql","oceanbase","clickhouse","excel","starrocks","hive","oracle","polardbmysql","polardbpg","dameng","adbmysql","adbpostgres","xugu","doris","greenplum","selectdb","databend","sqlserver","mogdb","hologres","maxcompute","gaussdb","tdsqlmysql","tdsqlpg","kingbasees","gbase8c","yashandb","gbase8a","gaussdbdws","bigquery","duckdb","workbook"]` ## DisableResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ------------ | ----- | | `affected` | 是 | `integer`; — | 资料未说明 | ## DisplayMode 类型: `string`. `enum`: `["chart","table"]` ## DocumentCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ---------------------------------------------- | ----- | | `title` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | | `desc` | 是 | `string`; `minLength`: `1` | 资料未说明 | | `content` | 否 | `string`; `default`: `""` | 资料未说明 | | `keywords` | 否 | array (`string`); `default`: `[]` | 资料未说明 | ## DocumentResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | --------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `data_agent_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `desc` | 是 | `string`; — | 资料未说明 | | `content` | 是 | `string`; — | 资料未说明 | | `keywords` | 是 | array (`string`); — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## DocumentUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ------------------------------------------------------------------ | ----- | | `title` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `255`) / `null`; — | 资料未说明 | | `desc` | 否 | anyOf: `string` (`minLength`: `1`) / `null`; — | 资料未说明 | | `content` | 否 | anyOf: `string` (`minLength`: `1`) / `null`; — | 资料未说明 | | `keywords` | 否 | anyOf: array (`string`) / `null`; — | 资料未说明 | --- 来源:https://docs.asktable.com/knowledge/developers/models/e.md # 数据模型 E 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## EffectiveScopeResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ---------------------------------------------------------------------------------------- | ----- | | `datasources` | 是 | array ([DatasourceScope](https://docs.asktable.com/knowledge/developers/models/d.md)); — | 资料未说明 | ## EmailSignInRequest 类型: `object`. — 邮箱登录请求 | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ----------------------------- | ----------- | | `email` | 是 | `string`; `format`: `"email"` | 邮箱地址 | | `password_hash` | 是 | `string`; — | 密码哈希(前端已哈希) | ## EmailSignUpRequest 类型: `object`. — 邮箱注册请求 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ------------------------------------------------------------------ | --------------------------- | | `language` | 否 | `string`; `default`: `"zh-CN"` | 语言偏好 | | `timezone` | 否 | `string`; `default`: `"Asia/Shanghai"` | 时区 | | `email` | 是 | `string`; `format`: `"email"` | 邮箱地址 | | `password_hash` | 是 | `string`; — | 密码哈希(前端已哈希) | | `organization_name` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `100`) / `null`; — | Local 首次安装时的 default org 名称 | ## EmbedCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ------------------------------------------------------------ | ----- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | | `role_id` | 是 | `string`; `minLength`: `1` | 资料未说明 | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `allowed_domains` | 否 | array (`string`); `default`: `[]` | 资料未说明 | | `origin_check_enabled` | 否 | `boolean`; `default`: `false` | 资料未说明 | ## EmbedListItemResponse 类型: `object`. — 嵌入列表响应包含活跃统计。last\_active\_at 为最近一次对话活动时间,可早于七天;无对话时为空。active\_conversations\_7d 为近七天有活动的对话数,无对话时为 0。统计衡量活跃情况,不等同于页面打开次数或新建对话数。 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------- | -- | ------------------------------------------------------------ | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `data_agent_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `role_id` | 是 | `string`; — | 资料未说明 | | `role_variables` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `allowed_domains` | 是 | array (`string`); — | 资料未说明 | | `enabled` | 是 | `boolean`; — | 资料未说明 | | `origin_check_enabled` | 是 | `boolean`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `last_active_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `active_conversations_7d` | 否 | `integer`; `default`: `0` | 资料未说明 | ## EmbedReasoningUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------------------------------------------------------------------------------------ | ----- | | `reasoning_mode` | 是 | [ConversationReasoningMode](https://docs.asktable.com/knowledge/developers/models/c.md); — | 资料未说明 | ## EmbedResolveRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ------------------------------------------------ | ----- | | `token` | 是 | `string`; — | 资料未说明 | | `embedder_origin` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `conversation_id` | 否 | anyOf: `string` (`format`: `"uuid"`) / `null`; — | 资料未说明 | ## EmbedResolveResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ------------------------------------------------------------ | ----- | | `conversation_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `session_token` | 是 | `string`; — | 资料未说明 | | `agent_name` | 是 | `string`; — | 资料未说明 | | `agent_avatar` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `reasoning_mode` | 是 | `string`; — | 资料未说明 | ## EmbedResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ------------------------------------------------------------ | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `data_agent_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `role_id` | 是 | `string`; — | 资料未说明 | | `role_variables` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `allowed_domains` | 是 | array (`string`); — | 资料未说明 | | `enabled` | 是 | `boolean`; — | 资料未说明 | | `origin_check_enabled` | 是 | `boolean`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## EmbedSkillOption 类型: `object`. — 匿名访客可见的技能目录投影,不含正文和项目元数据。 | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ---------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `description` | 是 | `string`; — | 资料未说明 | ## EmbedUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ------------------------------------------------------------------ | ----- | | `name` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `255`) / `null`; — | 资料未说明 | | `role_id` | 否 | anyOf: `string` (`minLength`: `1`) / `null`; — | 资料未说明 | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `allowed_domains` | 否 | anyOf: array (`string`) / `null`; — | 资料未说明 | | `enabled` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | | `origin_check_enabled` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | ## ExcelNodeData 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ----------- | ----- | | `filename` | 是 | `string`; — | 原始文件名 | ## ExcelSheetInfoSchema 类型: `object`. — 第一次结构推断响应中的单个 Excel Sheet | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | -------------------------------------------------------------------------------------------- | ----- | | `sheet_name` | 是 | `string`; — | 资料未说明 | | `row_count` | 是 | `integer`; — | 资料未说明 | | `disabled` | 是 | `boolean`; — | 资料未说明 | | `disabled_reason` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `fields` | 否 | array ([InferredFieldSchema](https://docs.asktable.com/knowledge/developers/models/i.md)); — | 资料未说明 | ## ExecutionFeedback 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | --------------------------- | ----- | | `rating` | 是 | `string`; — | 资料未说明 | | `comment` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `user_id` | 是 | `string`; — | 资料未说明 | ## ExecutionLogDetail 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ------------------------------------------------------------------------------------------ | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `conversation_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `question` | 是 | `string`; — | 资料未说明 | | `actor_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `actor_name` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `source` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `status` | 是 | `string`; `enum`: `["running","clarifying","failed","paused","recorded","unknown"]` | 资料未说明 | | `thumbs_up` | 是 | `integer`; — | 资料未说明 | | `thumbs_down` | 是 | `integer`; — | 资料未说明 | | `messages` | 是 | array ([ExecutionMessage](https://docs.asktable.com/knowledge/developers/models/e.md)); — | 资料未说明 | | `feedbacks` | 是 | array ([ExecutionFeedback](https://docs.asktable.com/knowledge/developers/models/e.md)); — | 资料未说明 | | `error` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | ## ExecutionLogItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ----------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `conversation_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `question` | 是 | `string`; — | 资料未说明 | | `actor_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `actor_name` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `source` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `status` | 是 | `string`; `enum`: `["running","clarifying","failed","paused","recorded","unknown"]` | 资料未说明 | | `thumbs_up` | 是 | `integer`; — | 资料未说明 | | `thumbs_down` | 是 | `integer`; — | 资料未说明 | ## ExecutionMessage 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------------------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `role` | 是 | `string`; — | 资料未说明 | | `content` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `tools` | 是 | anyOf: array (`object`; `additionalProperties`: `true`) / `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `error` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## ExplainRowRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----- | -- | -------------------------------------------------------------- | ------- | | `row` | 是 | `object`; `minProperties`: `1`; `additionalProperties`: `true` | 要解释的数据行 | ## 当前嵌入模型使用条件 上方嵌入模型来自历史快照。产品 `4.2.48-1026` 在独立 `/v1/embeds` 管理应用,数据角色可以不配置;未配置时不增加角色限制,不继承配置人的成员数据角色。需要限制数据时请显式配置。当前创建字段和授权应以实例 Redoc 为准,旧模型的必填标记不能代替新管理合约。见[独立嵌入管理](https://docs.asktable.com/knowledge/developers/api/embed.md)。 --- 来源:https://docs.asktable.com/knowledge/developers/models/f.md # 数据模型 F 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## FeedbackStatusUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | --------------------------------------- | ----- | | `status` | 是 | `string`; `enum`: `["open","resolved"]` | 资料未说明 | ## FeedbackUpsertBody 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | --------------------------------- | ----- | | `rating` | 是 | `string`; `enum`: `["up","down"]` | 资料未说明 | | `comment` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## FeishuCredentials 类型: `object`. `additionalProperties`: `false` | 字段 | 必填 | 类型与约束 | 说明 | | -------------------- | -- | --------------------------- | ----- | | `app_id` | 是 | `string`; `minLength`: `1` | 资料未说明 | | `app_secret` | 是 | `string`; `minLength`: `1` | 资料未说明 | | `encrypt_key` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `verification_token` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## FeishuLastSync 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ---------------------------------------------------------------------------------- | ----- | | `trigger` | 是 | [FeishuSyncTrigger](https://docs.asktable.com/knowledge/developers/models/f.md); — | 资料未说明 | | `status` | 是 | `string`; `enum`: `["success","failed"]` | 资料未说明 | | `finished_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `duration_ms` | 是 | anyOf: `integer` / `null`; — | 资料未说明 | | `rows_synced` | 是 | anyOf: `integer` / `null`; — | 资料未说明 | | `error` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | ## FeishuResolveRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ----------- | ----- | | `app_id` | 是 | `string`; — | 资料未说明 | | `app_secret` | 是 | `string`; — | 资料未说明 | | `url` | 是 | `string`; — | 资料未说明 | ## FeishuResolveResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | ---------------------------------------------------------------------------------------- | ----- | | `app_token` | 是 | `string`; — | 资料未说明 | | `name` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `tables` | 是 | array ([FeishuTableInfo](https://docs.asktable.com/knowledge/developers/models/f.md)); — | 资料未说明 | ## FeishuSourceResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------------- | -- | ----------------------------------------------------------------------------------------------- | ----- | | `app_id` | 是 | `string`; — | 资料未说明 | | `app_token` | 是 | `string`; — | 资料未说明 | | `selected_table_ids` | 是 | array (`string`); — | 资料未说明 | | `sync_cron` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `next_sync_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `last_sync_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `sync_status` | 是 | [FeishuSyncStatus](https://docs.asktable.com/knowledge/developers/models/f.md); — | 资料未说明 | | `syncing` | 是 | `boolean`; — | 资料未说明 | | `last_sync` | 是 | anyOf: [FeishuLastSync](https://docs.asktable.com/knowledge/developers/models/f.md) / `null`; — | 资料未说明 | ## FeishuSourceUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------------- | -- | ----------------------------------- | ----- | | `sync_cron` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `app_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `app_secret` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `app_token` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `selected_table_ids` | 否 | anyOf: array (`string`) / `null`; — | 资料未说明 | ## FeishuSyncStatus 类型: `string`. `enum`: `["idle","running","success","failed"]` ## FeishuSyncTrigger 类型: `string`. `enum`: `["initial","cron","manual"]` ## FeishuTableInfo 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ---------------------------- | ----- | | `table_id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `field_count` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `row_count` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | ## FeishuTablesRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ----------- | ----- | | `app_id` | 是 | `string`; — | 资料未说明 | | `app_secret` | 是 | `string`; — | 资料未说明 | | `app_token` | 是 | `string`; — | 资料未说明 | ## FeishuTablesResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ---------------------------------------------------------------------------------------- | ----- | | `tables` | 是 | array ([FeishuTableInfo](https://docs.asktable.com/knowledge/developers/models/f.md)); — | 资料未说明 | ## FetchModelsResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ------------------- | -------- | | `models` | 是 | array (`string`); — | 模型 ID 列表 | ## FieldBase 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ---------------------------------------------------------------------------------------------------- | ------------ | | `name` | 是 | `string`; — | 字段名 | | `origin_desc` | 是 | `string`; — | 数据库原始字段描述 | | `data_type` | 否 | anyOf: `string` / `null`; — | 字段数据类型 | | `sample_data` | 否 | anyOf: `string` / `null`; — | 字段样例数据 | | `visibility` | 否 | `boolean`; `default`: `true` | 字段可见性 | | `identifiable_type` | 否 | [IdentifiableType](https://docs.asktable.com/knowledge/developers/models/i.md); `default`: `"plain"` | 脱敏类型 | | `raw_data_type` | 否 | anyOf: `string` / `null`; — | 原始 DDL 类型字符串 | | `is_nullable` | 否 | anyOf: `boolean` / `null`; — | 列是否允许空值 | ## FieldExport 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ---------------------------- | ----- | | `desc` | 是 | `string`; — | 资料未说明 | | `visibility` | 否 | `boolean`; `default`: `true` | 资料未说明 | | `is_index` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | ## FieldIndexInfo 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ---------------------------- | ----------- | | `id` | 是 | `string`; — | 索引ID | | `status_msg` | 否 | anyOf: `string` / `null`; — | 状态信息,为空表示成功 | | `index_value_count` | 否 | `integer`; `default`: `0` | 索引值总数 | | `value_count` | 否 | anyOf: `integer` / `null`; — | 值总数 | | `distinct_count` | 否 | anyOf: `integer` / `null`; — | 不同值数量 | ## FieldResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ---------------------------------------------------------------------------------------------------- | ------------ | | `name` | 是 | `string`; — | 字段名 | | `origin_desc` | 是 | `string`; — | 数据库原始字段描述 | | `data_type` | 否 | anyOf: `string` / `null`; — | 字段数据类型 | | `raw_data_type` | 否 | anyOf: `string` / `null`; — | 原始 DDL 类型字符串 | | `is_nullable` | 否 | anyOf: `boolean` / `null`; — | 列是否允许空值 | | `semantic_type` | 否 | anyOf: [SemanticType](https://docs.asktable.com/knowledge/developers/models/s.md) / `null`; — | 语义类型 | | `distinct_count` | 否 | anyOf: `integer` / `null`; — | 样本不同值数量 | | `nil_pct` | 否 | anyOf: `number` / `null`; — | 样本空值比例 | | `avg_length` | 否 | anyOf: `number` / `null`; — | 样本文本平均长度 | | `min_value` | 否 | anyOf: `string` / `null`; — | 样本最小值或最早时间 | | `max_value` | 否 | anyOf: `string` / `null`; — | 样本最大值或最晚时间 | | `sample_data` | 否 | anyOf: `string` / `null`; — | 字段样例数据 | | `visibility` | 否 | `boolean`; `default`: `true` | 字段可见性 | | `identifiable_type` | 否 | [IdentifiableType](https://docs.asktable.com/knowledge/developers/models/i.md); `default`: `"plain"` | 脱敏类型 | | `full_name` | 是 | `string`; — | 字段完整名称 | | `curr_desc` | 是 | `string`; — | 当前字段描述 | | `curr_desc_stat` | 是 | `string`; — | 当前字段描述状态 | | `index` | 否 | anyOf: [FieldIndexInfo](https://docs.asktable.com/knowledge/developers/models/f.md) / `null`; — | 索引信息 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间 | ## FieldUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ------------------------------------------------------------------------------------------------- | --------- | | `visibility` | 否 | anyOf: `boolean` / `null`; — | 字段可见性 | | `identifiable_type` | 否 | anyOf: [IdentifiableType](https://docs.asktable.com/knowledge/developers/models/i.md) / `null`; — | 脱敏类型 | | `semantic_type` | 否 | anyOf: [SemanticType](https://docs.asktable.com/knowledge/developers/models/s.md) / `null`; — | 手动设置的语义类型 | ## FilterSpec 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ----------- | ----- | | `column` | 是 | `string`; — | 资料未说明 | | `op` | 是 | `string`; — | 资料未说明 | | `value` | 是 | `any`; — | 资料未说明 | ## ForeignKeyBase 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------------- | -- | --------------------------- | -------- | | `constrained_columns` | 是 | array (`string`); — | 当前表的外键字段 | | `referred_schema` | 否 | anyOf: `string` / `null`; — | 关联库名 | | `referred_table` | 是 | `string`; — | 关联表名 | | `referred_columns` | 是 | array (`string`); — | 关联字段 | --- 来源:https://docs.asktable.com/knowledge/developers/models/g.md # 数据模型 G 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## GenerateCodesRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ----------------------------------------------------------------------------------------- | ----- | | `count` | 否 | `integer`; `default`: `1`; `minimum`: `1`; `maximum`: `500` | 资料未说明 | | `reward_type` | 是 | [RewardType](https://docs.asktable.com/knowledge/developers/models/r.md); — | 资料未说明 | | `plan_id` | 否 | anyOf: [PlanId](https://docs.asktable.com/knowledge/developers/models/p.md) / `null`; — | 资料未说明 | | `duration_months` | 否 | anyOf: `integer` (`minimum`: `1`; `maximum`: `12`) / `null`; — | 资料未说明 | | `addon_credit` | 否 | anyOf: `integer` (`minimum`: `1`; `maximum`: `100000`) / `null`; — | 资料未说明 | | `max_uses` | 否 | `integer`; `default`: `1`; `minimum`: `1`; `maximum`: `1000` | 资料未说明 | | `expires_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `prefix` | 否 | anyOf: `string` (`maxLength`: `24`; `pattern`: `"^[A-Z0-9][A-Z0-9_]{0,23}$"`) / `null`; — | 资料未说明 | | `note` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | ## GenerateCodesResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | --------------------------------------------------------------------------------------- | ----- | | `batch_id` | 是 | `string`; — | 资料未说明 | | `codes` | 是 | array ([RedeemCodeItem](https://docs.asktable.com/knowledge/developers/models/r.md)); — | 资料未说明 | ## GetInfoResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------------------------------------------------------- | ----- | | `project_id` | 是 | `string`; — | 资料未说明 | | `ak_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `ak_role` | 是 | [APIKeyRole](https://docs.asktable.com/knowledge/developers/models/a.md); — | 资料未说明 | | `chat_role` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `user_profile` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `exp` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `locked` | 否 | `boolean`; `default`: `false` | 资料未说明 | ## GithubPublicConfig 类型: `object`. — GitHub 公开配置 | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | ----------- | ---------------- | | `client_id` | 是 | `string`; — | GitHub Client ID | ## GooglePublicConfig 类型: `object`. — Google 公开配置 | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | ----------- | ---------------- | | `client_id` | 是 | `string`; — | Google Client ID | ## GrantAiProxyQuotaRequest 类型: `object`. — 运营充值 AIProxy 配额请求 | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ---------------------------------- | -------- | | `user_id` | 是 | `string`; — | 用户 ID | | `amount` | 是 | `integer`; `exclusiveMinimum`: `0` | 充值配额数(元) | ## GrantCreditRequest 类型: `object`. — 运营赠送积分请求 | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ------------------------- | ------ | | `org_id` | 是 | `string`; — | 组织 ID | | `amount` | 是 | `integer`; `minimum`: `1` | 赠送积分数量 | ## GrantSubscriptionRequest 类型: `object`. — 运营开通订阅请求 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ------------------------------------------ | ------- | | `org_id` | 是 | `string`; — | 组织 ID | | `duration_months` | 是 | `integer`; `minimum`: `1`; `maximum`: `12` | 订阅时长(月) | ## 当前身份模型增补 上方 `GetInfoResponse` 是历史结构,不能据此认定当前没有成员身份。产品 `4.2.48-1026` 的身份核对会区分 `user_id`、`project_role` 等字段;系统集成凭证没有成员身份。完整解释见[当前身份核对](https://docs.asktable.com/knowledge/developers/api/auth.md),CLI 使用 `asktable auth whoami --json`。 --- 来源:https://docs.asktable.com/knowledge/developers/models/h.md # 数据模型 H 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## HSLColor 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --- | -- | ------------------------------------------- | ----- | | `h` | 是 | `integer`; `minimum`: `0`; `maximum`: `360` | 资料未说明 | | `s` | 是 | `integer`; `minimum`: `0`; `maximum`: `100` | 资料未说明 | | `l` | 是 | `integer`; `minimum`: `0`; `maximum`: `100` | 资料未说明 | ## HTTPValidationError 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ---------------------------------------------------------------------------------------- | ----- | | `detail` | 否 | array ([ValidationError](https://docs.asktable.com/knowledge/developers/models/v.md)); — | 资料未说明 | --- 来源:https://docs.asktable.com/knowledge/developers/models/i.md # 数据模型 I 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## IdentifiableType 类型: `string`. `enum`: `["plain","person_name","email","ssn","id","phone","address","company","bank_card"]` ## IdentityImportCandidate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ---------------------------------------------------------- | ----- | | `provider_uid` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; `enum`: `["AVAILABLE","IMPORTED","DEACTIVATED"]` | 资料未说明 | | `capacity_required` | 是 | `boolean`; — | 资料未说明 | ## IdentityImportCandidatesResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------------------------------------------------------------------------------------ | ----- | | `candidates` | 是 | array ([IdentityImportCandidate](https://docs.asktable.com/knowledge/developers/models/i.md)); — | 资料未说明 | | `capacity` | 是 | [IdentityImportCapacity](https://docs.asktable.com/knowledge/developers/models/i.md); — | 资料未说明 | | `invalid_count` | 是 | `integer`; — | 资料未说明 | ## IdentityImportCapacity 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | --------------------------------------- | ------- | | `key` | 是 | `string`; `enum`: `["users","members"]` | 资料未说明 | | `used` | 是 | `integer`; — | 资料未说明 | | `limit` | 是 | `integer`; — | 资料未说明 | | `remaining` | 是 | `integer`; — | -1 表示不限 | ## IdentityImportRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | --------------------------------- | ----- | | `provider_uids` | 是 | array (`string`); `minItems`: `1` | 资料未说明 | ## IdentityImportResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ------------ | ----- | | `selected` | 是 | `integer`; — | 资料未说明 | | `imported` | 是 | `integer`; — | 资料未说明 | | `already_present` | 是 | `integer`; — | 资料未说明 | ## IdentityIntegrationResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------------- | -- | ----------------------------------- | ----- | | `provider` | 是 | `string`; `enum`: `["WECOM","WPS"]` | 资料未说明 | | `provider_tenant_id` | 是 | `string`; — | 资料未说明 | | `agent_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `secret` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## ImportCommitRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ---------------------------------------------------------------------------------------------------- | ----- | | `file_id` | 是 | `string`; — | 资料未说明 | | `mode` | 否 | [ImportMode](https://docs.asktable.com/knowledge/developers/models/i.md); `default`: `"append"` | 资料未说明 | | `mappings` | 是 | array ([ImportMapping](https://docs.asktable.com/knowledge/developers/models/i.md)); `minItems`: `1` | 资料未说明 | ## ImportCommitResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `imported_rows` | 是 | `integer`; — | 资料未说明 | | `skipped_rows` | 否 | `integer`; `default`: `0` | 资料未说明 | | `per_sheet` | 否 | array ([ImportPerSheetResult](https://docs.asktable.com/knowledge/developers/models/i.md)); — | 资料未说明 | ## ImportMapping 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ----------- | ----- | | `sheet_name` | 是 | `string`; — | 资料未说明 | | `worksheet_id` | 是 | `string`; — | 资料未说明 | ## ImportMetadataResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ------------------------------------------------------------------------------ | ----- | | `summary` | 是 | [ImportSummary](https://docs.asktable.com/knowledge/developers/models/i.md); — | 资料未说明 | ## ImportMode 类型: `string`. `enum`: `["append","replace"]` ## ImportPerSheetResult 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ----------------------------------------------------------------------------------------- | ----- | | `sheet_name` | 是 | `string`; — | 资料未说明 | | `worksheet_id` | 是 | `string`; — | 资料未说明 | | `rows` | 是 | `integer`; — | 资料未说明 | | `skipped` | 否 | `integer`; `default`: `0` | 资料未说明 | | `skipped_details` | 否 | array ([SkippedRowSchema](https://docs.asktable.com/knowledge/developers/models/s.md)); — | 资料未说明 | ## ImportSummary 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------ | -- | --------------------------------- | ----- | | `schemas_matched` | 否 | `integer`; `default`: `0` | 资料未说明 | | `schemas_missing` | 否 | `integer`; `default`: `0` | 资料未说明 | | `tables_matched` | 否 | `integer`; `default`: `0` | 资料未说明 | | `tables_missing` | 否 | `integer`; `default`: `0` | 资料未说明 | | `fields_matched` | 否 | `integer`; `default`: `0` | 资料未说明 | | `fields_missing` | 否 | `integer`; `default`: `0` | 资料未说明 | | `visibility_updated` | 否 | `integer`; `default`: `0` | 资料未说明 | | `visibility_failed` | 否 | `integer`; `default`: `0` | 资料未说明 | | `training_pairs_created` | 否 | `integer`; `default`: `0` | 资料未说明 | | `indexes_created` | 否 | `integer`; `default`: `0` | 资料未说明 | | `indexes_deleted` | 否 | `integer`; `default`: `0` | 资料未说明 | | `indexes_skipped` | 否 | `integer`; `default`: `0` | 资料未说明 | | `missing_items` | 否 | array (`string`); `default`: `[]` | 资料未说明 | ## IndexCreate 类型: `object`. — 创建索引请求模型 | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ----------- | ---- | | `schema_name` | 是 | `string`; — | 模式名称 | | `table_name` | 是 | `string`; — | 表名 | | `field_name` | 是 | `string`; — | 字段名 | ## IndexResponse 类型: `object`. — 索引响应模型 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | --------------------------------- | ----- | | `schema_name` | 是 | `string`; — | 模式名称 | | `table_name` | 是 | `string`; — | 表名 | | `field_name` | 是 | `string`; — | 字段名 | | `id` | 是 | `string`; — | 索引ID | | `datasource_id` | 是 | `string`; — | 数据源ID | | `distinct_count` | 否 | anyOf: `integer` / `null`; — | 不同值数量 | | `max_length` | 否 | anyOf: `integer` / `null`; — | 最大长度 | | `min_length` | 否 | anyOf: `integer` / `null`; — | 最小长度 | | `avg_length` | 否 | anyOf: `number` / `null`; — | 平均长度 | | `value_count` | 否 | anyOf: `integer` / `null`; — | 值总数 | | `index_value_count` | 是 | `integer`; — | 索引值总数 | | `status_msg` | 否 | anyOf: `string` / `null`; — | 状态信息 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间 | ## InferredFieldSchema 类型: `object`. — 推断得到的 Excel 列 | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ---------------------------------------------------------------------------------- | ----- | | `name` | 是 | `string`; — | 资料未说明 | | `data_type` | 是 | [WorkbookFieldType](https://docs.asktable.com/knowledge/developers/models/w.md); — | 资料未说明 | | `nullable` | 是 | `boolean`; — | 资料未说明 | | `sample_values` | 否 | array (`string`); — | 资料未说明 | ## InferSchemaResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `file_id` | 是 | `string`; — | 资料未说明 | | `excel_sheets` | 是 | array ([ExcelSheetInfoSchema](https://docs.asktable.com/knowledge/developers/models/e.md)); — | 资料未说明 | ## InitModelGroupRequest 类型: `object`. — 初始化模型组请求,三种模式互斥 | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ---------------------------------------------------------- | ------------------ | | `mode` | 是 | `string`; `enum`: `["dashscope_auto","official","custom"]` | 资料未说明 | | `api_key` | 否 | `string`; `default`: `""` | official/custom 必填 | | `base_url` | 否 | `string`; `default`: `""` | custom 必填 | | `model_name` | 否 | `string`; `default`: `""` | custom 必填 | ## InvitationAcceptResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------- | ----- | | `org_id` | 是 | `string`; — | 资料未说明 | | `role` | 是 | `string`; — | 资料未说明 | | `project_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## InvitationCreate 类型: `object`. `additionalProperties`: `false` | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | -------------------------------------------------------------- | ----- | | `identifier` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | | `role` | 是 | `string`; `enum`: `["ADMIN","BILLING_ADMIN","MEMBER","GUEST"]` | 资料未说明 | ## InvitationResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `org_id` | 是 | `string`; — | 资料未说明 | | `identifier` | 是 | `string`; — | 资料未说明 | | `role` | 是 | `string`; — | 资料未说明 | | `token` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `expires_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## InviteLinkResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------- | ----- | | `project_role` | 是 | anyOf: `string` (`enum`: `["ADMIN","MEMBER"]`) / `null`; — | 资料未说明 | | `org_id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `token` | 是 | `string`; — | 资料未说明 | | `enabled` | 是 | `boolean`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | --- 来源:https://docs.asktable.com/knowledge/developers/models/l.md # 数据模型 L 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## LatestChannelMessage 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ---------------------------------------------------------------------------------------- | ----- | | `space_id` | 是 | `string`; — | 资料未说明 | | `message_id` | 是 | `string`; — | 资料未说明 | | `text` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `received_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `updated_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `processing_status` | 是 | [MessageProcessingStatus](https://docs.asktable.com/knowledge/developers/models/m.md); — | 资料未说明 | | `processing_detail` | 否 | anyOf: `string` (`maxLength`: `200`) / `null`; — | 资料未说明 | | `reply_status` | 是 | [MessageReplyStatus](https://docs.asktable.com/knowledge/developers/models/m.md); — | 资料未说明 | | `reply_detail` | 否 | anyOf: `string` (`maxLength`: `200`) / `null`; — | 资料未说明 | ## LayoutItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------------------------- | ----- | | `table_id` | 是 | `string`; — | 资料未说明 | | `x` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `y` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `w` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `h` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `display_mode` | 是 | [DisplayMode](https://docs.asktable.com/knowledge/developers/models/d.md); — | 资料未说明 | ## LicenseKeyResponse 类型: `object`. — License 密钥响应 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ---------------------------------------- | ---------- | | `id` | 是 | `string`; — | License ID | | `user_id` | 是 | `string`; — | 用户 ID | | `license_type` | 是 | `string`; — | License 类型 | | `expires_at` | 是 | `string`; `format`: `"date-time"` | 过期时间 | | `license_key` | 是 | `string`; — | License 密钥 | | `product_snapshot` | 是 | `object`; `additionalProperties`: `true` | 商品快照 | | `order_id` | 否 | anyOf: `string` / `null`; — | 订单 ID | | `issued_at` | 是 | `string`; `format`: `"date-time"` | 签发时间 | ## LicenseResponse 类型: `object`. — License 响应 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ---------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `user_id` | 是 | `string`; — | 资料未说明 | | `license_type` | 是 | `string`; — | 资料未说明 | | `license_key` | 是 | `string`; — | 资料未说明 | | `expires_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `product_snapshot` | 是 | `object`; `additionalProperties`: `true` | 资料未说明 | ## LicenseState 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ----------------------------------------------------- | ----- | | `type` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `expires_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `expired` | 否 | `boolean`; `default`: `false` | 资料未说明 | ## LoginCapabilities 类型: `object`. — 登录能力,不暴露 region。 | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------------- | ----------- | | `email_password` | 是 | `boolean`; — | 是否支持邮箱密码登录 | | `phone_binding` | 是 | `boolean`; — | 是否需要手机号绑定流程 | | `providers` | 否 | array (`string`); — | 可用 SSO | --- 来源:https://docs.asktable.com/knowledge/developers/models/m.md # 数据模型 M 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## MemberCandidate 类型: `object`. — 可以加入当前项目的组织成员,仅返回昵称和头像。项目管理员的组织权限可能有限,因此不返回邮箱和手机号。 | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------- | --------- | | `user_id` | 是 | `string`; — | 用户 ID | | `nickname` | 是 | `string`; — | 用户昵称 | | `avatar_url` | 否 | anyOf: `string` / `null`; — | 头像地址 | | `is_member` | 是 | `boolean`; — | 是否已是本项目成员 | ## MemberLimitResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ---------------------------- | ----- | | `org_id` | 是 | `string`; — | 资料未说明 | | `member_count` | 是 | `integer`; — | 资料未说明 | | `member_limit` | 是 | `integer`; — | 资料未说明 | | `member_limit_override` | 是 | anyOf: `integer` / `null`; — | 资料未说明 | ## MemberLimitUpdate 类型: `object`. — 组织成员上限覆盖;null 表示恢复套餐默认值。 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------------------------- | ----- | | `member_limit` | 是 | anyOf: `integer` (`minimum`: `1`) / `null`; — | 资料未说明 | ## MessageFeedbackItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------------- | ----- | | `message_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `rating` | 是 | `string`; `enum`: `["up","down"]` | 资料未说明 | | `comment` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## MessageFeedbackResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | --------------------------------- | ----- | | `message_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `rating` | 是 | `string`; `enum`: `["up","down"]` | 资料未说明 | | `comment` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## MessageProcessingStatus 类型: `string`. `enum`: `["received","queued","processing","succeeded","failed","ignored"]` ## MessageReplyStatus 类型: `string`. `enum`: `["not_started","queued","succeeded","failed"]` ## MessageResponse 类型: `object`. — 消息响应 | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ----------- | ---- | | `message` | 是 | `string`; — | 消息内容 | ## MetaAnnotation 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ---------------------------------------------------------------------------------------------------------------- | ----- | | `schemas` | 是 | `object`; `additionalProperties`: [SchemaAnnotation](https://docs.asktable.com/knowledge/developers/models/s.md) | 资料未说明 | ## MetaBase 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ---------------------------------------------------------------------------------------------------------- | ----- | | `schemas` | 是 | `object`; `additionalProperties`: [SchemaBase](https://docs.asktable.com/knowledge/developers/models/s.md) | 资料未说明 | ## MetaExport 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ----------------------------------------------------------------------------------------------------------------------------- | ----- | | `schemas` | 否 | `object`; `default`: `{}`; `additionalProperties`: [SchemaExport](https://docs.asktable.com/knowledge/developers/models/s.md) | 资料未说明 | ## MetaResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | -------------------------------------------------------------------------------------------------------------- | ------ | | `schemas` | 是 | `object`; `additionalProperties`: [SchemaResponse](https://docs.asktable.com/knowledge/developers/models/s.md) | 资料未说明 | | `datasource_id` | 是 | `string`; — | 数据源 ID | ## MetaStatus 类型: `string`. `enum`: `["unavailable","available"]` ## ModelConfig 类型: `object`. — 以模型 ID 为键的单模型配置 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ------------------------------------------ | ----- | | `display_name` | 否 | `string`; — | 资料未说明 | | `enabled` | 否 | `boolean`; — | 资料未说明 | | `context_window` | 否 | `integer`; — | 资料未说明 | | `provider_options` | 否 | `object`; `additionalProperties`: `true` | 资料未说明 | | `passthrough_reasoning` | 否 | `boolean`; — | 资料未说明 | | `mode_options` | 否 | `object`; `additionalProperties`: `object` | 资料未说明 | ## ModelGroupCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ----------------------------------------------------------------------------------------------------------- | ---------------- | | `name` | 是 | `string`; — | 模型组名称 | | `display_name` | 否 | anyOf: `string` / `null`; — | 展示名称 | | `base_url` | 是 | `string`; — | OpenAI 兼容 API 端点 | | `api_key` | 是 | `string`; — | API 密钥 | | `api_format` | 否 | `string`; `default`: `"openai_chat"`; `enum`: `["openai_chat","anthropic"]` | API 协议格式 | | `extra_headers` | 否 | `object`; `additionalProperties`: `string` | 额外请求头 | | `available_models` | 否 | array (`string`); — | 可用模型列表 | | `model_configs` | 否 | `object`; `additionalProperties`: [ModelConfig](https://docs.asktable.com/knowledge/developers/models/m.md) | 单模型配置 | | `models` | 否 | [ModelMapping](https://docs.asktable.com/knowledge/developers/models/m.md); — | 角色→模型映射 | ## ModelGroupResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ----------------------------------------------------------------------------------------------------------- | ---------------- | | `id` | 是 | `string`; — | 模型组 ID | | `name` | 是 | `string`; — | 模型组名称 | | `display_name` | 否 | anyOf: `string` / `null`; — | 展示名称 | | `is_default` | 否 | `boolean`; `default`: `false` | 是否为默认组 | | `base_url` | 是 | `string`; — | OpenAI 兼容 API 端点 | | `api_key` | 是 | `string`; — | API 密钥 | | `api_format` | 否 | `string`; `default`: `"openai_chat"`; `enum`: `["openai_chat","anthropic"]` | API 协议格式 | | `extra_headers` | 是 | `object`; `additionalProperties`: `string` | 额外请求头 | | `model_configs` | 否 | `object`; `additionalProperties`: [ModelConfig](https://docs.asktable.com/knowledge/developers/models/m.md) | 单模型配置 | | `available_models` | 是 | array (`string`); — | 可用模型列表 | | `models` | 是 | [ModelMapping](https://docs.asktable.com/knowledge/developers/models/m.md); — | 角色→模型映射 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间 | ## ModelGroupUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------- | | `name` | 否 | anyOf: `string` / `null`; — | 模型组名称 | | `display_name` | 否 | anyOf: `string` / `null`; — | 展示名称 | | `is_default` | 否 | anyOf: `boolean` / `null`; — | 是否为默认组 | | `base_url` | 否 | anyOf: `string` / `null`; — | OpenAI 兼容 API 端点 | | `api_key` | 否 | anyOf: `string` / `null`; — | API 密钥 | | `api_format` | 否 | anyOf: `string` (`enum`: `["openai_chat","anthropic"]`) / `null`; — | API 协议格式 | | `extra_headers` | 否 | anyOf: `object` (`additionalProperties`: `string`) / `null`; — | 额外请求头 | | `available_models` | 否 | anyOf: array (`string`) / `null`; — | 可用模型列表 | | `model_configs` | 否 | anyOf: `object` (`additionalProperties`: [ModelConfig](https://docs.asktable.com/knowledge/developers/models/m.md)) / `null`; — | 单模型配置 | | `models` | 否 | anyOf: [ModelMapping](https://docs.asktable.com/knowledge/developers/models/m.md) / `null`; — | 角色→模型映射 | ## ModelMapping 类型: `object`. — 模型角色到模型名称的映射,允许只提供部分配置。 | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ----------- | ----- | | `fast` | 否 | `string`; — | 资料未说明 | | `omni` | 否 | `string`; — | 资料未说明 | | `agent` | 否 | `string`; — | 资料未说明 | --- 来源:https://docs.asktable.com/knowledge/developers/models/n.md # 数据模型 N 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## NodeCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ----------------------------------- | -------------------------------- | | `type` | 是 | `string`; — | 节点类型 (data/chart/python) | | `position_x` | 是 | `number`; — | 节点X坐标 | | `position_y` | 是 | `number`; — | 节点Y坐标 | | `width` | 是 | `number`; — | 节点宽度 | | `height` | 是 | `number`; — | 节点高度 | | `dependencies` | 否 | anyOf: array (`string`) / `null`; — | 依赖的节点ID列表 | | `reference` | 否 | anyOf: array (`string`) / `null`; — | 参考节点ID列表 | | `title` | 否 | anyOf: `string` / `null`; — | 节点标题 | | `description` | 否 | anyOf: `string` / `null`; — | 节点描述 | | `question` | 否 | anyOf: `string` / `null`; — | 用户问题(data/web\_search 使用) | | `code` | 否 | anyOf: `string` / `null`; — | 代码内容(chart: JSX, python: Python) | | `datasource_id` | 否 | anyOf: `string` / `null`; — | 数据源ID(用于数据节点) | | `filename` | 否 | anyOf: `string` / `null`; — | 原始文件名(用于 Excel 节点) | | `dataframe_id` | 否 | anyOf: `string` / `null`; — | 已创建的 dataframe ID,用于 Excel 节点。 | ## NodeDetail 类型: `object`. — 详情接口返回(含 messages) | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | | `type` | 是 | `string`; — | 节点类型 (data/chart/python) | | `position_x` | 是 | `number`; — | 节点X坐标 | | `position_y` | 是 | `number`; — | 节点Y坐标 | | `width` | 是 | `number`; — | 节点宽度 | | `height` | 是 | `number`; — | 节点高度 | | `dependencies` | 否 | anyOf: array (`string`) / `null`; — | 依赖的节点ID列表 | | `reference` | 否 | anyOf: array (`string`) / `null`; — | 参考节点ID列表 | | `id` | 是 | `string`; — | 节点ID | | `canvas_id` | 是 | `string`; — | 画卷ID | | `data` | 是 | anyOf: [DataNodeData](https://docs.asktable.com/knowledge/developers/models/d.md) / [ChartNodeData](https://docs.asktable.com/knowledge/developers/models/c.md) / [PythonNodeData](https://docs.asktable.com/knowledge/developers/models/p.md) / [ExcelNodeData](https://docs.asktable.com/knowledge/developers/models/e.md) / [WebSearchNodeData](https://docs.asktable.com/knowledge/developers/models/w.md); — | 节点数据 (JSON) | | `title` | 否 | anyOf: `string` / `null`; — | 节点标题 | | `description` | 否 | anyOf: `string` / `null`; — | 节点描述 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间 | | `status` | 是 | `string`; — | 节点状态 | | `status_message` | 否 | anyOf: `string` / `null`; — | 节点状态消息 | | `dataframe_id` | 否 | anyOf: `string` / `null`; — | 关联的 Dataframe ID | | `messages` | 否 | anyOf: array (`object`; `additionalProperties`: `true`) / `null`; — | 对话历史 | ## NodeSummary 类型: `object`. — 列表接口返回(无 messages) | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | | `type` | 是 | `string`; — | 节点类型 (data/chart/python) | | `position_x` | 是 | `number`; — | 节点X坐标 | | `position_y` | 是 | `number`; — | 节点Y坐标 | | `width` | 是 | `number`; — | 节点宽度 | | `height` | 是 | `number`; — | 节点高度 | | `dependencies` | 否 | anyOf: array (`string`) / `null`; — | 依赖的节点ID列表 | | `reference` | 否 | anyOf: array (`string`) / `null`; — | 参考节点ID列表 | | `id` | 是 | `string`; — | 节点ID | | `canvas_id` | 是 | `string`; — | 画卷ID | | `data` | 是 | anyOf: [DataNodeData](https://docs.asktable.com/knowledge/developers/models/d.md) / [ChartNodeData](https://docs.asktable.com/knowledge/developers/models/c.md) / [PythonNodeData](https://docs.asktable.com/knowledge/developers/models/p.md) / [ExcelNodeData](https://docs.asktable.com/knowledge/developers/models/e.md) / [WebSearchNodeData](https://docs.asktable.com/knowledge/developers/models/w.md); — | 节点数据 (JSON) | | `title` | 否 | anyOf: `string` / `null`; — | 节点标题 | | `description` | 否 | anyOf: `string` / `null`; — | 节点描述 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间 | | `status` | 是 | `string`; — | 节点状态 | | `status_message` | 否 | anyOf: `string` / `null`; — | 节点状态消息 | | `dataframe_id` | 否 | anyOf: `string` / `null`; — | 关联的 Dataframe ID | ## NodeUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ------------------------------------------------------------ | -------------- | | `position_x` | 否 | anyOf: `number` / `null`; — | 节点X坐标 | | `position_y` | 否 | anyOf: `number` / `null`; — | 节点Y坐标 | | `width` | 否 | anyOf: `number` / `null`; — | 节点宽度 | | `height` | 否 | anyOf: `number` / `null`; — | 节点高度 | | `data` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 节点数据 (JSON) | | `title` | 否 | anyOf: `string` / `null`; — | 节点标题 | | `rerun` | 否 | anyOf: `boolean` / `null`; — | 重新执行数据节点的SQL查询 | ## NotifyType 类型: `string`. `enum`: `["feishu_webhook","email"]` --- 来源:https://docs.asktable.com/knowledge/developers/models/o.md # 数据模型 O 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## OrderResponse 类型: `object`. — 订单响应 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ----------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `actor_user_id` | 是 | `string`; — | 资料未说明 | | `org_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `amount_payable` | 是 | `integer`; — | 资料未说明 | | `amount_paid` | 是 | `integer`; — | 资料未说明 | | `currency` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `product_category` | 是 | `string`; — | 资料未说明 | | `product_snapshot` | 是 | `object`; `additionalProperties`: `true` | 资料未说明 | | `payment_provider` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `external_txn_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `paid_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## OrganizationBootstrap 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | --------------------------------------------------------------------------------- | ----- | | `organization_name` | 是 | `string`; `minLength`: `1`; `maxLength`: `100` | 资料未说明 | | `project` | 是 | [BootstrapProject](https://docs.asktable.com/knowledge/developers/models/b.md); — | 资料未说明 | ## OrganizationBootstrapResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------------------------------------- | ----- | | `organization` | 是 | [OrganizationResponse](https://docs.asktable.com/knowledge/developers/models/o.md); — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | ## OrganizationCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | ---------------------------------------------- | ----- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `100` | 资料未说明 | ## OrganizationCreationEligibility 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | --------------------------------------------------------------------- | ----- | | `allowed` | 是 | `boolean`; — | 资料未说明 | | `reason` | 否 | anyOf: `string` (`const`: `"ORGANIZATION_LIMIT_REACHED"`) / `null`; — | 资料未说明 | ## OrganizationDirectoryItem 类型: `object`. — 全实例组织目录条目(SYS\_ADMIN 视角);已软删的组织不会出现在这里。 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ----------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `owner_user_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `owner_user_name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `member_count` | 否 | `integer`; `default`: `0` | 资料未说明 | | `member_limit` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `member_limit_override` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `plan_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `plan_expires_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | ## OrganizationEntitlementResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | --------------------------------------------------------------------------------------------- | ------------------------ | | `license` | 否 | anyOf: [LicenseState](https://docs.asktable.com/knowledge/developers/models/l.md) / `null`; — | cloud 无 License,为 null | | `quotas` | 是 | array ([QuotaItem](https://docs.asktable.com/knowledge/developers/models/q.md)); — | 资料未说明 | | `features` | 否 | `object`; `additionalProperties`: `boolean` | License 解锁的功能开关,cloud 为空 | ## OrganizationListItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------------ | -- | --------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `allow_member_create_projects` | 是 | `boolean`; — | 资料未说明 | | `owner_user_id` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `role` | 是 | `string`; — | 资料未说明 | | `membership_status` | 是 | `string`; — | 资料未说明 | ## OrganizationMemberDirectoryItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------ | ----- | | `kind` | 是 | `string`; `enum`: `["MEMBERSHIP","INVITATION"]` | 资料未说明 | | `id` | 是 | `string`; — | 资料未说明 | | `user_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `nickname` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `email` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `phone_number` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `identifier` | 是 | `string`; — | 资料未说明 | | `role` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; `enum`: `["ACTIVE","PENDING","DEACTIVATED"]` | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## OrganizationProjectResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ------------------------------------------------------------------ | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `owner_user_id` | 是 | `string`; — | 资料未说明 | | `owner_user_name` | 是 | `string`; — | 资料未说明 | | `role` | 是 | anyOf: `string` (`enum`: `["OWNER","ADMIN","MEMBER"]`) / `null`; — | 资料未说明 | | `role_source` | 是 | anyOf: `string` (`enum`: `["EXPLICIT","DEFAULT"]`) / `null`; — | 资料未说明 | | `visibility` | 是 | `string`; `enum`: `["PUBLIC","PRIVATE"]` | 资料未说明 | | `default_role` | 是 | `string`; `enum`: `["ADMIN","MEMBER"]` | 资料未说明 | ## OrganizationResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------------ | -- | --------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `allow_member_create_projects` | 是 | `boolean`; — | 资料未说明 | | `owner_user_id` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## OrganizationSSOAuthorizationRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ---------------------------------------------- | ----- | | `organization_id` | 否 | anyOf: `string` (`minLength`: `1`) / `null`; — | 资料未说明 | | `redirect_uri` | 是 | `string`; `minLength`: `1` | 资料未说明 | | `nonce` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | ## OrganizationSSOAuthorizationResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | --------------------------------- | ----- | | `authorization_url` | 是 | `string`; — | 资料未说明 | | `state` | 是 | `string`; — | 资料未说明 | | `expires_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## OrganizationStatus 类型: `string`. `enum`: `["ACTIVE","SUSPENDED","DELETED"]` ## OrganizationUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------------ | -- | ------------------------------------------------------------------ | ----- | | `name` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `100`) / `null`; — | 资料未说明 | | `allow_member_create_projects` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | ## OrgMemberResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------------- | ----- | | `user_id` | 是 | `string`; — | 资料未说明 | | `nickname` | 是 | `string`; — | 资料未说明 | | `email` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `phone_number` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `role` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## OrgMemberRoleUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | -------------------------------------------------------------- | ----- | | `role` | 是 | `string`; `enum`: `["ADMIN","BILLING_ADMIN","MEMBER","GUEST"]` | 资料未说明 | ## OwnershipTransferRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | -------------------------- | ----- | | `target_user_id` | 是 | `string`; `minLength`: `1` | 资料未说明 | --- 来源:https://docs.asktable.com/knowledge/developers/models/p.md # 数据模型 P 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## Page\_AdminProjectOwnerCandidate\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([AdminProjectOwnerCandidate](https://docs.asktable.com/knowledge/developers/models/a.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_AdminProjectResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([AdminProjectResponse](https://docs.asktable.com/knowledge/developers/models/a.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_AdminUserResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------------------------------------------------------------------------ | ----- | | `items` | 是 | array ([AdminUserResponse](https://docs.asktable.com/knowledge/developers/models/a.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_AgentFeedbackItem\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------------------------------------------------------------------------ | ----- | | `items` | 是 | array ([AgentFeedbackItem](https://docs.asktable.com/knowledge/developers/models/a.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_BatchSummary\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([BatchSummary](https://docs.asktable.com/knowledge/developers/models/b.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_CanvasResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([CanvasResponse](https://docs.asktable.com/knowledge/developers/models/c.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_ConversationResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([ConversationResponse](https://docs.asktable.com/knowledge/developers/models/c.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_CreditsUsageResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([CreditsUsageResponse](https://docs.asktable.com/knowledge/developers/models/c.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_DataSourceResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([DataSourceResponse](https://docs.asktable.com/knowledge/developers/models/d.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_ExecutionLogItem\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ----------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([ExecutionLogItem](https://docs.asktable.com/knowledge/developers/models/e.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_IndexResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | -------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([IndexResponse](https://docs.asktable.com/knowledge/developers/models/i.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_LicenseKeyResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([LicenseKeyResponse](https://docs.asktable.com/knowledge/developers/models/l.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_OrderResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | -------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([OrderResponse](https://docs.asktable.com/knowledge/developers/models/o.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_OrganizationDirectoryItem\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | -------------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([OrganizationDirectoryItem](https://docs.asktable.com/knowledge/developers/models/o.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_OrganizationMemberDirectoryItem\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | -------------------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([OrganizationMemberDirectoryItem](https://docs.asktable.com/knowledge/developers/models/o.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_OrganizationProjectResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ---------------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([OrganizationProjectResponse](https://docs.asktable.com/knowledge/developers/models/o.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_PersonResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([PersonResponse](https://docs.asktable.com/knowledge/developers/models/p.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_PolicyResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([PolicyResponse](https://docs.asktable.com/knowledge/developers/models/p.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_ProjectResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ---------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([ProjectResponse](https://docs.asktable.com/knowledge/developers/models/p.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_ProjectUserResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | -------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([ProjectUserResponse](https://docs.asktable.com/knowledge/developers/models/p.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_RedeemCodeItem\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([RedeemCodeItem](https://docs.asktable.com/knowledge/developers/models/r.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_RoleResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([RoleResponse](https://docs.asktable.com/knowledge/developers/models/r.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## Page\_TrainingPairResponse\_ 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `items` | 是 | array ([TrainingPairResponse](https://docs.asktable.com/knowledge/developers/models/t.md)); — | 资料未说明 | | `total` | 是 | `integer`; `minimum`: `0` | 资料未说明 | | `page` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `size` | 是 | `integer`; `minimum`: `1` | 资料未说明 | | `pages` | 是 | `integer`; `minimum`: `0` | 资料未说明 | ## ParseAndImportResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | -------------------------------------------------------------------------------------- | ----- | | `dataframes` | 是 | array ([DataframeItem](https://docs.asktable.com/knowledge/developers/models/d.md)); — | 资料未说明 | ## ParseWarning 类型: `object`. — 按 sheet 归属的结构化解析警告,前端按 code 做 i18n。 | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ------------------------------------------------------------- | ----- | | `code` | 是 | `string`; — | 资料未说明 | | `params` | 否 | `object`; `additionalProperties`: anyOf: `string` / `integer` | 资料未说明 | ## PasswordChangeRequest 类型: `object`. — 修改密码请求 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ----------- | ----- | | `old_password_hash` | 是 | `string`; — | 旧密码哈希 | | `new_password_hash` | 是 | `string`; — | 新密码哈希 | ## Pattern 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ---------------------------------------------------------------------------- | ----- | | `type` | 是 | [PatternType](https://docs.asktable.com/knowledge/developers/models/p.md); — | 资料未说明 | | `value` | 是 | `string`; `minLength`: `1` | 资料未说明 | ## PatternGroup-Input 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | -------------------------------------------------------------------------------- | ----- | | `combinator` | 否 | `string`; `default`: `"or"`; `enum`: `["and","or"]` | 资料未说明 | | `patterns` | 否 | array ([Pattern](https://docs.asktable.com/knowledge/developers/models/p.md)); — | 资料未说明 | ## PatternGroup-Output 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | -------------------------------------------------------------------------------- | ----- | | `combinator` | 否 | `string`; `default`: `"or"`; `enum`: `["and","or"]` | 资料未说明 | | `patterns` | 否 | array ([Pattern](https://docs.asktable.com/knowledge/developers/models/p.md)); — | 资料未说明 | ## PatternType 类型: `string`. `enum`: `["exact","prefix","suffix","include"]` ## PendingAccessRequestResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------------- | -- | ------------------------------------------------------------ | ------------------------- | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `data_agent_id` | 是 | `string`; — | 资料未说明 | | `data_agent_name` | 否 | anyOf: `string` / `null`; — | 随响应提供的展示信息,无需再次请求。 | | `channel_type` | 是 | `string`; — | 资料未说明 | | `external_id` | 是 | `string`; — | 资料未说明 | | `external_open_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `external_name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `external_avatar_url` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `external_email` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `external_mobile` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `raw_payload` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `first_seen_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `last_seen_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `person_id` | 否 | anyOf: `string` / `null`; — | 若已建档则返回 person\_id 快照 | | `person_name` | 否 | anyOf: `string` / `null`; — | 若 person 仍存在则返回当前名字 | | `person_deleted` | 否 | `boolean`; `default`: `false` | 已记录 person\_id,但对应人员已不存在。 | | `built_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 建档动作的时间戳 | ## PendingBuildPersonRequest 类型: `object`. — 审批 pending → 建档/关联 Person + 创建 binding。 | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | --------------------------------------------------------------------------------------------- | ------------------- | | `mode` | 是 | `string`; `enum`: `["create_person","link_person"]` | 资料未说明 | | `person_id` | 否 | anyOf: `string` / `null`; — | link\_person 模式必填 | | `person` | 否 | anyOf: [PersonCreate](https://docs.asktable.com/knowledge/developers/models/p.md) / `null`; — | create\_person 模式必填 | ## Permission 类型: `string`. `enum`: `["allow","deny"]` ## PersonChannelBindingCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ------------------------------------------------------------ | ------------ | | `channel_type` | 是 | `string`; `enum`: `["feishu","slack"]` | 渠道类型 | | `external_id` | 是 | `string`; `maxLength`: `255` | 渠道内稳定用户 ID | | `external_name` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | | `external_en_name` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | | `external_nickname` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | | `external_avatar_url` | 否 | anyOf: `string` (`maxLength`: `1024`) / `null`; — | 资料未说明 | | `external_email` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | | `external_mobile` | 否 | anyOf: `string` (`maxLength`: `32`) / `null`; — | 资料未说明 | | `external_employee_no` | 否 | anyOf: `string` (`maxLength`: `64`) / `null`; — | 资料未说明 | | `raw_payload` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 完整原始 profile | ## PersonChannelBindingResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | ------------------------------------------------------------ | ---------- | | `channel_type` | 是 | `string`; `enum`: `["feishu","slack"]` | 渠道类型 | | `external_id` | 是 | `string`; `maxLength`: `255` | 渠道内稳定用户 ID | | `external_name` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | | `external_en_name` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | | `external_nickname` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | | `external_avatar_url` | 否 | anyOf: `string` (`maxLength`: `1024`) / `null`; — | 资料未说明 | | `external_email` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 资料未说明 | | `external_mobile` | 否 | anyOf: `string` (`maxLength`: `32`) / `null`; — | 资料未说明 | | `external_employee_no` | 否 | anyOf: `string` (`maxLength`: `64`) / `null`; — | 资料未说明 | | `id` | 是 | `string`; — | 资料未说明 | | `person_id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `raw_payload` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `profile_synced_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## PersonCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------------------------------- | -------------- | | `name` | 是 | `string`; `maxLength`: `100` | 人员姓名 | | `description` | 否 | anyOf: `string` (`maxLength`: `500`) / `null`; — | 备注/职位描述 | | `email` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 邮箱 | | `phone` | 否 | anyOf: `string` (`maxLength`: `32`) / `null`; — | 手机 | | `avatar_url` | 否 | anyOf: `string` (`maxLength`: `1024`) / `null`; — | 头像 URL(前端直接渲染) | ## PersonResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ----------------------------------------------------------------------------------------------------- | -------------- | | `name` | 是 | `string`; `maxLength`: `100` | 人员姓名 | | `description` | 否 | anyOf: `string` (`maxLength`: `500`) / `null`; — | 备注/职位描述 | | `email` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 邮箱 | | `phone` | 否 | anyOf: `string` (`maxLength`: `32`) / `null`; — | 手机 | | `avatar_url` | 否 | anyOf: `string` (`maxLength`: `1024`) / `null`; — | 头像 URL(前端直接渲染) | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `bindings` | 否 | array ([PersonChannelBindingResponse](https://docs.asktable.com/knowledge/developers/models/p.md)); — | 资料未说明 | | `bindings_count` | 否 | `integer`; `default`: `0` | 资料未说明 | ## PersonUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------------------------------- | -------------- | | `name` | 否 | anyOf: `string` (`maxLength`: `100`) / `null`; — | 人员姓名 | | `description` | 否 | anyOf: `string` (`maxLength`: `500`) / `null`; — | 备注/职位描述 | | `email` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 邮箱 | | `phone` | 否 | anyOf: `string` (`maxLength`: `32`) / `null`; — | 手机 | | `avatar_url` | 否 | anyOf: `string` (`maxLength`: `1024`) / `null`; — | 头像 URL(前端直接渲染) | ## PlanId 类型: `string`. `enum`: `["free","team"]` ## PolicyCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ----------------------------------------------------------------------------------- | ---------------------------------- | | `name` | 是 | `string`; `maxLength`: `25` | 名称 | | `description` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 描述 | | `permission` | 是 | [Permission](https://docs.asktable.com/knowledge/developers/models/p.md); — | 权限 | | `datasource_ids` | 否 | array (`string`); — | 数据源 ID 列表;允许为空(新建空白态) | | `schemas` | 否 | [PatternGroup-Input](https://docs.asktable.com/knowledge/developers/models/p.md); — | Schema 匹配规则;空 patterns = 不过滤 | | `tables` | 否 | [PatternGroup-Input](https://docs.asktable.com/knowledge/developers/models/p.md); — | Table 匹配规则 | | `fields` | 否 | [PatternGroup-Input](https://docs.asktable.com/knowledge/developers/models/p.md); — | Field 匹配规则 | | `row_filters` | 否 | array ([RowFilter](https://docs.asktable.com/knowledge/developers/models/r.md)); — | 行过滤器(顶层扁平 list,每项带 datasource\_id) | ## PolicyResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------------------------------------------------------------------------------ | ---------------------------------- | | `name` | 是 | `string`; `maxLength`: `25` | 名称 | | `description` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 描述 | | `permission` | 是 | [Permission](https://docs.asktable.com/knowledge/developers/models/p.md); — | 权限 | | `datasource_ids` | 否 | array (`string`); — | 数据源 ID 列表;允许为空(新建空白态) | | `schemas` | 否 | [PatternGroup-Output](https://docs.asktable.com/knowledge/developers/models/p.md); — | Schema 匹配规则;空 patterns = 不过滤 | | `tables` | 否 | [PatternGroup-Output](https://docs.asktable.com/knowledge/developers/models/p.md); — | Table 匹配规则 | | `fields` | 否 | [PatternGroup-Output](https://docs.asktable.com/knowledge/developers/models/p.md); — | Field 匹配规则 | | `row_filters` | 否 | array ([RowFilter](https://docs.asktable.com/knowledge/developers/models/r.md)); — | 行过滤器(顶层扁平 list,每项带 datasource\_id) | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## PolicyUpdate 类型: `object`. — PATCH 中未提供字段表示不修改,显式 null 表示清空。更新后的完整策略仍须满足校验规则。 | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | --------------------------------------------------------------------------------------------------- | ---------------------------------- | | `name` | 否 | anyOf: `string` (`maxLength`: `25`) / `null`; — | 名称 | | `description` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 描述 | | `permission` | 否 | anyOf: [Permission](https://docs.asktable.com/knowledge/developers/models/p.md) / `null`; — | 权限 | | `datasource_ids` | 否 | anyOf: array (`string`) / `null`; — | 数据源 ID 列表;允许为空(新建空白态) | | `schemas` | 否 | anyOf: [PatternGroup-Input](https://docs.asktable.com/knowledge/developers/models/p.md) / `null`; — | Schema 匹配规则;空 patterns = 不过滤 | | `tables` | 否 | anyOf: [PatternGroup-Input](https://docs.asktable.com/knowledge/developers/models/p.md) / `null`; — | Table 匹配规则 | | `fields` | 否 | anyOf: [PatternGroup-Input](https://docs.asktable.com/knowledge/developers/models/p.md) / `null`; — | Field 匹配规则 | | `row_filters` | 否 | anyOf: array ([RowFilter](https://docs.asktable.com/knowledge/developers/models/r.md)) / `null`; — | 行过滤器(顶层扁平 list,每项带 datasource\_id) | ## PolishModeEnum 类型: `integer`. `enum`: `[0]` ## PolishResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ----------- | ------ | | `polish_desc` | 是 | `string`; — | 润色后的结果 | ## ProductCategory 类型: `string`. `enum`: `["SUBSCRIPTION","ADDON","LICENSE","AIPROXY"]` 商品类别 ## ProjectAccessPolicyResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------- | ----- | | `visibility` | 是 | `string`; `enum`: `["PUBLIC","PRIVATE"]` | 资料未说明 | | `default_role` | 是 | `string`; `enum`: `["ADMIN","MEMBER"]` | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | ## ProjectAccessPolicyUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------- | ----- | | `visibility` | 是 | `string`; `enum`: `["PUBLIC","PRIVATE"]` | 资料未说明 | | `default_role` | 是 | `string`; `enum`: `["ADMIN","MEMBER"]` | 资料未说明 | ## ProjectCreate 类型: `object`. — 创建项目请求 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------------- | ----- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `50` | 项目名称 | | `visibility` | 否 | `string`; `default`: `"PRIVATE"`; `enum`: `["PUBLIC","PRIVATE"]` | 资料未说明 | | `default_role` | 否 | `string`; `default`: `"MEMBER"`; `enum`: `["ADMIN","MEMBER"]` | 资料未说明 | ## ProjectCreate-6491cd44 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | --------------------------------------------- | ---- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `50` | 项目名称 | ## ProjectCreateResponse 类型: `object`. — 创建项目响应 | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ----------- | ----- | | `project_id` | 是 | `string`; — | 项目 ID | ## ProjectCreditQuotaResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | --------------------------------- | ----- | | `project_id` | 是 | `string`; — | 资料未说明 | | `org_id` | 是 | `string`; — | 资料未说明 | | `monthly_credit_limit` | 是 | anyOf: `integer` / `null`; — | 资料未说明 | | `consumed_credit` | 是 | `integer`; — | 资料未说明 | | `current_period_start` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `current_period_end` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## ProjectCreditQuotaUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------- | -- | --------------------------------------------- | ----- | | `monthly_credit_limit` | 否 | anyOf: `integer` (`minimum`: `0`) / `null`; — | 资料未说明 | ## ProjectDetail 类型: `object`. — 项目详情响应 | 字段 | 必填 | 类型与约束 | 说明 | | --------------------- | -- | ------------------------------------------------------------------------------------- | ----------- | | `id` | 是 | `string`; — | 项目 ID | | `name` | 是 | `string`; — | 项目名称 | | `model_group` | 否 | anyOf: `string` / `null`; — | 模型组 | | `org_id` | 是 | `string`; — | 所属组织 ID | | `role` | 是 | `string`; — | 当前用户在项目中的角色 | | `role_source` | 是 | `string`; `enum`: `["EXPLICIT","DEFAULT"]` | 资料未说明 | | `visibility` | 是 | `string`; `enum`: `["PUBLIC","PRIVATE"]` | 资料未说明 | | `default_role` | 是 | `string`; `enum`: `["ADMIN","MEMBER"]` | 资料未说明 | | `organization_access` | 是 | [OrganizationListItem](https://docs.asktable.com/knowledge/developers/models/o.md); — | 资料未说明 | ## ProjectListResponse 类型: `object`. — 用户项目列表响应 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------ | --------- | | `id` | 是 | `string`; — | 项目 ID | | `name` | 是 | `string`; — | 项目名称 | | `role` | 是 | `string`; — | 用户在项目中的角色 | | `role_source` | 是 | `string`; `enum`: `["EXPLICIT","DEFAULT"]` | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 加入时间 | | `org_id` | 是 | `string`; — | 所属组织 ID | | `visibility` | 是 | `string`; `enum`: `["PUBLIC","PRIVATE"]` | 资料未说明 | | `default_role` | 是 | `string`; `enum`: `["ADMIN","MEMBER"]` | 资料未说明 | ## ProjectModelGroupResponse 类型: `object`. — 项目级用户视角,仅暴露选择器需要的字段。; 敏感配置(api\_key/base\_url/extra\_headers/model\_configs)由系统级端点处理。 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ----------------------------- | ----------- | | `id` | 是 | `string`; — | 模型组 ID | | `name` | 是 | `string`; — | 项目使用的模型组名称。 | | `display_name` | 否 | anyOf: `string` / `null`; — | 展示名称 | | `is_default` | 否 | `boolean`; `default`: `false` | 是否为系统默认组 | ## ProjectOwnershipTransferRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | -------------------------- | ------ | | `target_user_id` | 是 | `string`; `minLength`: `1` | 新项目负责人 | ## ProjectResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | --------------------------------------------- | ----------------- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `50` | 项目名称 | | `id` | 是 | `string`; — | 项目ID | | `locked` | 是 | `integer`; — | 是否锁定 | | `llm_model_group` | 否 | anyOf: `string` / `null`; — | 模型组,None 表示跟随系统默认 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 修改时间 | ## ProjectUpdate 类型: `object`. — 更新项目请求 | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | --------------------------------------------- | ---- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `50` | 项目名称 | ## ProjectUpdate-d02f7f58 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ----------------------------------------------------------------- | ---- | | `name` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `50`) / `null`; — | 项目名称 | | `llm_model_group` | 否 | anyOf: `string` / `null`; — | 模型组 | | `locked` | 否 | anyOf: `boolean` / `null`; `default`: `false` | 是否锁定 | ## ProjectUpdateUser 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ----------------------------------------------------------------- | ---- | | `name` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `50`) / `null`; — | 项目名称 | | `llm_model_group` | 否 | anyOf: `string` / `null`; — | 模型组 | ## ProjectUserResponse 类型: `object`. — 项目成员响应 | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------------- | ----- | | `project_id` | 是 | `string`; — | 项目 ID | | `user_id` | 是 | `string`; — | 用户 ID | | `role` | 是 | `string`; — | 角色 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 加入时间 | | `nickname` | 是 | `string`; — | 用户昵称 | ## ProjectUserRoleUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | -------------------------------------- | ----- | | `role` | 是 | `string`; `enum`: `["ADMIN","MEMBER"]` | 资料未说明 | ## ProjectUsersCreate 类型: `object`. — 批量添加项目成员请求:一批 user\_id 共用一个角色,任一失败整批回滚 | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ----------------------------------------------------------------- | -------- | | `user_ids` | 是 | array (`string`); `minItems`: `1` | 用户 ID 列表 | | `role` | 否 | `string`; `default`: `"MEMBER"`; `pattern`: `"^(ADMIN\|MEMBER)$"` | 角色 | ## ProviderSignInRequest 类型: `object`. — 第三方登录请求; ; language/timezone 是浏览器探测值,仅在首次登录自动建用户时使用;; 已有用户登录不会改写其 profile 偏好。 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | -------------------------------------- | ---------------- | | `language` | 否 | `string`; `default`: `"zh-CN"` | 语言偏好 | | `timezone` | 否 | `string`; `default`: `"Asia/Shanghai"` | 时区 | | `code` | 是 | `string`; — | 授权码 | | `redirect_uri` | 否 | anyOf: `string` / `null`; — | OAuth 回调地址 | | `state` | 否 | anyOf: `string` / `null`; — | 组织专属企业登录签名 state | ## PublicConfigResponse 类型: `object`. — 公开系统配置响应 | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------------- | -- | ---------------------------------------------------------------------------------- | -------------------------------------- | | `registration_enabled` | 是 | `boolean`; — | 是否允许注册 | | `strong_password_enabled` | 是 | `boolean`; — | 是否启用新密码复杂度校验 | | `workbook_configured` | 是 | `boolean`; — | Workbook DSN 是否已配置;不代表数据库实时健康 | | `deploy_mode` | 是 | `string`; `enum`: `["cloud","local"]` | 部署模式 | | `deployment_profile` | 是 | `string`; `enum`: `["local","cn","global"]` | 用于界面展示的部署版本 | | `identity_key` | 是 | `string`; `enum`: `["email","phone"]` | 当前部署的唯一身份键 | | `login_capabilities` | 是 | [LoginCapabilities](https://docs.asktable.com/knowledge/developers/models/l.md); — | 登录页运行时能力 | | `oauth_providers` | 否 | array (`string`); — | 可用的 OAuth 提供商 | | `sso` | 否 | [SSOPublicConfig](https://docs.asktable.com/knowledge/developers/models/s.md); — | SSO 配置 | | `email_login_enabled` | 否 | `boolean`; `default`: `true` | 集中部署策略派生的最终邮箱登录能力 | | `init_allowed` | 否 | `boolean`; `default`: `false` | 是否允许初始化向导(Local 模式 + 无用户 + 无数据源) | | `has_dashscope_api_key` | 否 | `boolean`; `default`: `false` | 是否检测到 ALIYUN\_DASHSCOPE\_API\_KEY 环境变量 | | `web_search_configured` | 否 | `boolean`; `default`: `false` | 联网搜索是否已配置(api\_key 非空) | | `excel_max_file_size_mb` | 是 | `integer`; — | Excel 文件大小限制 (MB) | | `csv_max_file_size_mb` | 是 | `integer`; — | CSV 文件大小限制 (MB) | | `datasource_max_table_count` | 是 | `integer`; — | 单数据源选表数量上限 | ## PythonNodeData 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | ------------------------------------------------------------ | ----------------------------------- | | `question` | 是 | `string`; — | 用户需求描述 | | `code` | 否 | anyOf: `string` / `null`; — | AI 生成的 Python 代码(pending 状态时为 None) | | `dataframe` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 执行结果数据帧(pending 状态时为 None) | | `stdout` | 否 | anyOf: `string` / `null`; — | 执行日志 | --- 来源:https://docs.asktable.com/knowledge/developers/models/q.md # 数据模型 Q 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## QueryRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | --------------------------------------------------------------------------------------------------- | ----- | | `columns` | 否 | anyOf: array (`string`) / `null`; — | 资料未说明 | | `filters` | 否 | anyOf: array ([FilterSpec](https://docs.asktable.com/knowledge/developers/models/f.md)) / `null`; — | 资料未说明 | | `sort` | 否 | anyOf: array ([SortSpec](https://docs.asktable.com/knowledge/developers/models/s.md)) / `null`; — | 资料未说明 | | `page` | 否 | `integer`; `default`: `1` | 资料未说明 | | `page_size` | 否 | `integer`; `default`: `100` | 资料未说明 | ## QueryRequest-ac6dba7a 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------------------------------------------------------ | --------------------------- | | `datasource_ids` | 是 | array (`string`); `minItems`: `1` | 数据源 ID 列表 | | `role_id` | 否 | anyOf: `string` / `null`; — | 角色 ID,用于权限隔离与行级安全;不传则不做权限过滤 | | `role_variables` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 扮演该角色时需要的变量值 | | `question` | 是 | `string`; `maxLength`: `4096` | 用户问题 | ## QueryResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | -------------------------------------------------------------------------------------------- | ----- | | `data` | 是 | array (`object`; `additionalProperties`: `true`); — | 资料未说明 | | `column_types` | 是 | array ([DataframeColumnType](https://docs.asktable.com/knowledge/developers/models/d.md)); — | 资料未说明 | | `total` | 是 | `integer`; — | 资料未说明 | | `page` | 是 | `integer`; — | 资料未说明 | | `page_size` | 是 | `integer`; — | 资料未说明 | | `total_pages` | 是 | `integer`; — | 资料未说明 | ## QueryResponse-85ada908 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ---------------------------------------- | ------------------------- | | `conversation_id` | 是 | `string`; `format`: `"uuid"` | 对话 ID,可用于追溯历史 | | `answer` | 是 | anyOf: `string` / `null`; — | agent 给出的自然语言回答;失败时为 null | | `status` | 是 | `string`; `enum`: `["success","failed"]` | 资料未说明 | ## QuotaItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------ | ----------------------------------------------------- | | `key` | 是 | `string`; — | local: users/tables;cloud: members/projects/workbooks | | `used` | 是 | `integer`; — | 资料未说明 | | `limit` | 是 | `integer`; — | -1 表示不限 | --- 来源:https://docs.asktable.com/knowledge/developers/models/r.md # 数据模型 R 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## RedeemAliyunRequest 类型: `object`. — 阿里云市场兑换请求 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------- | -------- | | `license_code` | 是 | `string`; `minLength`: `10` | 阿里云市场授权码 | ## RedeemCodeItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ----------------------------------------------------- | -------------------------------------------- | | `id` | 是 | `string`; — | 资料未说明 | | `code` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `max_uses` | 是 | `integer`; — | 资料未说明 | | `used_count` | 是 | `integer`; — | 资料未说明 | | `expires_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `effective_status` | 是 | `string`; `readOnly`: `true` | 对外状态:DISABLED > EXPIRED > EXHAUSTED > ACTIVE | ## RedeemRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | --------------------------------------------- | ----- | | `code` | 是 | `string`; `minLength`: `1`; `maxLength`: `64` | 资料未说明 | ## RedeemResponse 类型: `object`. — 兑换响应 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ----------- | ----- | | `order_id` | 是 | `string`; — | 资料未说明 | | `product_name` | 是 | `string`; — | 资料未说明 | ## RedeemResultResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | --------------------------------------------------------------------------------------- | ----- | | `redeem_record_id` | 是 | `string`; — | 资料未说明 | | `reward_type` | 是 | `string`; — | 资料未说明 | | `plan_id` | 否 | anyOf: [PlanId](https://docs.asktable.com/knowledge/developers/models/p.md) / `null`; — | 资料未说明 | | `duration_months` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `addon_credit` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `expires_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `balance_credit` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | ## RefreshLogResponse 类型: `object`. — 单次刷新的事实记录。 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------------------------ | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `table_id` | 是 | `string`; — | 资料未说明 | | `trigger` | 是 | `string`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `started_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `finished_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `duration_ms` | 是 | anyOf: `integer` / `null`; — | 资料未说明 | | `error` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `dataframe_id` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `version` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | | `row_count` | 否 | anyOf: `integer` / `null`; — | 资料未说明 | ## RelationshipResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `datasource_id` | 是 | `string`; — | 资料未说明 | | `from_table` | 是 | `string`; — | 资料未说明 | | `from_columns` | 是 | array (`string`); — | 资料未说明 | | `to_table` | 是 | `string`; — | 资料未说明 | | `to_columns` | 是 | array (`string`); — | 资料未说明 | | `cardinality` | 是 | `string`; — | 资料未说明 | | `source` | 是 | `string`; — | 资料未说明 | ## ReplyPlacement 类型: `string`. `enum`: `["thread","space"]` 回复位置策略 — 回答一个新提问时,开话题还是发在空间顶层。; ; 会话边界不由它决定(那取决于"消息是否在话题内"这个客观事实),; 它只影响机器人自己的回复落在哪里,进而自然影响用户追问的落点。 ## RequestBody-2804681c 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | ----------- | ----- | | `file` | 是 | `string`; — | 资料未说明 | ## RequestBody-3092884a 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ----------- | ---- | | `message` | 是 | `string`; — | 用户消息 | ## RequestBody-56d61535 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ----------------------------------------------------------------------------------------- | ----- | | `meta` | 否 | anyOf: [MetaBase](https://docs.asktable.com/knowledge/developers/models/m.md) / `null`; — | 资料未说明 | | `selected_tables` | 否 | anyOf: `object` (`additionalProperties`: array (`string`)) / `null`; — | 资料未说明 | ## RequestBody-5bf8a059 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ----------------------------------------------------------------------------------------- | ----- | | `meta` | 否 | anyOf: [MetaBase](https://docs.asktable.com/knowledge/developers/models/m.md) / `null`; — | 资料未说明 | | `selected_tables` | 否 | anyOf: `object` (`additionalProperties`: array (`string`)) / `null`; — | 资料未说明 | ## RequestBody-aa925a00 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | ----------- | ------------ | | `file` | 是 | `string`; — | Excel/CSV 文件 | ## RequestBody-fb1c19f7 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | --------------------------- | ----- | | `file` | 是 | `string`; — | 资料未说明 | | `selected_sheets` | 否 | `string`; `default`: `"[]"` | 资料未说明 | ## RequestBody-fcedb7f1 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | ----------- | ------------ | | `file` | 是 | `string`; — | Excel/CSV 文件 | ## ResolvedLayoutItem 类型: `object`. — 分享响应中的布局项,包含 resolved\_df\_id。 | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ---------------------------------------------------------------------------- | ----- | | `table_id` | 是 | `string`; — | 资料未说明 | | `x` | 是 | `integer`; — | 资料未说明 | | `y` | 是 | `integer`; — | 资料未说明 | | `w` | 是 | `integer`; — | 资料未说明 | | `h` | 是 | `integer`; — | 资料未说明 | | `display_mode` | 是 | [DisplayMode](https://docs.asktable.com/knowledge/developers/models/d.md); — | 资料未说明 | | `resolved_df_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## RewardType 类型: `string`. `enum`: `["SUBSCRIPTION","CREDIT"]` 兑换码奖励类型(互斥) ## RoleCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------------------------------ | ---------------------- | | `name` | 是 | `string`; `maxLength`: `25` | 名称 | | `description` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 描述 | | `policy_ids` | 否 | array (`string`); — | 策略 ID 列表;为空或缺省则不绑定任何策略 | ## RoleResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------------------------------ | ---------------------- | | `name` | 是 | `string`; `maxLength`: `25` | 名称 | | `description` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 描述 | | `policy_ids` | 否 | array (`string`); — | 策略 ID 列表;为空或缺省则不绑定任何策略 | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## RoleUpdate 类型: `object`. — PATCH 语义:字段缺省表示未指定,显式 null 表示更新为 None。 | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------------------------------ | ---------------------- | | `name` | 否 | anyOf: `string` (`maxLength`: `25`) / `null`; — | 名称 | | `description` | 否 | anyOf: `string` (`maxLength`: `255`) / `null`; — | 描述 | | `policy_ids` | 否 | anyOf: array (`string`) / `null`; — | 策略 ID 列表;为空或缺省则不绑定任何策略 | ## RowBatchCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | -------------------------------------------------------------------------------------------------- | ----- | | `rows` | 是 | array ([RowCreate](https://docs.asktable.com/knowledge/developers/models/r.md)); `maxItems`: `500` | 资料未说明 | ## RowBatchCreateResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | -------------------------------------------------------------------------------------------------- | ----- | | `created` | 否 | array ([RowResponse](https://docs.asktable.com/knowledge/developers/models/r.md)); `default`: `[]` | 资料未说明 | | `errors` | 否 | array (`object`; `additionalProperties`: `true`); `default`: `[]` | 资料未说明 | ## RowBatchDelete 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----- | -- | ----------------------------------- | ----- | | `ids` | 是 | array (`string`); `maxItems`: `500` | 资料未说明 | ## RowCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ---------------------------------------- | ------------------------ | | `id` | 否 | anyOf: `string` / `null`; — | 可选;不传则服务端生成 row\_\ | | `fields` | 否 | `object`; `additionalProperties`: `true` | 资料未说明 | ## RowFilter 类型: `object`. — 单条行过滤器。schema\_name / table\_name / field\_name 允许 "\*" 通配。 | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------------------------------------------------------------------------------------------------- | ----- | | `datasource_id` | 是 | `string`; — | 资料未说明 | | `schema_name` | 是 | `string`; — | 资料未说明 | | `table_name` | 是 | `string`; — | 资料未说明 | | `field_name` | 是 | `string`; — | 资料未说明 | | `operator` | 是 | `string`; `enum`: `["=","!=","<>",">","<",">=","<=","IN","NOT IN","LIKE","NOT LIKE","IS NULL","IS NOT NULL"]` | 资料未说明 | | `value` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## RowResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ---------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `version` | 是 | `integer`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `fields` | 是 | `object`; `additionalProperties`: `true` | 资料未说明 | ## RowUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ---------------------------------------- | ------- | | `expected_version` | 是 | `integer`; `minimum`: `1` | 乐观锁版本 | | `fields` | 否 | `object`; `additionalProperties`: `true` | 仅传要改的字段 | ## RuntimeMetaResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | -------------------------------------------------------------------------------------------------------------------- | --- | | `schemas` | 是 | `object`; `additionalProperties`: array ([RuntimeTable](https://docs.asktable.com/knowledge/developers/models/r.md)) | 元数据 | ## RuntimeTable 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | -------------------------------------------------------------------------- | ----- | | `name` | 是 | `string`; — | 表名称数据 | | `type` | 是 | [TableType](https://docs.asktable.com/knowledge/developers/models/t.md); — | 表的类型 | --- 来源:https://docs.asktable.com/knowledge/developers/models/s.md # 数据模型 S 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## ScheduleCreate 类型: `object`. — 创建 schedule 仅接受 name/description/cron/prompt。; notify 配置与 enabled 均通过后续 PATCH 设置。 | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ---------------------------------------------- | ----- | | `name` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | | `description` | 否 | `string`; `default`: `""` | 资料未说明 | | `cron` | 是 | `string`; `minLength`: `1`; `maxLength`: `64` | 资料未说明 | | `prompt` | 是 | `string`; `minLength`: `1` | 资料未说明 | ## ScheduleLogResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ----------------------------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `schedule_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `conversation_id` | 是 | anyOf: `string` (`format`: `"uuid"`) / `null`; — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `conclusion` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `error` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `triggered_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `completed_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | ## ScheduleResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------- | -- | ------------------------------------------------------------ | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `data_agent_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `description` | 是 | `string`; — | 资料未说明 | | `cron` | 是 | `string`; — | 资料未说明 | | `prompt` | 是 | `string`; — | 资料未说明 | | `notify_type` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `notify_config` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `enabled` | 是 | `boolean`; — | 资料未说明 | | `last_triggered_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `next_fire_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## ScheduleUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------------------------------------------------------------------------------- | ----- | | `name` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `255`) / `null`; — | 资料未说明 | | `description` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `cron` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `64`) / `null`; — | 资料未说明 | | `prompt` | 否 | anyOf: `string` (`minLength`: `1`) / `null`; — | 资料未说明 | | `notify_type` | 否 | anyOf: [NotifyType](https://docs.asktable.com/knowledge/developers/models/n.md) / `null`; — | 资料未说明 | | `notify_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `enabled` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | ## SchemaAnnotation 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | --------------------------------------------------------------------------------------------------------------- | ----- | | `desc` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `tables` | 是 | `object`; `additionalProperties`: [TableAnnotation](https://docs.asktable.com/knowledge/developers/models/t.md) | 资料未说明 | ## SchemaBase 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | -------------------------------------------------------------------------------------------------------------------------- | -------- | | `name` | 是 | `string`; — | 库名 | | `origin_desc` | 是 | `string`; — | 数据库原始库描述 | | `custom_configs` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 自定义配置 | | `tables` | 否 | `object`; `default`: `{}`; `additionalProperties`: [TableBase](https://docs.asktable.com/knowledge/developers/models/t.md) | 资料未说明 | ## SchemaExport 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ---------------------------------------------------------------------------------------------------------------------------- | ----- | | `desc` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `tables` | 否 | `object`; `default`: `{}`; `additionalProperties`: [TableExport](https://docs.asktable.com/knowledge/developers/models/t.md) | 资料未说明 | ## SchemaResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------------------------------------------------------------------------------------------------------- | -------- | | `name` | 是 | `string`; — | 库名 | | `origin_desc` | 是 | `string`; — | 数据库原始库描述 | | `custom_configs` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 自定义配置 | | `curr_desc` | 是 | `string`; — | 当前库描述 | | `curr_desc_stat` | 是 | `string`; — | 当前库描述状态 | | `tables` | 是 | `object`; `additionalProperties`: [TableResponse](https://docs.asktable.com/knowledge/developers/models/t.md) | 资料未说明 | ## ScopeFieldNode 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------- | ----- | | `name` | 是 | `string`; — | 资料未说明 | | `allowed` | 是 | `boolean`; — | 资料未说明 | | `row_filters` | 否 | array (`string`); — | 资料未说明 | ## ScopeSchemaNode 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | --------------------------------------------------------------------------------------- | ----- | | `name` | 是 | `string`; — | 资料未说明 | | `allowed` | 是 | `boolean`; — | 资料未说明 | | `tables` | 是 | array ([ScopeTableNode](https://docs.asktable.com/knowledge/developers/models/s.md)); — | 资料未说明 | ## ScopeStats 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ------------ | ----- | | `total_schemas` | 是 | `integer`; — | 资料未说明 | | `total_tables` | 是 | `integer`; — | 资料未说明 | | `total_fields` | 是 | `integer`; — | 资料未说明 | | `allowed_schemas` | 是 | `integer`; — | 资料未说明 | | `allowed_tables` | 是 | `integer`; — | 资料未说明 | | `allowed_fields` | 是 | `integer`; — | 资料未说明 | ## ScopeTableNode 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | --------------------------------------------------------------------------------------- | ----- | | `name` | 是 | `string`; — | 资料未说明 | | `allowed` | 是 | `boolean`; — | 资料未说明 | | `fields` | 是 | array ([ScopeFieldNode](https://docs.asktable.com/knowledge/developers/models/s.md)); — | 资料未说明 | ## SemanticType 类型: `string`. `enum`: `["PK","FK","Quantity","Share","Percentage","Currency","Income","Discount","Price","GrossMargin","Cost","Score","Duration","Latitude","Longitude","City","State","Country","ZipCode","Email","URL","ImageURL","AvatarURL","Category","Enum","Name","Title","Description","Comment","SerializedJSON","IPAddress","CreationTimestamp","CreationTime","CreationDate","JoinTimestamp","JoinTime","JoinDate","CancelationTimestamp","CancelationTime","CancelationDate","DeletionTimestamp","DeletionTime","DeletionDate","UpdatedTimestamp","UpdatedTime","UpdatedDate","Birthdate","Source","Author","Owner","Company","Product","Subscription"]` 字段语义类型使用去掉 :type/ 前缀的 Metabase 类型名称。PK、FK 来自同步的数据库关系,不通过推断产生;其他类型可以推断或由人工设置。 ## SendMessageBody 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | | `question` | 否 | anyOf: `string` (`maxLength`: `4096`) / `null`; — | 用户问题 | | `content_blocks` | 否 | anyOf: array (oneOf: [TextBlock](https://docs.asktable.com/knowledge/developers/models/t.md) / [ConversationContextBlock](https://docs.asktable.com/knowledge/developers/models/c.md) / [DataframeRefBlock](https://docs.asktable.com/knowledge/developers/models/d.md) / [DashboardElementRefBlock](https://docs.asktable.com/knowledge/developers/models/d.md); `discriminator`: `{"propertyName":"type","mapping":{"conversation_context":"#/schemas/ConversationContextBlock","dashboard_element_ref":"#/schemas/DashboardElementRefBlock","dataframe_ref":"#/schemas/DataframeRefBlock","text":"#/schemas/TextBlock"}}`) / `null`; — | 结构化 content blocks(含 conversation\_context 等) | | `message_id` | 否 | anyOf: `string` (`format`: `"uuid"`) / `null`; — | 客户端生成的消息 UUID,用于去重。 | ## SessionCheckResponse 类型: `object`. — 会话检查响应 | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | ----------------------------------------------------- | ------ | | `valid` | 是 | `boolean`; — | 会话是否有效 | | `user_id` | 否 | anyOf: `string` / `null`; — | 用户 ID | | `expires_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 过期时间 | ## SessionResponse 类型: `object`. — 已完成身份认证的产品会话。 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | -------------------------------------------------------------------- | ----------- | | `type` | 否 | `string`; `default`: `"ACTIVE_SESSION"`; `const`: `"ACTIVE_SESSION"` | 资料未说明 | | `user_token` | 是 | `string`; — | JWT Token | | `user_id` | 是 | `string`; — | 用户 ID | | `project_id` | 否 | anyOf: `string` / `null`; — | 默认项目 ID | | `organization_id` | 否 | anyOf: `string` / `null`; — | 企业登录绑定的目标组织 | ## ShareConversationPayload 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | --------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `messages` | 是 | array (`object`; `additionalProperties`: `true`); — | 资料未说明 | ## ShareDashboardPayload 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `layout` | 是 | array ([ResolvedLayoutItem](https://docs.asktable.com/knowledge/developers/models/r.md)); — | 资料未说明 | | `stale` | 否 | `boolean`; `default`: `false` | 资料未说明 | | `refresh_status` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## ShareLinkResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ----------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `resource_type` | 是 | `string`; — | 资料未说明 | | `resource_id` | 是 | `string`; — | 资料未说明 | | `is_disabled` | 是 | `boolean`; — | 资料未说明 | | `expires_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `url` | 是 | `string`; — | 资料未说明 | ## ShareResolveResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | --------------------------------------------------------------------------------------------------------- | ----- | | `share_id` | 是 | `string`; — | 资料未说明 | | `resource_type` | 是 | `string`; — | 资料未说明 | | `session_token` | 是 | `string`; — | 资料未说明 | | `dashboard` | 否 | anyOf: [ShareDashboardPayload](https://docs.asktable.com/knowledge/developers/models/s.md) / `null`; — | 资料未说明 | | `dataframe_metas` | 否 | anyOf: array ([DataframeMeta](https://docs.asktable.com/knowledge/developers/models/d.md)) / `null`; — | 资料未说明 | | `conversation` | 否 | anyOf: [ShareConversationPayload](https://docs.asktable.com/knowledge/developers/models/s.md) / `null`; — | 资料未说明 | ## SkillCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------- | ----- | | `name` | 是 | `string`; — | 资料未说明 | | `description` | 否 | `string`; `default`: `""` | 资料未说明 | | `content` | 否 | `string`; `default`: `""` | 资料未说明 | ## SkillResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | --------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `description` | 是 | `string`; — | 资料未说明 | | `content` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## SkillTemplateResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ---------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `description` | 是 | `string`; — | 资料未说明 | | `content` | 是 | `string`; — | 资料未说明 | ## SkillUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | --------------------------- | ----- | | `name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `description` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `content` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## SkippedRowSchema 类型: `object`. — 被跳过的一条记录:不符合 worksheet schema 的行。 | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ------------ | ----- | | `row_idx` | 是 | `integer`; — | 资料未说明 | | `column` | 是 | `string`; — | 资料未说明 | | `reason` | 是 | `string`; — | 资料未说明 | ## SlackCredentials 类型: `object`. `additionalProperties`: `false` Slack Socket Mode 凭据。bot\_token 用于 Web API 消息和用户资料,app\_token 用于 WebSocket 连接。无需 HTTP 回调或 signing\_secret;会检查 Token 前缀,避免把两种凭据填反。 | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | ------------------------------------------------- | ----- | | `bot_token` | 是 | `string`; `minLength`: `1`; `pattern`: `"^xoxb-"` | 资料未说明 | | `app_token` | 是 | `string`; `minLength`: `1`; `pattern`: `"^xapp-"` | 资料未说明 | ## SortOrder 类型: `string`. `enum`: `["asc","desc"]` ## SortSpec 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ----------------------------- | ----- | | `column` | 是 | `string`; — | 资料未说明 | | `desc` | 否 | `boolean`; `default`: `false` | 资料未说明 | ## SSOPublicConfig 类型: `object`. — 部署级 SSO 公开配置聚合;组织身份集成不在匿名配置中公开。 | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | --------------------------------------------------------------------------------------------------- | ----- | | `google` | 否 | anyOf: [GooglePublicConfig](https://docs.asktable.com/knowledge/developers/models/g.md) / `null`; — | 资料未说明 | | `github` | 否 | anyOf: [GithubPublicConfig](https://docs.asktable.com/knowledge/developers/models/g.md) / `null`; — | 资料未说明 | | `wechat` | 否 | anyOf: [WechatPublicConfig](https://docs.asktable.com/knowledge/developers/models/w.md) / `null`; — | 资料未说明 | ## StarterSuggestion 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | --------------------------- | ------------ | | `title` | 是 | `string`; — | 简短标题 | | `description` | 是 | `string`; — | 一句话描述 | | `message` | 是 | `string`; — | 用户可直接发送的完整提问 | | `datasource_name` | 否 | anyOf: `string` / `null`; — | 数据源名称 | | `engine` | 否 | anyOf: `string` / `null`; — | 数据库引擎 | ## StarterSuggestionsResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ------------------------------------------------------------------------------------------ | ----- | | `items` | 否 | array ([StarterSuggestion](https://docs.asktable.com/knowledge/developers/models/s.md)); — | 资料未说明 | ## SubscriptionStatsResponse 类型: `object`. — 订阅状态响应 | 字段 | 必填 | 类型与约束 | 说明 | | ---------------------------------- | -- | ----------------------------------------------------------------------- | ----- | | `org_id` | 是 | `string`; — | 资料未说明 | | `current_plan_id` | 是 | [PlanId](https://docs.asktable.com/knowledge/developers/models/p.md); — | 资料未说明 | | `status` | 是 | `string`; — | 资料未说明 | | `cycle_anchor` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `expires_at` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `current_period_start` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `current_period_end` | 是 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `cycle_credit` | 是 | `integer`; — | 资料未说明 | | `remaining_credit` | 是 | `integer`; — | 资料未说明 | | `addon_credit` | 是 | `integer`; — | 资料未说明 | | `addon_credit_available` | 否 | `boolean`; `default`: `false` | 资料未说明 | | `standard_team_checkout_available` | 是 | `boolean`; — | 资料未说明 | | `read_only` | 否 | `boolean`; `default`: `false` | 资料未说明 | | `members` | 否 | `integer`; `default`: `0` | 资料未说明 | | `member_limit` | 否 | `integer`; `default`: `0` | 资料未说明 | | `projects` | 否 | `integer`; `default`: `0` | 资料未说明 | | `project_limit` | 否 | `integer`; `default`: `0` | 资料未说明 | ## SyncStatus 类型: `string`. `enum`: `["queued","processing","success","failed","warning"]` ## 当前定时任务模型使用条件 上方 `ScheduleCreate` 属于历史的 Agent 下任务合约。产品 `4.2.48-1026` 使用独立 `/v1/schedules`,任务绑定可用 Agent,并按执行成员当前权限运行;当前创建需要选择 Agent,不能直接照搬缺少 Agent 的旧请求体。见[当前管理资源](https://docs.asktable.com/knowledge/developers/api/data-agents.md)和[定时分析报告](https://docs.asktable.com/integrations/scheduled-reports)。 --- 来源:https://docs.asktable.com/knowledge/developers/models/t.md # 数据模型 T 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## TableAnnotation 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ------------------------------------------ | ----- | | `desc` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `fields` | 是 | `object`; `additionalProperties`: `string` | 资料未说明 | ## TableBase 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | -------------------------------------------------------------------------------------------------------------------------- | -------- | | `name` | 是 | `string`; — | 表名 | | `origin_desc` | 是 | `string`; — | 数据库原始表描述 | | `table_type` | 否 | [TableType](https://docs.asktable.com/knowledge/developers/models/t.md); `default`: `"table"` | 表类型 | | `fields` | 否 | `object`; `default`: `{}`; `additionalProperties`: [FieldBase](https://docs.asktable.com/knowledge/developers/models/f.md) | 资料未说明 | | `primary_key` | 否 | array (`string`); — | 主键字段 | | `foreign_keys` | 否 | array ([ForeignKeyBase](https://docs.asktable.com/knowledge/developers/models/f.md)); — | 外键约束 | ## TableExport 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------- | -- | ---------------------------------------------------------------------------------------------------------------------------- | ----- | | `desc` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `fields` | 否 | `object`; `default`: `{}`; `additionalProperties`: [FieldExport](https://docs.asktable.com/knowledge/developers/models/f.md) | 资料未说明 | ## TableMetaRefreshRequest 类型: `object`. — 单表 meta 刷新请求:定位要重新反射与补齐画像的表 | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ----------- | ----- | | `schema_name` | 是 | `string`; — | 资料未说明 | | `table_name` | 是 | `string`; — | 资料未说明 | ## TableResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | ------------------------------------------------------------------------------------------------------------- | -------- | | `name` | 是 | `string`; — | 表名 | | `origin_desc` | 是 | `string`; — | 数据库原始表描述 | | `full_name` | 是 | `string`; — | 字段完整名称 | | `curr_desc` | 是 | `string`; — | 当前表描述 | | `curr_desc_stat` | 是 | `string`; — | 当前表描述状态 | | `table_type` | 否 | [TableType](https://docs.asktable.com/knowledge/developers/models/t.md); `default`: `"table"` | 表类型 | | `row_count` | 否 | anyOf: `integer` / `null`; — | 采样行数 | | `profiled_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 最近一次画像时间 | | `fields` | 是 | `object`; `additionalProperties`: [FieldResponse](https://docs.asktable.com/knowledge/developers/models/f.md) | 资料未说明 | ## TableResponse-501d9d87 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------------------- | -- | ------------------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `project_id` | 是 | `string`; — | 资料未说明 | | `title` | 是 | `string`; — | 资料未说明 | | `description` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `datasource_id` | 是 | `string`; — | 资料未说明 | | `sql` | 是 | `string`; — | 资料未说明 | | `chart_config` | 是 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `refresh_cron` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `next_refresh_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 资料未说明 | | `stale` | 否 | `boolean`; `default`: `false` | 资料未说明 | | `refresh_auto_disabled` | 否 | `boolean`; `default`: `false` | 资料未说明 | | `retention_limit` | 是 | `integer`; — | 资料未说明 | | `current_df_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `recent_refreshes` | 否 | array ([RefreshLogResponse](https://docs.asktable.com/knowledge/developers/models/r.md)); — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## TableRowsResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | --------------------------------------------------- | ----------------------- | | `columns` | 是 | array (`string`); — | 列名列表 | | `rows` | 是 | array (`object`; `additionalProperties`: `true`); — | 行数据(JSON 安全序列化) | | `limit` | 是 | `integer`; — | 本页请求的行数上限 | | `offset` | 是 | `integer`; — | 偏移量 | | `has_more` | 是 | `boolean`; — | 是否还有下一页(预览最多封顶到前 500 行) | ## TableType 类型: `string`. `enum`: `["table","view"]` ## TableUpdate 类型: `object`. — 通过 POST /tables/from-dataframe 或看板智能体创建数据表。REST PATCH 不接收 sql;修改 SQL 需要通过看板流程重新运行数据并校验图表配置。 | 字段 | 必填 | 类型与约束 | 说明 | | ----------------- | -- | ------------------------------------------------------------------ | ----- | | `title` | 否 | anyOf: `string` (`minLength`: `1`; `maxLength`: `255`) / `null`; — | 资料未说明 | | `description` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `chart_config` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 资料未说明 | | `refresh_cron` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `retention_limit` | 否 | anyOf: `integer` (`minimum`: `1`; `maximum`: `1000`) / `null`; — | 资料未说明 | ## TelemetryUploadResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ------------ | ----- | | `success` | 是 | `boolean`; — | 资料未说明 | | `message` | 是 | `string`; — | 资料未说明 | ## TestModelRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ----------- | --------- | | `model` | 是 | `string`; — | 要测试的模型 ID | ## TextBlock 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------ | -- | ------------------------------------------------ | ----- | | `type` | 否 | `string`; `default`: `"text"`; `const`: `"text"` | 资料未说明 | | `text` | 是 | `string`; — | 资料未说明 | ## ThinkingBlock 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | -------------------------------------------------------- | ----- | | `type` | 否 | `string`; `default`: `"thinking"`; `const`: `"thinking"` | 资料未说明 | | `thinking` | 是 | `string`; — | 资料未说明 | ## TokenCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------------------------------------------- | ----------------------------- | | `ak_role` | 否 | [APIKeyRole](https://docs.asktable.com/knowledge/developers/models/a.md); `default`: `"asker"` | API Key 角色; 示例: `["asker"]` | | `chat_role` | 否 | anyOf: [ChatRole](https://docs.asktable.com/knowledge/developers/models/c.md) / `null`; — | 数据访问角色 | | `user_profile` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 可选用户资料; 示例: `[{"name":"张三"}]` | | `token_ttl` | 否 | `integer`; `default`: `900`; `exclusiveMinimum`: `0` | Token 有效期,单位为秒; 示例: `[900]` | ## ToolResultBlock 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | -------------------------------------------------------------- | ----- | | `type` | 否 | `string`; `default`: `"tool_result"`; `const`: `"tool_result"` | 资料未说明 | | `tool_use_id` | 是 | `string`; — | 资料未说明 | | `content` | 是 | `string`; — | 资料未说明 | ## ToolUseBlock 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | -------------------------------------------------------------- | ----- | | `type` | 否 | `string`; `default`: `"tool_use"`; `const`: `"tool_use"` | 资料未说明 | | `id` | 是 | `string`; — | 资料未说明 | | `name` | 是 | `string`; — | 资料未说明 | | `input` | 是 | anyOf: `string` / `object` (`additionalProperties`: `true`); — | 资料未说明 | ## TrainingPairCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ---------------------------- | ---------- | | `question` | 是 | `string`; — | 用户问题 | | `sql` | 是 | `string`; — | 用户问题对应的SQL | | `active` | 否 | `boolean`; `default`: `true` | 是否启用 | ## TrainingPairExport 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ---------------------------- | ----- | | `question` | 是 | `string`; — | 资料未说明 | | `sql` | 是 | `string`; — | 资料未说明 | | `active` | 否 | `boolean`; `default`: `true` | 资料未说明 | ## TrainingPairResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | --------------------------------------------- | ---------- | | `question` | 是 | `string`; — | 用户问题 | | `sql` | 是 | `string`; — | 用户问题对应的SQL | | `active` | 否 | `boolean`; `default`: `true` | 是否启用 | | `id` | 是 | `string`; — | 训练数据ID | | `project_id` | 是 | `string`; — | 项目ID | | `source` | 是 | `string`; `enum`: `["import","auto","agent"]` | 训练数据来源 | | `datasource_id` | 是 | `string`; — | 数据源ID | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 更新时间 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | ## TrainingPairUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ---------------------------- | ---------- | | `question` | 否 | anyOf: `string` / `null`; — | 用户问题 | | `sql` | 否 | anyOf: `string` / `null`; — | 用户问题对应的SQL | | `active` | 否 | anyOf: `boolean` / `null`; — | 是否启用 | ## TransferProjectsRequest 类型: `object`. — 项目过户请求 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ----------- | --------- | | `from_user_id` | 是 | `string`; — | 原拥有者用户 ID | | `to_user_id` | 是 | `string`; — | 新拥有者用户 ID | --- 来源:https://docs.asktable.com/knowledge/developers/models/u.md # 数据模型 U 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## UIMessage 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------ | -- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `role` | 是 | `string`; `enum`: `["user","assistant"]` | 资料未说明 | | `content` | 是 | array (oneOf: [TextBlock](https://docs.asktable.com/knowledge/developers/models/t.md) / [ThinkingBlock](https://docs.asktable.com/knowledge/developers/models/t.md) / [ToolUseBlock](https://docs.asktable.com/knowledge/developers/models/t.md) / [ToolResultBlock](https://docs.asktable.com/knowledge/developers/models/t.md) / [ConversationContextBlock](https://docs.asktable.com/knowledge/developers/models/c.md) / [DataframeRefBlock](https://docs.asktable.com/knowledge/developers/models/d.md) / [DashboardElementRefBlock](https://docs.asktable.com/knowledge/developers/models/d.md); `discriminator`: `{"propertyName":"type","mapping":{"conversation_context":"#/schemas/ConversationContextBlock","dashboard_element_ref":"#/schemas/DashboardElementRefBlock","dataframe_ref":"#/schemas/DataframeRefBlock","text":"#/schemas/TextBlock","thinking":"#/schemas/ThinkingBlock","tool_result":"#/schemas/ToolResultBlock","tool_use":"#/schemas/ToolUseBlock"}}`); — | 资料未说明 | | `trace_id` | 否 | anyOf: `string` / `null`; — | 资料未说明 | ## UnsubscribeConfirmRequest 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | ----------- | ----- | | `token` | 是 | `string`; — | 资料未说明 | ## UnsubscribeConfirmResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ----------- | ----- | | `schedule_name` | 是 | `string`; — | 资料未说明 | ## UnsubscribePreviewResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ---------------------------- | ----- | | `schedule_id` | 是 | `string`; `format`: `"uuid"` | 资料未说明 | | `schedule_name` | 是 | `string`; — | 资料未说明 | | `agent_name` | 是 | `string`; — | 资料未说明 | ## UploadParams 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------------------------------------- | -------------------------------- | | `expiration` | 否 | anyOf: `integer` / `null`; `default`: `60` | URL 有效期,单位为分钟; 示例: `[60]` | | `file_max_size` | 否 | anyOf: `integer` / `null`; `default`: `524288000` | 文件大小限制,单位为 MB; 示例: `[524288000]` | ## UsageOverviewResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------------------ | -- | --------------------------------- | ----- | | `org_id` | 是 | `string`; — | 资料未说明 | | `current_period_start` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `current_period_end` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `used_credit` | 是 | `integer`; — | 资料未说明 | | `reserved_credit` | 是 | `integer`; — | 资料未说明 | | `remaining_credit` | 是 | `integer`; — | 资料未说明 | | `addon_credit` | 是 | `integer`; — | 资料未说明 | | `addon_credit_available` | 是 | `boolean`; — | 资料未说明 | ## UsageReportRequest 类型: `object`. — 用量上报请求 | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------- | ------ | | `project_id` | 是 | `string`; — | 项目 ID | | `amount` | 是 | `integer`; `exclusiveMinimum`: `0` | 扣费数量 | | `action_type` | 是 | `string`; — | 业务行为类型 | | `reference_id` | 是 | `string`; `minLength`: `1` | 幂等关联单号 | ## UsageReportResponse 类型: `object`. — 用量上报响应 | 字段 | 必填 | 类型与约束 | 说明 | | ------------------ | -- | ------------ | ----- | | `success` | 是 | `boolean`; — | 资料未说明 | | `remaining_credit` | 是 | `integer`; — | 资料未说明 | | `addon_credit` | 是 | `integer`; — | 资料未说明 | ## UsageTrendPoint 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ------------------------------------------- | ----- | | `bucket_start` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `total` | 是 | `integer`; — | 资料未说明 | | `values` | 是 | `object`; `additionalProperties`: `integer` | 资料未说明 | ## UsageTrendResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | --------------------------------------------------------------------------------------------- | ----- | | `group_by` | 是 | `string`; `enum`: `["project","actor"]` | 资料未说明 | | `period` | 是 | `string`; `enum`: `["day","7_days","30_days"]` | 资料未说明 | | `granularity` | 是 | `string`; `enum`: `["hour","day"]` | 资料未说明 | | `start_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `end_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `series` | 是 | array ([UsageTrendSeriesItem](https://docs.asktable.com/knowledge/developers/models/u.md)); — | 资料未说明 | | `points` | 是 | array ([UsageTrendPoint](https://docs.asktable.com/knowledge/developers/models/u.md)); — | 资料未说明 | ## UsageTrendSeriesItem 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------------------------------------------------------------------------ | ----- | | `key` | 是 | `string`; — | 资料未说明 | | `label` | 是 | `string`; — | 资料未说明 | | `actor_type` | 否 | anyOf: `string` (`enum`: `["USER","API_KEY","SYSTEM","LEGACY_BILLING_OWNER"]`) / `null`; — | 资料未说明 | | `used_credit` | 是 | `integer`; — | 资料未说明 | ## UserDescBody 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------------- | -- | -------------------------------------------------------------------------------------------- | ----------------------------------- | | `user_desc` | 是 | `string`; — | 需要润色的用户输入 | | `max_word_count` | 是 | `integer`; — | 润色后的最大字数,注意:该值不是绝对值,实际优化后的字数可能会超过该值 | | `polish_mode` | 否 | [PolishModeEnum](https://docs.asktable.com/knowledge/developers/models/p.md); `default`: `0` | 润色模式,默认是简化模式 | ## UserProfileResponse 类型: `object`. — 用户档案响应 | 字段 | 必填 | 类型与约束 | 说明 | | -------------------- | -- | ----------------------------------------------------- | ------- | | `id` | 是 | `string`; — | 用户 ID | | `nickname` | 是 | `string`; — | 昵称 | | `avatar_url` | 否 | anyOf: `string` / `null`; — | 头像 URL | | `email` | 否 | anyOf: `string` / `null`; — | 邮箱 | | `phone_number` | 否 | anyOf: `string` / `null`; — | 手机号 | | `role` | 是 | `string`; — | 角色 | | `source` | 是 | `string`; — | 来源 | | `entity_type` | 否 | anyOf: `string` / `null`; — | 实体类型 | | `entity_name` | 否 | anyOf: `string` / `null`; — | 公司/组织名称 | | `last_login_at` | 否 | anyOf: `string` (`format`: `"date-time"`) / `null`; — | 最后登录时间 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 创建时间 | | `is_active` | 是 | `boolean`; — | 是否激活 | | `projects_locked` | 是 | `boolean`; — | 项目是否锁定 | | `default_project_id` | 否 | anyOf: `string` / `null`; — | 默认项目 ID | | `language` | 否 | `string`; `default`: `"zh-CN"` | 语言偏好 | | `timezone` | 否 | `string`; `default`: `"Asia/Shanghai"` | 时区 | ## UserProfileUpdate 类型: `object`. — 用户档案更新请求 | 字段 | 必填 | 类型与约束 | 说明 | | ------------- | -- | ------------------------------------------------ | -------------------------------------- | | `nickname` | 否 | anyOf: `string` (`maxLength`: `100`) / `null`; — | 昵称 | | `avatar_url` | 否 | anyOf: `string` / `null`; — | 头像 URL | | `entity_type` | 否 | anyOf: `string` / `null`; — | 实体类型 | | `entity_name` | 否 | anyOf: `string` / `null`; — | 公司/组织名称 | | `language` | 否 | anyOf: `string` / `null`; — | 语言偏好: zh-CN, en-US | | `timezone` | 否 | anyOf: `string` / `null`; — | 时区: Asia/Shanghai, America/New\_York 等 | ## UserSortBy 类型: `string`. `enum`: `["created_at","modified_at"]` --- 来源:https://docs.asktable.com/knowledge/developers/models/v.md # 数据模型 V 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## ValidationError 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ------- | -- | -------------------------------------- | ----- | | `loc` | 是 | array (anyOf: `string` / `integer`); — | 资料未说明 | | `msg` | 是 | `string`; — | 资料未说明 | | `type` | 是 | `string`; — | 资料未说明 | | `input` | 否 | `any`; — | 资料未说明 | | `ctx` | 否 | `object`; — | 资料未说明 | ## VerificationSendRequest 类型: `object`. — 发送验证码请求 | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | --------------------------------------- | -------------------------------- | | `phone` | 是 | `string`; `pattern`: `"^1[3-9]\\d{9}$"` | 手机号 | | `purpose` | 否 | `string`; `default`: `"BIND_PHONE"` | 用途: BIND\_PHONE, RESET\_PASSWORD | ## VerificationVerifyRequest 类型: `object`. — 验证验证码请求 | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | -------------------------------------------- | -------------------------------- | | `phone` | 是 | `string`; — | 手机号 | | `code` | 是 | `string`; `minLength`: `4`; `maxLength`: `6` | 验证码 | | `purpose` | 否 | `string`; `default`: `"BIND_PHONE"` | 用途: BIND\_PHONE, RESET\_PASSWORD | --- 来源:https://docs.asktable.com/knowledge/developers/models/w.md # 数据模型 W 接口结构与规范声明;未说明的运行条件需另行确认。 API 模型 · 模块: models · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:公开 OpenAPI · 规范快照:4.2.34-1008(不是产品支持范围) · 历史规范;当前调用先核对版本与兼容、人工补充及实例 Redoc,不能覆盖已核实的新权限或已移除接口。 接口规范快照:4.2.34-1008。这是历史规范,不是当前产品的完整接口清单。此编号不等于已确认的产品兼容范围。Cloud、私有部署及其他版本的适用性,资料未说明。调用前先核对[版本与兼容](https://docs.asktable.com/knowledge/versions/overview.md)、本页末尾的人工补充及当前实例的 Redoc;不能用旧规范覆盖已核实的新权限或已移除接口。 模型名称已规范化。引用用于描述请求和响应结构,不表示可直接调用的接口。 ## WebhookResponse 类型: `object`. — Webhook 响应 | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | -------------------------------- | ----- | | `code` | 否 | `string`; `default`: `"SUCCESS"` | 资料未说明 | | `message` | 否 | `string`; `default`: `"OK"` | 资料未说明 | ## WebSearchNodeData 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ----------- | -- | ------------------------------------------------------------ | ---------------------- | | `question` | 是 | `string`; — | 搜索查询 | | `dataframe` | 否 | anyOf: `object` (`additionalProperties`: `true`) / `null`; — | 数据帧(pending 状态时为 None) | ## WechatPublicConfig 类型: `object`. — 微信公开配置 | 字段 | 必填 | 类型与约束 | 说明 | | --------------------------- | -- | ----------------------------- | ------------------- | | `app_id` | 否 | anyOf: `string` / `null`; — | 微信 AppID;未配置时为空 | | `development_login_enabled` | 否 | `boolean`; `default`: `false` | 是否在生产登录页面中提供开发者登录入口 | ## WecomIdentityIntegrationUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | ---------- | -- | ---------------------------------------------- | ----- | | `corp_id` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | | `agent_id` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | | `secret` | 否 | `string`; `default`: `""`; `maxLength`: `512` | 资料未说明 | ## WorkbookFieldCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------------------------------- | ------------ | | `display_name` | 是 | `string`; — | 字段显示名 | | `data_type` | 是 | [WorkbookFieldType](https://docs.asktable.com/knowledge/developers/models/w.md); — | 字段类型 | | `nullable` | 否 | `boolean`; `default`: `true` | 是否允许 NULL | | `description` | 否 | anyOf: `string` / `null`; — | 字段说明 | | `position` | 否 | anyOf: `number` / `null`; — | 位置(不传则追加到末尾) | ## WorkbookFieldResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | ---------------------------------------------------------------------------------- | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `worksheet_id` | 是 | `string`; — | 资料未说明 | | `display_name` | 是 | `string`; — | 资料未说明 | | `data_type` | 是 | [WorkbookFieldType](https://docs.asktable.com/knowledge/developers/models/w.md); — | 资料未说明 | | `nullable` | 是 | `boolean`; — | 资料未说明 | | `position` | 是 | `number`; — | 资料未说明 | | `description` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | ## WorkbookFieldType 类型: `string`. `enum`: `["text","numeric","timestamp","boolean"]` ## WorkbookFieldUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | -------------------------------------------------------------------------------------------------- | ------------ | | `display_name` | 否 | anyOf: `string` / `null`; — | 新字段显示名(改名) | | `data_type` | 否 | anyOf: [WorkbookFieldType](https://docs.asktable.com/knowledge/developers/models/w.md) / `null`; — | 新字段类型(ALTER) | | `nullable` | 否 | anyOf: `boolean` / `null`; — | 资料未说明 | | `description` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `position` | 否 | anyOf: `number` / `null`; — | 资料未说明 | ## WorkbookResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | -------------------------------------------------------------------------------------------------------- | ----- | | `datasource_id` | 是 | `string`; — | 资料未说明 | | `phys_schema` | 是 | `string`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `worksheets` | 否 | array ([WorksheetResponse](https://docs.asktable.com/knowledge/developers/models/w.md)); `default`: `[]` | 资料未说明 | | `feishu_source` | 否 | anyOf: [FeishuSourceResponse](https://docs.asktable.com/knowledge/developers/models/f.md) / `null`; — | 资料未说明 | ## WorksheetCreate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | -------------------------------------------------------------------------------------------- | ------------- | | `display_name` | 是 | `string`; — | Worksheet 显示名 | | `description` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `fields` | 否 | array ([WorkbookFieldCreate](https://docs.asktable.com/knowledge/developers/models/w.md)); — | 初始字段定义;可空 | | `position` | 否 | anyOf: `number` / `null`; — | 资料未说明 | ## WorksheetResponse 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------------- | -- | ------------------------------------------------------------------------------------------------------------ | ----- | | `id` | 是 | `string`; — | 资料未说明 | | `datasource_id` | 是 | `string`; — | 资料未说明 | | `display_name` | 是 | `string`; — | 资料未说明 | | `description` | 是 | anyOf: `string` / `null`; — | 资料未说明 | | `position` | 是 | `number`; — | 资料未说明 | | `row_count` | 是 | `integer`; — | 资料未说明 | | `created_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `modified_at` | 是 | `string`; `format`: `"date-time"` | 资料未说明 | | `fields` | 否 | array ([WorkbookFieldResponse](https://docs.asktable.com/knowledge/developers/models/w.md)); `default`: `[]` | 资料未说明 | ## WorksheetUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | -------------- | -- | --------------------------- | ----- | | `display_name` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `description` | 否 | anyOf: `string` / `null`; — | 资料未说明 | | `position` | 否 | anyOf: `number` / `null`; — | 资料未说明 | ## WpsIdentityIntegrationUpdate 类型: `object`. — | 字段 | 必填 | 类型与约束 | 说明 | | --------- | -- | ---------------------------------------------- | ----- | | `app_id` | 是 | `string`; `minLength`: `1`; `maxLength`: `255` | 资料未说明 | | `app_key` | 否 | `string`; `default`: `""`; `maxLength`: `512` | 资料未说明 | --- 来源:https://docs.asktable.com/knowledge/evaluation.md # 选型与试用 判断 AskTable 是否适合,核对价格、并发、准确率和上线前提。 使用指南 · 模块: product · 使用者 / 管理人员 · 部署形态:Cloud / 私有部署 · 已确认产品版本:资料未说明 · 来源:编辑整理 先给结论:AskTable 适合「有明确业务问题、数据可以开放、有人对口径负责」的团队;不适合被当成通用聊天机器人、RPA,或传统 BI 的替代品。 下面的数字用于选型会和 POC 立项,不是对所有客户、所有问题的无条件承诺。价格与活动以官网当期页面和合同为准。 ## 快速判断 | 更适合 | 暂时不适合 | | ---------------------------- | ----------------------- | | 有明确业务 owner 的业务团队,或大企业里的小 BU | 没有业务 owner,只有 IT 或采购在推动 | | 有 1~2 个明确数据源,能提供样例数据和口径 | 数据不能出库,也不能部署到内网 | | 每天或每周有高频问数,问题会追问、会换口径 | 只需要固定报表、大屏或订阅 | | 能指定 3 个核心指标、5 个高频问题 | 只想做通用聊天、文档问答、RPA | | 愿意用 2 周做 100 题验收 | 要求 100% 准确率,或不愿定义成功标准 | ## 和 BI 的边界 三句话: 1. 固定报表、大屏、订阅和强权限发布,继续用 BI。 2. 临时问题、追问、换口径、要解释,交给 AskTable。 3. BI 的指标层和数据集是 AskTable 的上游;AskTable 不建数仓、不做 ETL、不写回 BI。 | 维度 | 传统 BI | AskTable | | ----- | ------------ | ---------------- | | 主要问题 | 已知指标的稳定展示 | 未知问题的即时探索 | | 使用方式 | 拖拽、固定报表、订阅 | 自然语言提问和连续追问 | | 建设重点 | 数仓、指标模型、报表体系 | 数据语义、口径、权限和题集 | | 结果形态 | 看板、报表、大屏 | 表格、图表、结论和可追溯 SQL | | 不替代什么 | — | 不替代数仓、BI 平台和写回流程 | ## 价格与套餐边界 ### Cloud(SaaS) | 套餐 | 月付 | 年付 | 人数上限 | | --------- | ------: | -------: | ---: | | 免费体验 | 0 元 | — | 体验额度 | | 3 人组织(推荐) | 200 元/月 | 1680 元/年 | 3 人 | | 10 人及以内 | 600 元/月 | 4680 元/年 | 10 人 | | 20 人及以内 | 999 元/月 | 8680 元/年 | 20 人 | - 管理员、成员、访客都计入人数。 - 促销期已付费组织在合理使用范围内不限 AI 问答次数;活动结束或调整时,以官网当期页面和合同为准。 - 如果组织页面显示 credits,按「周期额度优先、加购余额其次」消耗;周期额度不结转,具体额度以组织页面和合同为准。 - Cloud 按组织套餐授权,私有部署按企业许可证授权,两者的功能和容量都以实际授权为准。 价格核对日期:2026-10-22。以 [官网套餐页](https://www.asktable.com/zh-CN/pricing) 为准。 ### 私有部署 - 价格由商务按部署环境、数据规模、交付范围和服务周期报价,没有公开统一价。 - 未激活企业许可证时按体验版运行:最多 3 个用户,不启用分析画卷。 - 企业许可证按用户容量签发,具体功能、容量和有效期以许可证为准。 - 最低部署配置:4 核 CPU、16G 内存、100G 磁盘;推荐配置见下一节。 ### 怎么开始试用 - Cloud:在 [cloud.asktable.com](https://cloud.asktable.com/) 注册,先用免费体验额度连接自己的数据并提问;需要邀请同事、组织协作和权限管理时升级付费套餐。 - 私有部署:先用体验版验证,最多 3 个用户、不启用分析画卷;通过 POC 后再按用户容量购买企业许可证。 - 试用时不要只看演示数据。选 3~10 张真实核心表,按下面的 100 题方法记录通过率,才能判断是否适合上线。 ## 并发 benchmark:8C32G 能支持多少人 先分清三个数: | 指标 | 含义 | | ------- | ----------------------------------- | | 并发分析任务 | Worker 正在执行的 Agent 任务数,决定同时有多少个问题在算 | | 并发用户 | 同时提问或等待回答的业务人员数,取决于每人提问频率和单题耗时 | | 应用层 QPS | 服务端受理提问的速率,返回 202 后进入队列;不是完整回答速率 | ### 推荐配置与结果 8C32G 是推荐机器规格。产品默认是 1 个 Worker、每个 Worker 10 个任务;要覆盖 20 人同时提问,需要把 Worker 调到 2 个,形成 20 个并发分析任务。 | 项目 | 8C32G 规划建议(2 个 Worker) | | -------------- | --------------------------- | | CPU / 内存 | 8 核 / 32G | | Web 进程 | 1 | | 后台 Worker 进程 | 2 | | 每个 Worker 并发任务 | 10 | | 并发分析任务 | 20 | | 任务队列 | 50,满后返回 503「系统繁忙」 | | 模型侧并发 | 不低于 10;建议 20(按 1:1 预留) | | PostgreSQL 连接 | 默认 100 够用(应用峰值 71,含运维余量 81) | | 建议同时提问人数 | 20 人以内(每人同时最多 1 个问题在算) | | 适用场景 | 20 人以内日常问数、短时集中提问 | 保留默认 1 个 Worker 时只有 10 个并发分析任务,建议按 10 人以内规划;20 人场景先把 `AT_WORKER_NUM_PROCS` 调到 2。 ### 已验证环境与规划上限 | 环境 | 并发分析任务 | 同时提问人数 | 应用层受理能力 | 证据 | | ----------------------- | -----: | -------: | ------------- | ------------ | | 8C32G 规划(2 个 Worker) | 20 | 20 人以内 | 未单独承诺 | 容量规划,未做同规模压测 | | 16C64G 测试环境(4 个 Worker) | 40 | 20 人同时发起 | 10 提问/秒(短时受理) | 客户标准测试环境验证通过 | 8C32G 的 20 人是按任务数做的容量规划,不是同规模压测结果。真正验证过 20 人同时发起的是 16C64G 环境:应用层可受理 10 个提问/秒,20 名业务人员同时发起自然语言问数,通过排队机制平滑处理,验证结果达标。这里的 10 QPS 是**受理能力**,不是每秒完成 10 个完整回答。 某集团客户的采购平台遇到过模型并发瓶颈:初始模型 API Key 只有 5 个并发,高峰期不够用;把模型并发提高到 20 个以上后,后端按 16 核、4 个 Worker、每个 Worker 10 个任务配置,总计可同时执行 40 个任务。 ### 持续吞吐怎么算 ```text 持续完成速率 ≈ 并发分析任务数 ÷ 平均单题耗时 ``` 举例:20 个并发任务、平均每题 30 秒,持续完成约 40 题/分钟。单题耗时受模型、SQL 复杂度、数据源响应和是否调用 Python 影响,不能用 10 QPS 直接推算。 ### 扩容公式 ```text 并发分析任务 = Worker 进程数 × AT_WORKER_MAX_JOBS 模型并发 ≥ 并发分析任务数 × 50%,建议按 1:1 预留 应用连接峰值 = 31 + 20 × Worker 进程数(启用 Workbook 时) ``` 连接公式按默认启用 Workbook 计算;模型并发比例按已验证案例(40 个任务配 20 个模型并发)整理,不是产品硬限制。 - 2 个 Worker:应用连接峰值 71,加 10 个运维连接为 81,默认 `max_connections=100` 够用。 - 4 个 Worker:应用连接峰值 111,加 10 个运维连接为 121;还要给 PostgreSQL 的保留连接留出余量,建议把 `max_connections` 设到 150 以上,否则可能出现 `DATABASE_BUSY`。 - 加机器或加 Worker 之前,先确认模型 API 并发额度。模型侧只有 5 个并发时,后端加到 40 个任务也会堵在模型调用上,表现为 429、`LLM_RATE_LIMIT` 或超时。 - DeepSeek 官方 API 的 RPM、TPM 和并发额度随账号、模型和时段变化,以控制台账单为准;采购前至少申请到并发任务数一半、最好与任务数 1:1 的额度。 ## 响应时间与单题成本 | 项目 | 参考值 | 说明 | | ------ | ------------ | ----------------------------------- | | 快速模式 | 10~30 秒 | 回答更快,分析更浅,适合结果明确的问题 | | 普通对话 | 1~2 分钟 | 默认深度思考,工具调用和多步分析更完整 | | 模型算力成本 | 平均约 0.05 元/题 | 以 deepseek-flash 官方 API 价格为例,只算模型调用 | 回答时间受模型、SQL 复杂度、数据源响应、是否调用 Python 和排队情况影响;题目越复杂、工具轮次越多,时间越长。模型成本按输入输出 token、工具轮次和实际单价计费,5 分钱是典型题目的平均值,不是报价;服务器、网络、交付和运维成本另计。 按 20 个并发分析任务估算,快速模式下持续完成约 40~120 题/分钟,普通对话约 10~20 题/分钟;这是按任务数估算的结果,实际受队列和数据源响应影响。 ## 准确率 benchmark:实测 99 与门槛 95 准确率使用「样本通过率」,不是模型自评,也不是 SQL 相似度: ```text 样本通过率 = 人工确认正确的问题数 ÷ 已核对的问题数 ``` | 项目 | 结果 | | ------ | ------------------------------- | | 测试环境 | 8C32G | | 模型 | deepseek-flash(DeepSeek 官方 API) | | 题集 | 300 题,数据治理后 | | 样本通过率 | 99% | | 建议上线门槛 | 不低于 95% | 这组结果说明:在题集、数据和语义版本固定的前提下,治理后的 300 题可以达到 99%。把 95% 作为验收下限、99% 作为治理充分后的可达值,比承诺一个固定数字更可靠。它不代表任意新问题、任意新表都能达到 99%,也不代表开放式分析的文字结论不需要人工复核。 建议低于 95% 时不上线,先补数据语义和题集再复测;95%~99% 之间先上线试点,但要把未通过的问题按「没理解、没说清、结果错」分类,逐类修复。 另一个制造业财务样例使用 3 张治理后的结果表、20 道固定题,20/20 通过。样本只有 20 题,只说明治理后的可达性,不作为通用准确率。同一批数据里的开放式经营洞察曾出现文字计数错误(把 5/8 写成 6/8),这类内容不计入固定题集,发布前要人工核对。 准确率、数据治理深度和本体/语义层建模没有脱离数据的通用答案。与其在文档里讨论方法论,不如通过 [AskTable 官网](https://www.asktable.com/zh-CN) 的「联系我们」入口做一次 POC 范围沟通:带上 1~2 个数据源、3~10 张核心表和 20~30 个真实问题,一起确认要补哪些语义、题集怎么出、通过标准是多少,再决定是否投入完整的语义层建设。文档给的是通用清单,能不能达到 95% 要在你的数据上实测。 ## 达到高准确率的数据治理前提 | 前提 | 做到什么程度 | 在哪里做 | | -------- | ----------------------------- | ----------------------------------------------------- | | 范围收敛 | 先做 1 个主题、3~10 张核心表,不把整个数仓一次开放 | 数据源选表 | | 表与字段备注 | 写清业务含义、单位、枚举、编码和实际存储方式 | [表与字段备注](https://docs.asktable.com/data/semantics) | | 指标口径 | 收入、成本、毛利、逾期等指标有唯一计算公式和时间语义 | [业务文档](https://docs.asktable.com/agent/documents) | | 关联关系 | 主键、外键、事实表与维表的关系明确 | [表与字段备注](https://docs.asktable.com/data/semantics) | | 值映射 | 简称、别名、编码值能映射到数据库实际值 | [AI 索引](https://docs.asktable.com/data/ai-search) | | 已验证问答 | 准备 50~100 条「问题 + 正确 SQL」样本 | [管理数据源、文件与训练集](https://docs.asktable.com/data/manage) | | 权限边界 | 角色、行级过滤、隐藏字段先定义再开放 | [权限与数据范围](https://docs.asktable.com/permissions) | | 数据质量 | 主键唯一、快照一致、空值和重复值有处理规则 | 数据源侧治理 | | 业务 owner | 有人能对「哪个答案算对」做最终判断 | 项目组织 | 治理不到位时,先不要用「换更大的模型」解决。多数错误来自字段含义不清、口径不唯一、枚举值对不上或关联关系错误。 ### 变量取值怎么补 用户问的是「华东」,库里存的是 `E01`;问的是「Mate 40」,库里是「HUAWEI Mate 40 Pro 5G」。这类不一致会让模型生成正确的 SQL 结构,却过滤不到数据。 - 先列高频筛选值:把业务里最常用的 10~20 个区域、产品、状态、渠道值列出来,逐个用自然语言问一次。 - 字符串列:在字段上打开 AI 索引,让简称和实际值建立检索关系;字段说明里同时写清枚举含义。 - 数字、日期编码:AI 索引不处理数字和日期,改用字段备注、业务文档或映射表说明。 - 约束:单数据源默认 10 个索引字段,单字段去重值默认上限 50000;私有部署需要先部署 AI 搜索,企业版授权才开放该能力。 索引只是辅助,值映射是否生效,以同一问题的结果表为准。 ## 100 题 POC 验收 ### 题集怎么选 | 类型 | 建议占比 | 说明 | | ----- | ---: | ------------------- | | 单轮事实题 | 70% | 收入、毛利、订单、库存、回款等高频问题 | | 多轮追问 | 20% | 换时间、换维度、下钻、对比 | | 模糊问题 | 10% | 缺时间范围或口径,考察澄清能力 | 题目从真实工作里取,不要只用演示数据。标准答案来自业务系统、财务报表或人工核算;有争议的题由业务 owner 裁定。 ### 通过标准 - 100 题全部核对,覆盖率 100%。 - 样本通过率不低于 95%。 - 无权限越界、无敏感字段泄漏、无 P0 数据错误。 - 同一题连续跑两次,口径和结果稳定。 - 99% 是治理充分后的实测结果,不作为任意题集的验收承诺。 ### 两周节奏 | 时间 | 做什么 | | --------- | ------------------------------- | | 第 1~3 天 | 接 1~2 个数据源,选 3~10 张表,补字段备注和指标口径 | | 第 4~7 天 | 用 50 题跑第一轮,按失败类型修语义、补训练样本 | | 第 8~12 天 | 用 100 题复测,处理权限、口径和复杂关联问题 | | 第 13~14 天 | 业务 owner 验收,输出通过率和上线建议 | POC 的交付物不是一份技术报告,而是:100 题清单、标准答案、逐题通过/失败、失败原因、已修改的语义项,以及是否上线的结论。 ## 上线前提与不承诺 需要提前确认: - 模型满足工具调用、JSON mode、`tool_choice=auto`,上下文窗口不小于 128K,参数规模不低于 35B;自建模型还要能稳定支撑并发分析任务,至少按任务数一半的并发、建议 1:1 准备。 - 私有部署服务器能访问模型服务;完全离线时先准备内网模型服务。 - 数据源账号只读,网络、白名单和查询超时已配置。 - 业务 owner、项目管理员和首批 5~10 名试用用户已确定。 - 已准备 100 题验收集和标准答案。 不承诺: - 不承诺 100% 准确率,也不承诺任意新问题都达到 99%。 - 不承诺 10 个完整回答/秒;10 QPS 指应用层受理能力。 - 不承诺所有问题都在 10~30 秒或 1~2 分钟内完成;响应时间受复杂度、模型、数据源和排队影响。 - 不承诺无限并发;并发受 Worker 任务数、模型额度和数据源响应共同限制。 - 不承诺私有部署的固定价格;按部署环境、数据规模、交付范围和服务周期报价。 - 不承诺替代数仓、BI 平台、ETL 或写回流程。 - 不承诺所有数据源、所有查询都有相同响应速度。 ## 选型常见问答 | 问题 | 可直接回复 | | --------------------- | --------------------------------------------------------------------------------------------------------------------- | | 8C32G 能支持多少人同时用? | 把 Worker 调到 2 个、每个 10 个任务,共 20 个并发分析任务,建议 20 人以内同时提问;沿用默认 1 个 Worker 时按 10 人以内规划;超过 20 人按 16C64G、4 个 Worker、40 个任务扩容。 | | 10 QPS 是每秒 10 个完整回答吗? | 不是。10 QPS 是应用层受理提问的速率,提问进入队列后由 Worker 执行;完整回答速度取决于并发任务数和单题耗时。 | | 回答要多久? | 快速模式约 10~30 秒,普通对话约 1~2 分钟;复杂 SQL、多轮工具调用、数据源慢或排队时会更长。 | | 每条问题要多少模型成本? | 以 deepseek-flash 官方 API 价格为例,平均约 0.05 元/题;只算模型调用,不含服务器、网络、交付和运维,实际随题目复杂度和工具轮次变化。 | | 准确率能保证 99% 吗? | 不能对所有问题保证。治理后的 300 题实测样本通过率 99%,建议上线门槛是 95%;新问题、新表和数据质量问题都会影响结果。 | | 怎么判断我们的数据能达到 95%? | 只能实测。联系服务团队,用你的 1~2 个数据源和 100 题验收集确认治理项与通过标准;文档不替代这次 POC 实测。 | | 需要先做本体或语义层建模吗? | 不一定。先从 3~10 张核心表和 20~30 个真实问题开始;要不要建、建多深取决于数据现状。联系我们约定 POC 范围,用真实数据判断,比先讨论方法论更有效。 | | 为什么我们试用时感觉不准? | 先查字段备注、指标口径、枚举值、关联关系和数据质量;多数错误不是模型能力问题,而是语义没有补齐。 | | Cloud 多少钱? | 当前官网价:3 人 200 元/月或 1680 元/年,10 人 600 元/月或 4680 元/年,20 人 999 元/月或 8680 元/年;促销期合理使用范围内不限问答次数,以合同为准。 | | 私有化多少钱? | 没有公开统一价,按部署环境、数据规模、交付范围和服务周期报价;未激活许可证时最多 3 个用户,不启用分析画卷。 | | 和 BI 有什么区别? | BI 负责固定报表、大屏和订阅;AskTable 负责临时问题、追问和解释。它接在 BI 的指标层和数据集之上,不替代数仓或 BI 平台。 | | 模型并发不够会怎样? | 任务会堵在模型调用上,表现为排队、429、`LLM_RATE_LIMIT` 或超时;先把模型 API 并发提高到至少任务数的一半(建议 1:1),再加 Worker。 | | 上线前要准备什么? | 1~2 个数据源、3~10 张核心表、字段和指标口径、50~100 条已验证问答、100 题验收集,以及能裁定对错的业务 owner。 | ## 下一步 - 评估准确率和 POC 范围:带着数据源和真实问题联系服务团队,约定治理项、题集和通过标准 - 第一次使用:走[完成第一次提问](https://docs.asktable.com/getting-started/quickstart) - 私有部署:看[私有部署(Docker)](https://docs.asktable.com/deploy/docker)和[运维与容量规划](https://docs.asktable.com/deploy/operations) - 补数据语义:看[表与字段备注](https://docs.asktable.com/data/semantics)和[业务文档](https://docs.asktable.com/agent/documents) - 配置模型:看[配置大模型](https://docs.asktable.com/admin/models) - 核对套餐和用量:看[套餐与用量](https://docs.asktable.com/organization/plans-and-usage)和[商业授权](https://docs.asktable.com/admin/license) --- 来源:https://docs.asktable.com/getting-started/quickstart # 完成第一次提问 完成一次数据提问,查看并保存结果。 使用指南 · 模块: getting-started · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 ## 开始前 - 项目里至少有一个可使用的智能体,已配置完成元数据解析的数据源,且你的当前数据角色有权访问。 - 还没有数据?由负责接入数据的人先[连接数据源](https://docs.asktable.com/data/connect)。有数据但没有智能体时,可以[创建自己的智能体](https://docs.asktable.com/agent/overview),或请同事分享。 ## 操作步骤 **新建对话** 在左侧主导航点「欢迎回来」。页面提供对话输入框和你可使用的智能体入口。 **选择智能体** 在提问前选择一个可使用的智能体:自己创建的、同事指定分享的,或项目全员可用的智能体。未选择时不能发送问题。 **数据源和角色由谁决定?** 智能体决定可查询的数据源,你的成员数据角色进一步限制实际数据范围。聊天中不能自由选择其他角色,也不能靠改选智能体扩大自己的权限。需要调整时,请管理员在项目成员列表中修改数据角色。 **写下问题** 在输入框里写清时间范围、分组维度、筛选条件和排序方式,再发送。 例如,你的数据里有门店、日期和销售额时,可以问:“上个月各门店销售额是多少?从高到低排列。”把示例里的字段换成你实际拥有的数据。 **等结果** 发送后,消息上会依次出现思考中和分析中的状态。过程中可以看到它调用了哪些工具,例如查询数据、查看数据表、创建图表。 如果它认为条件不够,会先向你反问并列出选项,选完点「提交」;不想回答可以点「跳过」。 **看结果并保存** 在结果区查看「表格」,核对时间范围、字段和数字。表格上方显示当前行数与列数,支持筛选、排序和按行搜索;开启图表可视化时,还可以查看「图表」。 要带走这份结果,用「下载 CSV」下载文件,或用「保存到 Tables」存成可复用的数据表。 \*\*完成标志:\*\*你已看到本次提问的结果表,并通过下载或保存留下结果。没有图表不影响完成第一次提问。 ## 关键约束 | 项目 | 值 | 在哪里改 | | ---- | ------------------------------------------------------------------------------------------------------------------- | ------------------ | | 运行模式 | 默认深度思考;打开「快速模式」回答更快但分析更浅 | 输入框旁「+」菜单 → 「快速模式」 | | 上传附件 | 所选智能体需开启 Python 分析能力;支持 Excel 和 CSV。默认 Excel 单文件 10 MB、每个文件最多 20 个工作表、每个工作表最多 200 个字段(列);CSV 单文件 20 MB、最多 50 个字段(列) | 输入框左侧「+」菜单 | | 图表 | 需要开启图表可视化,否则结果只有表格 | 智能体配置页 → 「能力配置」 | | 澄清提问 | 需要开启用户澄清 | 智能体配置页 → 「能力配置」 | | 联网搜索 | 默认关闭;且需要系统管理员先在系统设置中配置,否则不可用 | 智能体配置页 → 「能力配置」 | ## 出问题怎么判断 先按下面的现象检查;其他报错可在[常见问题](https://docs.asktable.com/reference/faq)中查找。 | 现象 | 判定条件 | 处理 | | --------- | ------------------------- | --------------------------------------------------------------------------- | | 长时间没有结果 | 超过 1 分钟没有新的工具调用出现 | 等待;若处理暂停或达到单轮上限,点「继续」 | | 发不出去消息 | 发送被拒绝,提示项目已锁定 | 项目额度或授权已用尽,联系管理员处理授权 | | 没有可使用的智能体 | 智能体列表为空,或提示先选择智能体 | [创建自己的智能体](https://docs.asktable.com/agent/overview),或请同事分享;没有数据源时先由管理员接入 | | 智能体查不到数据 | 数据源未配置,或成员数据角色限制了所需表和字段 | 核对智能体数据源和[权限与数据范围](https://docs.asktable.com/permissions),不要在聊天中改选角色 | | 旧对话不能继续发送 | 旧普通对话没有绑定智能体,或当前已失去智能体使用权 | 历史保留;选择可使用的智能体开启新对话 | | 数字和预期不一致 | 结果表可展开看这次实际执行的 SQL | 先核对时间范围、粒度、筛选条件;口径本身不对就去补[表与字段备注](https://docs.asktable.com/data/semantics) | | 提问被反问 | 没有直接给结果,而是先列出待确认的选项 | 说明问题里缺条件。选完点「提交」,或下次把口径直接写进问题 | ## 下一步 - 结果要反复看:有看板使用权限时,存成数据表后加进[数据看板](https://docs.asktable.com/dashboard) - 问题复杂、要归因下钻:项目负责人和管理员可使用[分析画卷](https://docs.asktable.com/canvas) - 想让团队在飞书里也能问:见[飞书机器人](https://docs.asktable.com/integrations/feishu) - 结果要给外部的人看:用「分享对话」→ 启用公开链接开关 --- 来源:https://docs.asktable.com/how-to/connect-dingtalk # 钉钉登录集成 配置钉钉企业内部应用,让预先导入的成员从钉钉客户端登录 AskTable。 使用指南 · 模块: integrations · 管理人员 · 部署形态:Cloud / 私有部署 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 组织 Owner 或 Admin 可以连接钉钉应用,导入允许登录的员工。以下操作已按产品 `4.2.48-1026` 核对;旧实例请先确认版本。 ## 准备应用和权限 在钉钉开发者后台创建企业内部应用,启用网页应用能力,取得以下凭据: | AskTable 字段 | 填写内容 | | ------------- | ------------------------------- | | CorpID | 应用所属企业的 CorpID,可从开发者后台首页的企业信息查看 | | Client ID | 原 AppKey / SuiteKey | | Client Secret | 原 AppSecret / SuiteSecret,填写完整值 | 凭据必须来自同一个企业内部应用。应用凭证页的 App ID 和 AgentId 都不是 CorpID,当前组织登录集成也不需要填写这两项。 在应用权限管理中开通以下四项权限,将需要导入的部门、成员纳入授权范围,再提交和发布应用版本: - `qyapi_get_department_member` - `qyapi_get_member` - `qyapi_get_department_list` - `Contact.User.Read` AskTable 配置页的 **应用配置 → 权限配置 → 所需权限** 可以查看、逐项复制权限码。登录身份使用企业内的 `userid`,不需要手机号或邮箱权限。 ## 连接 AskTable 进入 **个人设置 → 登录集成 → 钉钉**,点击 **启用**,填写 CorpID、Client ID 和完整 Client Secret。不要填写脱敏密钥。CorpID 保存后不能直接修改;更换企业前先断开集成。 复制详情页的完整登录地址,填入钉钉网页应用的 PC 端和移动端首页。按钉钉后台要求配置可信域名和服务器出口 IP,并发布应用。 - 私有部署地址形如 `https://你的域名/login/sso/dingtalk`,不带组织参数。 - Cloud 地址带 `?org_id=...`,必须完整保留。 - 部署有路径前缀时,以页面显示的完整地址为准。 当前只支持钉钉客户端内免登,通过微应用免登授权码识别员工;不使用网页扫码登录。 ## 导入并验证成员 在 AskTable 钉钉详情页点击 **导入成员**,选择应用可见范围内的人并提交,再用已导入成员从钉钉工作台打开应用。 首次登录不会自动创建账号。AskTable 账号和组织成员关系都必须正常,重新导入不会恢复已停用成员。同一员工从钉钉、飞书或企业微信导入会分别建号、占用席位,不按手机号或邮箱合并。 当前不提供通讯录自动同步和离职自动停用。断开集成保留账号、成员和项目历史,详见[企业集成登录](https://docs.asktable.com/organization/enterprise-login)。导入后仍需分配[项目角色](https://docs.asktable.com/organization/invitations)和[数据权限](https://docs.asktable.com/permissions)。 ## 排障 | 现象 | 检查 | | ----------- | -------------------------------------- | | 读不到导入候选 | Client ID、Client Secret、通讯录接口权限和人员授权范围 | | 无法免登 | CorpID 与应用企业是否一致、应用主页和发布状态、是否在钉钉客户端中打开 | | 已识别身份但登录被拒绝 | 是否已导入,AskTable 账号和组织成员是否正常 | --- 来源:https://docs.asktable.com/how-to/connect-feishu-sso # 飞书登录集成 配置飞书企业自建应用,让预先导入的成员从飞书客户端登录 AskTable。 使用指南 · 模块: integrations · 管理人员 · 部署形态:Cloud / 私有部署 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 飞书登录用于识别组织成员。它与[飞书机器人](https://docs.asktable.com/integrations/feishu)、[飞书工作簿](https://docs.asktable.com/data/connect)分别配置,不会互相启用。以下操作已按产品 `4.2.48-1026` 核对;旧实例请先确认版本。 ## 准备应用 1. 在飞书开发者后台创建企业自建应用,启用网页应用能力,取得 **App ID** 和 **App Secret**。 2. 由 AskTable 组织 Owner 或 Admin 进入 **个人设置 → 登录集成 → 飞书**,点击 **启用**并填写凭据。 3. 在详情页的 **权限配置** 区点击 **复制权限 JSON**,到飞书权限管理的 **批量处理 → 批量导入/导出权限** 中导入。保存配置后,也可点击 **前往飞书权限管理**打开对应应用。 4. 设置需要导入的部门和成员为通讯录可见范围,发布应用版本,使权限生效。按用户组授权时,还需开通 `contact:group:readonly`。 登录身份使用应用内的 `open_id`,不需要申请手机号、邮箱或员工 `user_id` 权限。成员缺少姓名时,检查成员基本信息权限是否已发布生效。 App ID 保存后不能直接修改;更换应用前先断开集成。保存配置不会自动导入成员,也不表示外部凭据已验证成功。 ## 配置登录地址 复制 AskTable 详情页的完整登录地址,填入飞书网页应用的桌面端和移动端主页,并配置 AskTable 域名为可信域名。选择在飞书客户端内打开。 - 私有部署地址形如 `https://你的域名/login/sso/feishu`,不带组织参数。 - Cloud 地址带 `?org_id=...`,必须完整保留。 - 部署有路径前缀时,以页面显示的完整地址为准。 当前只支持从飞书客户端工作台打开应用免登;普通浏览器入口会提示使用飞书客户端。 ## 导入并验证成员 在 AskTable 飞书详情页点击 **导入成员**,选择应用可见范围内的人并提交,再用已导入成员从飞书工作台打开应用,确认进入正确组织。 首次登录不会自动创建账号。账号和组织成员关系都必须正常;已停用成员不能靠重新导入恢复。同一员工分别从飞书、企业微信或钉钉导入,会创建各自的 AskTable 账号并分别占用席位,不按相同手机号或邮箱合并。 当前不提供通讯录定时同步或离职自动停用。断开集成保留账号、成员和项目历史。完整规则见[企业集成登录](https://docs.asktable.com/organization/enterprise-login)。导入后仍需分配[项目角色](https://docs.asktable.com/organization/invitations)和[数据权限](https://docs.asktable.com/permissions)。 ## 排障 | 现象 | 检查 | | ----------- | --------------------------------------- | | 读不到导入候选 | 应用凭据、通讯录权限、可见范围、应用发布状态 | | 无法免登 | 应用主页、可信域名、是否在飞书客户端中打开 | | 已识别身份但登录被拒绝 | 是否已经导入,账号和组织成员是否正常,Cloud 地址是否保留 org\_id | --- 来源:https://docs.asktable.com/ # 索引 通过自然语言查询和分析业务数据。 使用指南 · 模块: product · 使用者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:现有文档 ## 开始使用 **[快速入门](https://docs.asktable.com/getting-started/quickstart)** 五步完成第一次数据提问。 [查看操作步骤](https://docs.asktable.com/getting-started/quickstart) **[配置数据](https://docs.asktable.com/data/connect)** 支持的数据库与连接配置。 [查看配置指南](https://docs.asktable.com/data/connect) 初次了解 AskTable?先看[概览](https://docs.asktable.com/overview),或了解[AskTable 如何工作](https://docs.asktable.com/architecture)。 ## 按任务探索 **[了解 AskTable](https://docs.asktable.com/overview)** 产品定位、三种能力的分工、答案的可信来源与部署形态。 **[问数、看板与画卷](https://docs.asktable.com/conversation)** 像聊天一样提问并连续追问,把结果做成会定时刷新的看板,或用画卷拆解复杂问题。 **[配置智能体](https://docs.asktable.com/agent/overview)** 建一个懂你业务口径的问数助手:绑数据源、挂技能、放业务文档。 **[设置数据访问范围](https://docs.asktable.com/permissions)** 用人员、角色和策略决定谁能进项目、能看到哪些库、表和行。 **[私有部署与运维](https://docs.asktable.com/deploy/overview)** 一个 Docker Compose 起全栈,可完全内网离线运行,支持接入内网模型服务。 **[问题排查与支持](https://docs.asktable.com/reference/troubleshooting)** 按现象查常见问题,按错误码定位原因,或排查服务本身的故障。 ## 集成 把 AskTable 接入[飞书机器人](https://docs.asktable.com/integrations/feishu)、[你的网页或业务门户](https://docs.asktable.com/integrations/embed),或[现有系统与开发工具](https://docs.asktable.com/integrations/overview)。 需要安装到自己的服务器?从[部署总览](https://docs.asktable.com/deploy/overview)开始。 遇到阻碍?[查常见问题](https://docs.asktable.com/reference/faq) · [排查服务故障](https://docs.asktable.com/reference/troubleshooting) · [按错误码查原因](https://docs.asktable.com/reference/error-codes) --- 来源:https://docs.asktable.com/integrations/cli # 在终端和脚本里使用 CLI 以个人或系统集成身份问数,在权限范围内维护 AskTable 资源。 使用指南 · 模块: integrations · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 AskTable CLI 是官方命令行工具,npm 包名为 `@datamini/asktable-cli`,命令名为 `asktable`。它适合终端问数、脚本和外部 AI 助手;业务人员也可以直接在网页里[对话](https://docs.asktable.com/conversation)。 本页以 CLI `0.0.10` 为命令基线,并与服务端 `v4.2.48-1026` 核对。CLI 与服务端独立发布;命令存在不代表它适用于每个服务端版本,定时任务和嵌入配置的已知限制见下文。 ## 开始前 - 环境:Node.js 18 或更高版本。 - 凭证:在主导航「Agent 集成」创建 Key。个人使用或让外部 Agent 以本人身份操作,选择「个人 Key」;可信业务系统选择「系统集成 Key」,该入口只向项目负责人和管理员开放。 - 连接信息:同一页面可复制服务地址和当前项目 ID;Key 在创建后只完整展示一次。 - 先确认准备调用的智能体,以及它所连接的数据源和你的数据权限。 ## 操作步骤 **安装并核对版本** 需要复现本页命令时安装指定版本: ```bash npm install --global @datamini/asktable-cli@0.0.10 asktable --version asktable --help ``` 按任务继续查看子命令帮助,例如 `asktable data-agent --help`、`asktable query --help`。升级 CLI 后重新检查帮助和内置 Skill。 **登录并确认服务端身份** 交互式登录依次询问 API Key 和 Server URL,验证成功后保存到 `~/.config/asktable/config.json`,键名为 `api_key` 和 `api_url`: ```bash asktable auth login asktable auth status asktable auth whoami --json ``` `auth status` 展示本地连接配置,不能证明凭证仍有效。`auth whoami` 请求服务端,返回当前项目 `project_id`、用户 `user_id`、项目角色 `project_role` 和 API 角色 `ak_role` 等信息。核对项目后再操作;不要回显 Key。 | 身份 | 如何判断 | 配置权限 | | ---------------- | ---------------------- | ------------------------------------------------------------------------------------------ | | 个人 Key | 有 `user_id`,代表当前项目中的本人 | `MEMBER` 可创建和管理自己的智能体、技能和定时任务;`OWNER` / `ADMIN` 可治理项目配置。不能仅凭 `ak_role=asker` 判断个人 Key 不能配置 | | 系统集成 `admin` Key | 没有用户身份,API 角色为 `admin` | 用于数据源、元数据、角色、策略等项目基础设施及 Agent 调用;不能读取或修改个人智能体、技能、业务文档、渠道凭据和定时任务配置 | | 系统集成 `asker` Key | 没有用户身份,API 角色为 `asker` | 适合调用已有 Agent 问数;不能管理个人配置 | `asktable auth logout` 清除本地配置文件;环境变量中仍有 Key 时,后续命令仍会使用它。 **在脚本里注入凭证** 在 CI 或脚本的运行环境中设置: ```bash export ASKTABLE_API_KEY='YOUR_API_KEY' export ASKTABLE_API_URL='https://<你的 AskTable 站点>' asktable auth whoami --json ``` 此时不需要运行交互式登录。实际凭证应从运行环境的密钥管理注入,避免留在命令历史或代码仓库中。 普通 API 命令的取值优先级为:全局参数 `--api-key` / `--server` → 环境变量 `ASKTABLE_API_KEY` / `ASKTABLE_API_URL` → 本地配置文件 → 默认服务 `https://api.asktable.com`。私有部署必须明确设置服务地址。 **选择可用 Agent,发起第一次提问** 先查看使用摘要: ```bash asktable data-agent list --json asktable data-agent usage --json ``` 摘要中的 `can_manage` 表示能否管理配置。可以使用 Agent 不等于可以读取它的完整配置;`data-agent get ` 另行检查配置权限。 新建问数会话必须指定 `--data-agent`: ```bash asktable query "本月销售额是多少?" \ --data-agent \ --json ``` 数据范围来自 Agent 和当前数据权限的交集。`--datasources` 不能替代 Agent,也不能扩大 Agent 的数据范围。个人 Key 使用成员当前绑定的数据角色,不能用 `--role` / `--role-variable` 覆盖。 系统集成 Key 可由可信后端指定数据角色和角色变量,变量可重复传入: ```bash asktable query "本月销售额是多少?" \ --data-agent \ --role \ --role-variable dept_id=D001 \ --json ``` `query` 创建会话、发送问题并轮询结果。它每隔 1 秒轮询一次,最多 120 次;达到上限会报告对话 ID 和 `120s` 超时。超时后先查看原对话,不要立即重复提交同一问题。 **处理澄清并在原会话追问** JSON 输出包含 `conversation_id`、`status` 和 assistant 回复。用同一 ID 继续: ```bash asktable query "按自然月、支付时间统计" \ --conversation \ --json asktable conv get --json ``` `clarifying` 表示 Agent 在等待补充信息,带原会话 ID 回答即可;`warning`、`error` 或 `paused` 需要查看详情,不能当作正常完成。 复用会话时,`query` 的 `--data-agent`、`--datasources`、`--role` 等创建参数不会重新应用。旧的无 Agent 会话不能通过当前公共消息接口继续问数,应选择 Agent 新建会话。 **按权限维护资源** 修改前读取现有配置,完成后用对应 `get` 命令回读。常用命令如下: | 目标 | 命令 | | ------------- | --------------------------------------------------------------------------------------------- | | 查看数据源 | `asktable ds list`、`asktable ds get ` | | 建、改、删数据源 | `asktable ds create`、`asktable ds update `、`asktable ds delete ` | | 测试待接入的连接 | `asktable ds test-connection --engine --config '<连接配置 JSON>'`,不接受数据源 ID | | 上传文件 | `asktable ds upload `;也可用 `ds create --file ` 创建后上传 | | 查看、预览、同步元数据 | `asktable ds meta get `、`preview `、`sync ` | | 导出、导入元数据 | `asktable ds meta export `、`asktable ds meta import ` | | 改字段说明、可见性和值索引 | `asktable ds field edit `,结合 `--schema`、`--table`、`--field` 和相应选项 | | 改表描述 | `asktable ds table edit --schema --table --desc ` | | 管理训练问答对 | `asktable ds training list/create/update/delete`,按帮助提供数据源及样例 ID | | 管理智能体 | `asktable data-agent list/usage/get/create/update/delete` | | 管理业务文档 | `asktable data-agent document list/get/create/update/delete`,第一个位置参数为 Agent ID | | 管理技能 | `asktable skill list/get/create/update/delete` | | 管理角色与策略 | `asktable role list/get/create/update/delete`、`asktable policy list/get/create/update/delete` | | 管理对话 | `asktable conv list/get/update/delete`;列表支持 `--query`、`--status`、`--created-by-me`、`--sort` | | 压缩、取消、查看结果数据 | `asktable conv compact `、`cancel `、`artifacts ` | | 查看、创建、撤销对话分享 | `asktable conv share get/create/delete `;创建分享前确认可公开访问的数据范围 | | 查看模型组、项目信息 | `asktable model-group list`、`asktable project get/update` | 新建智能体默认私有;CLI `0.0.10` 没有智能体分享设置命令,需要在网页里分享。不要把对话分享与智能体分享混为一谈。 配置智能体时,可用 `--domain-knowledge` 和 `--analysis-preferences` 分别设置领域知识和分析偏好,各限 1024 字符。能力开关为 `--python`、`--chart`、`--clarification`、`--web-search`,都明确传 `true` 或 `false`;更新时 CLI 会读取当前配置,保留未指定的开关。旧的 `--memory-enabled` 不再提供。 绑定数据源或技能时,`--datasources`、`--skills` 替换整个列表,不能当作追加。业务文档的 `--desc` 必填;长正文可以使用 `--content-file`,它优先于 `--content`: ```bash asktable data-agent document create \ --title "销售额统计规范" \ --desc "销售额计算、时间归属与退款处理" \ --content-file ./sales-rules.md \ --json ``` 数据源创建或同步的 `--wait` 结束后,仍需回读 `sync_status` 和错误信息;等待结束不等于同步成功。训练样例使用 `--question`、`--sql` 和可选 `--active true|false`,不再提供训练样例的 `--role` 参数。技能模板与项目内技能是不同资源;`skill list` 不返回内置标记。 **给外部 AI 助手安装使用说明** `get-skill` 将当前 CLI 随包内置的使用说明打印到标准输出,不会自动安装或更新外部助手的 Skill: ```bash asktable get-skill > asktable-skill.md ``` 按所用助手的规则将文件装入 Skill 目录。更新 CLI 后重新导出并更新已安装副本;只升级包不会改动已保存的说明文件。主导航「Agent 集成」也提供安装 AskTable Skill 的引导。 这份说明帮助外部助手确认身份、澄清业务口径、把知识放到合适位置并验证结果。它与 AskTable 智能体上的[技能](https://docs.asktable.com/agent/skill)不同;领域知识、业务文档和可复用分析方法应分别保存到 AskTable 的对应配置中。 内置说明还包含 Bug 和需求反馈指引。只有用户明确要求提交时才执行;Linear 连接或凭证独立于 AskTable Key,未配置时只能保留草稿,不能宣称已提交。 ## 当前兼容限制 CLI `0.0.10` 保留 `data-agent schedule` 和 `data-agent embed` 命令组,但与服务端 `v4.2.48-1026` 的管理接口路径不匹配: | 功能 | CLI `0.0.10` 使用的路径 | 当前服务端管理路径 | 当前操作方式 | | ---- | -------------------------------------- | --------------- | -------------------------------------------------------------------- | | 定时任务 | `/v1/data-agents/{agent_id}/schedules` | `/v1/schedules` | 使用网页[定时任务](https://docs.asktable.com/integrations/scheduled-reports) | | 嵌入配置 | `/v1/data-agents/{agent_id}/embeds` | `/v1/embeds` | 使用网页[嵌入设置](https://docs.asktable.com/integrations/embed) | 这两个命令组在当前服务端出现 404 时,不应反复更换资源 ID 或凭证。CLI `0.0.10` 尚无对应的顶级 `schedule`、`embed` 命令;不要依据网页已有功能推断 CLI 已经支持。 CLI 还移除了旧的 `ats`、`glossary` 和 `project preference` 命令。已有脚本应重新核对 `--help`;服务端升级也可能改变权限与资源边界,不能只更新 CLI 后沿用旧的 admin/asker 假设。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ---------- | --------------------------------------------- | ------------------------------- | | Node.js 版本 | 18 或更高 | 本地环境 | | 本页命令基线 | CLI `0.0.10`;与服务端 `v4.2.48-1026` 核对 | 两条版本线独立核对 | | 配置文件 | `~/.config/asktable/config.json` | `auth login` / `auth logout` | | 配置优先级 | 全局参数 > 环境变量 > 配置文件 > 默认服务 | `--api-key` / `--server` 或环境变量 | | 默认服务 | `https://api.asktable.com` | `--server` 或 `ASKTABLE_API_URL` | | 新建问数 | 必须指定 Agent,受当前身份与数据权限约束 | `query --data-agent ` | | 查询等待 | 间隔 1 秒、最多轮询 120 次 | 无等待上限选项 | | JSON 输出 | 使用 `--json`;部分写命令仍含提示行,不能假定整个 stdout 是单个 JSON | 自动化应检查具体命令并回读结果 | | 删除 | 默认交互确认;已确认要删除时可用 `--yes` | 删除命令参数 | | 系统集成 Key | `admin` 也不获得个人配置管理权 | 「Agent 集成」及资源授权 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ------------------------------- | ---------------------------------- | ---------------------------------------------------------- | | 提示未配置 API Key | 当前命令未取得凭证 | 运行 `auth login`,或注入 `ASKTABLE_API_KEY` | | 本地显示已登录,但调用失败 | `auth status` 有配置,`auth whoami` 失败 | 核对服务地址、Key 是否撤销或过期,以及项目成员状态 | | 返回 401 | 认证失败 | 检查 Key、服务地址与有效期,不反复尝试修改资源 | | 返回 403,或可用 Agent 无法读取完整配置 | 使用权与配置权不同,或使用了系统集成 Key | 查看 `auth whoami` 与使用摘要中的 `can_manage`;按个人身份及资源权限操作 | | 返回 404 | 资源、访问范围或接口路径不匹配 | 先核对版本、命令与可见资源;定时任务和嵌入先看上方兼容限制 | | 返回 422 或参数错误 | 服务端拒绝请求参数 | 按具体错误检查必填项;新建问数必须提供 `--data-agent` | | 返回 `clarifying` | Agent 需要补充业务信息 | 带原 `conversation_id` 回答澄清问题 | | 查询报告 120s 超时 | 达到轮询上限 | 用 `conv get ` 检查原对话,再决定后续操作 | | 返回 `warning`、`error` 或 `paused` | 本轮未正常完成 | 查看对话详情及已有错误,不将其当作成功答案 | | 同步等待结束但数据不可用 | `sync_status` 不是成功状态,或有同步错误 | 回读数据源详情;处理具体错误后再同步 | | 私有部署请求发到云端 | 生效服务地址仍是默认值 | 设置 `ASKTABLE_API_URL` 或全局 `--server`,再用 `auth whoami` 核对项目 | ## 下一步 - 让支持 MCP 的 AI 客户端直接调用 AskTable:[MCP](https://docs.asktable.com/integrations/mcp) - 把问数接进业务系统:[OpenAPI](https://docs.asktable.com/integrations/openapi) - 准备可解释的数据与业务规则:[连接数据源](https://docs.asktable.com/data/connect)、[表、字段备注](https://docs.asktable.com/data/semantics)、[业务文档](https://docs.asktable.com/agent/documents) --- 来源:https://docs.asktable.com/integrations/coze # 接入扣子 Coze 在扣子智能体或工作流中通过 REST API 调用 AskTable。 使用指南 · 模块: integrations · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 在扣子中通过 HTTP 调用或自定义插件,可以让智能体使用 AskTable 的数据分析能力。当前版本按数据智能体创建对话、发送问题和读取结果;旧的只传 `datasource_ids` 的单轮插件配置不能直接用于当前版本。 ## 开始前 - 一个 AskTable 项目,以及一个有权使用、已配置可用数据源的数据智能体。 - AskTable 服务地址、项目 ID 和智能体 ID,见 [REST API](https://docs.asktable.com/integrations/openapi)。 - 一个扣子账号,以及能配置 HTTP 调用或自定义插件的工作流。 - 选择凭证身份:代表本人使用个人 Key;可信业务系统使用 `asker` 类型的系统集成 Key。主导航「Agent 集成」中创建 Key,完整值只显示一次。 ## 操作步骤 **检查插件接口** 历史[一句话查 Excel 或数据库插件](https://www.coze.cn/store/plugin/7407079384349343784)的配置以数据源 ID 为中心。先检查实际调用接口;如果仍调用 `/v1/integration/query`,当前 AskTable 已移除该接口,不能继续按旧配置接入。 需要在扣子中使用当前版本时,按下列对话流程配置 HTTP 调用或自定义插件,接口与字段以部署实例的 `/v1/redoc` 为准。不要把旧插件的可见状态当作当前版本兼容性的证明。 **在智能体里添加插件** 为扣子智能体或工作流添加可调用 AskTable REST API 的工具。将完整流程封装为一个工具时,应包含创建对话、发送消息、等待并读取回答,而非只返回对话创建结果。 **准备连接变量** 旧配置中的 `at_auth` 和 `at_ds_id` 不再足以完成接入。准备以下连接值,并将 Key 放入平台提供的安全凭证配置: | 值 | 用途 | | ------- | ---------------------------------------- | | 服务地址 | AskTable 对外地址,请求路径使用 `/v1` | | 项目 ID | 请求头 `X-Project-Id` | | API Key | 请求头 `Authorization: Bearer YOUR_API_KEY` | | 智能体 ID | 创建对话的 `data_agent_id` | | 当前用户问题 | 发送消息的 `question`,最多 4096 个字符 | **把插件参数绑到变量** 按顺序配置三个调用,认证头在每个调用中保持一致: | 顺序 | 请求 | 参数与结果 | | -- | -------------------------------------- | -------------------------------------------- | | 1 | `POST /v1/conversations` | JSON 传 `data_agent_id`,保存返回的 `id` | | 2 | `POST /v1/conversations//messages` | JSON 传 `question`,202 表示已接受执行 | | 3 | `GET /v1/conversations/` | 等待执行结束,读取 assistant 消息 `content` 中的 `text` 块 | 个人 Key 使用本人当前数据角色和变量,不能由参数覆盖。系统集成可在第一步指定 `role_id` 和 `role_variables`,由可信服务端确定;不传角色时不做角色过滤。具体请求示例见 [REST API](https://docs.asktable.com/integrations/openapi)。 **用预览调试** 先用同一个智能体在 AskTable 网页完成一次提问,再在扣子里验证。`pending` 或 `streaming` 表示尚未完成,应设置轮询间隔和总超时;`clarifying` 表示需要澄清,不能当作成功答案直接发给用户。 测试正常问题、无权限调用和超时处理。不要在扣子的回复中展示 Key、连接配置或完整错误详情中的敏感信息。 **工作流或对话流里同样配置** 工作流中保存对话 ID,后续问题继续向同一个 `/messages` 发送。多个用户的对话 ID 应各自隔离,不要把一个用户的历史交给另一个用户继续。需要实时展示过程时,按当前实例的接口文档接入事件流。 ## 关键约束 | 项目 | 值或默认 | 在哪里改 | | ---- | --------------------------------------- | ------------------ | | 接入入口 | 智能体对话 API,旧 `/v1/integration/query` 已移除 | HTTP 工具或自定义插件 | | 身份 | 个人 Key 跟随本人当前权限;系统 `asker` 可调用项目全部智能体 | AskTable「Agent 集成」 | | 新建对话 | 必须传 `data_agent_id`,不能只传数据源 ID | 创建对话请求 | | 数据范围 | 智能体与执行身份共同决定;系统角色和变量由可信服务端控制 | AskTable 配置与调用服务 | | 执行结果 | 202 只表示接受执行,答案需从对话详情读取 | 工作流等待与结果提取 | | 凭证 | 不写进公开提示词、回复或代码仓库 | 扣子的安全凭证配置 | ## 出问题怎么判断 | 现象 | 判定条件 | 处理 | | ----------- | --------------------------- | ------------------- | | 旧插件返回 404 | 仍请求 `/v1/integration/query` | 迁移为上述智能体对话流程 | | 认证失败 | 缺 `Bearer `、Key 已过期或撤销 | 核对安全凭证和请求头 | | 创建对话失败 | 缺少智能体 ID,或当前身份无权使用 | 先列出有权使用的智能体,再填写其 ID | | 返回已接受但没有答案 | 将发消息接口的 202 当作最终结果 | 读取对话详情并处理等待、澄清和失败状态 | | 不同用户看到同一段历史 | 工作流共用了对话 ID | 按用户隔离对话状态和凭证身份 | ## 下一步 - 完整请求和权限条件:[REST API](https://docs.asktable.com/integrations/openapi) - 让 AI 客户端直接发现工具:[MCP](https://docs.asktable.com/integrations/mcp) - 先建好可用智能体:[创建并配置数据智能体](https://docs.asktable.com/agent/overview) --- 来源:https://docs.asktable.com/integrations/embed # 把问数窗口嵌进网页 将问数窗口嵌入业务页面,并通过绑定角色控制访客的数据权限。 使用指南 · 模块: integrations · 应用开发者 · 部署形态:资料未说明 · 已确认产品版本:资料未说明 · 来源:编辑整理 · 变更章节按产品 4.2.48-1026 核对(CLI 命令另按 0.0.10);不代表所有实例已升级,也不是完整历史支持矩阵。 嵌入把一个数据智能体变成一条公开地址,用 iframe 放进你自己的页面。访客不登录 AskTable,也不用选数据源或角色;每个地址可绑定一个固定角色,所有访客共用该地址的数据范围;不绑定角色时不限制数据权限。 企业微信和 WPS 在这里只是 iframe 的宿主页面,不是 AskTable 的消息频道,也不等于企业微信/WPS 登录——那两种登录走的是[企业微信与 WPS 身份接入](https://docs.asktable.com/admin/identity)。 ## 开始前 - 权限:项目角色需要是「项目负责人」或「项目管理员」。 - 前置:一个配好的数据智能体,见[创建并配置数据智能体](https://docs.asktable.com/agent/overview)。 - 先确定公开数据范围:绑定角色时,所有访客共用该角色;留空表示不限制数据权限,发布前应确认整个范围适合公开。 - 宿主页面:要嵌入的页面能改 HTML,用来放 `