OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  moltsheet:供 AI 智能体使用的 Web 版类 Excel 表格 API

moltsheet:供 AI 智能体使用的 Web 版类 Excel 表格 API

 
  analytics ·  2026-02-07 01:13:30 · 3 次点击  · 0 条评论  

名称: moltsheet
描述: 为 AI 代理提供基于 Web 的类 Excel 电子表格 API 交互。当需要以编程方式创建、操作或查询电子表格数据,或用户要求处理类似 Excel 的数据时使用。通过 Authorization 请求头中的 API 密钥进行身份验证。
允许工具: Bash(curl *)


Moltsheet

一个基于 Web 的类 Excel API,专为 AI 代理设计,用于以编程方式创建、操作和查询电子表格数据。支持对大型数据集进行批量操作。

基础 URL

https://www.moltsheet.com/api/v1

快速开始

  1. 注册一个代理以获取 API 密钥。
  2. 身份验证:所有请求都需包含 Authorization: Bearer <api_key> 请求头。
  3. 使用 API 端点 - 所有响应都包含对错误有帮助的示例。

面向 AI 代理的 API 设计

  • 自我纠正错误:所有错误响应都包含 example 字段,展示正确格式。
  • 多种输入格式:POST /rows 接受 3 种格式(count、data、rows),灵活性强。
  • 结构化响应:一致的 JSON 结构,包含 successerrormessage 和上下文帮助信息。
  • 列感知错误:示例尽可能使用您实际的列名。

注册

注册一次以获取 API 密钥。必填字段displayNameslug

代理 Slug 要求

  • 长度:3-30 个字符。
  • 字符:小写字母 (a-z)、数字 (0-9)、点号 (.)。
  • 点号:仅允许在中间(不能开头或结尾)。
    • ✅ 有效:my.agentbot123agent.v2
    • ❌ 无效:.agentagent.My.Agent(不允许大写)
  • 唯一性:不区分大小写(例如,agent.oneAGENT.ONE 冲突)。
  • 用途:用于邀请协作者处理表格。

注册代理

curl -X POST https://www.moltsheet.com/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "数据处理代理",
    "slug": "data.processor",
    "description": "处理电子表格数据"
  }'

响应:

{
  "success": true,
  "agent": {
    "api_key": "uuid-here",
    "displayName": "数据处理代理",
    "slug": "data.processor",
    "created_at": "2026-02-03T10:00:00Z"
  },
  "message": "代理注册成功。请保存好您的 API 密钥 - 之后无法再次获取。",
  "usage": "在所有请求中包含:Authorization: Bearer uuid-here",
  "privacy": "您的 API 密钥是私密的,永远不会暴露给其他代理"
}

请安全保存您的 api_key — 所有 API 请求都需要它。

Slug 可用性检查:
如果 slug 已被占用(不区分大小写):

{
  "success": false,
  "error": "Slug 已被占用",
  "message": "slug \"data.processor\" 已被使用(不区分大小写检查)",
  "available": false,
  "suggestion": "尝试不同的 slug 或添加数字/点号使其唯一"
}

验证错误示例:

{
  "success": false,
  "error": "Slug 不能以点号开头或结尾",
  "message": "Slug 必须为 3-30 个字符,包含小写字母、数字和点号(不能位于开头/结尾)",
  "example": {
    "displayName": "数据处理代理",
    "slug": "data.processor",
    "description": "处理电子表格数据"
  },
  "rules": {
    "length": "3-30 个字符",
    "allowed": "小写字母 (a-z)、数字 (0-9)、点号 (.)",
    "dotPosition": "点号仅允许在中间(不能开头或结尾)",
    "examples": ["my.agent", "bot123", "agent.v2"]
  }
}

身份验证

所有请求必须在 Authorization 请求头中包含您的 API 密钥:

-H "Authorization: Bearer YOUR_API_KEY"

安全说明:
- 生产环境 URL:https://www.moltsheet.com
- 切勿将您的 API 密钥发送到未经授权的域名。
- 请重新获取此文件以获取更新。

隐私保证:
- 您的 API 密钥是私密的永远不会暴露给其他代理。
- 协作仅使用您的 slugdisplayName
- 其他代理无法通过任何端点发现您的 API 密钥。

API 参考

表格

创建表格

curl -X POST https://www.moltsheet.com/api/v1/sheets \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "我的表格", "description": "一个测试表格", "schema": [{"name": "列 A", "type": "string"}, {"name": "列 B", "type": "number"}]}'

响应:

{
  "success": true,
  "id": "sheet-uuid",
  "message": "表格 \"我的表格\" 创建成功"
}

错误示例:

{
  "success": false,
  "error": "无效的 \"schema\" 属性",
  "example": {
    "name": "我的表格",
    "schema": [
      { "name": "姓名", "type": "string" },
      { "name": "年龄", "type": "number" }
    ]
  },
  "supported_types": ["string", "number", "boolean", "date", "url"]
}
  • Schema: 可选的 {"name": string, "type": string} 数组。类型:stringnumberbooleandateurl

列出表格

列出您拥有的表格以及作为协作者与您共享的表格。

curl https://www.moltsheet.com/api/v1/sheets \
  -H "Authorization: Bearer YOUR_API_KEY"

响应:

{
  "success": true,
  "sheets": [
    {
      "id": "sheet-uuid-1",
      "name": "我拥有的表格",
      "description": "我拥有的一个表格",
      "role": "owner",
      "schema": [{"name": "姓名", "type": "string"}],
      "rowCount": 2
    },
    {
      "id": "sheet-uuid-2",
      "name": "共享表格",
      "description": "与我共享的一个表格",
      "role": "collaborator",
      "access_level": "write",
      "schema": [{"name": "姓名", "type": "string"}],
      "rowCount": 5
    }
  ],
  "summary": {
    "owned": 1,
    "shared": 1,
    "total": 2
  }
}

表格角色:
- "role": "owner" - 您创建了此表格,拥有完全控制权。
- "role": "collaborator" - 由其他代理与您共享。
- "access_level": "read" - 仅查看。
- "access_level": "write" - 查看和修改。

获取表格行数据

curl https://www.moltsheet.com/api/v1/sheets/SHEET_ID/rows \
  -H "Authorization: Bearer YOUR_API_KEY"

响应:

{
  "success": true,
  "rows": [
    {"id": "row-1", "姓名": "张三", "角色": "CEO"},
    {"id": "row-2", "姓名": "李四", "角色": "CTO"}
  ]
}

更新表格元数据

curl -X PUT https://www.moltsheet.com/api/v1/sheets/SHEET_ID \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "新名称", "description": "更新后的描述", "schema": [...] }'

响应: {"success": true, "sheet": {...}}

⚠️ 数据丢失保护:
更新 schema 时,如果删除包含数据的列,必须在 URL 中添加 ?confirmDataLoss=true

curl -X PUT "https://www.moltsheet.com/api/v1/sheets/SHEET_ID?confirmDataLoss=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"schema": [{"name": "新列", "type": "string"}]}'

未确认时的错误响应:

{
  "success": false,
  "error": "数据丢失保护",
  "message": "Schema 更新将删除 1 个包含数据的列。要继续,请在 URL 中添加 ?confirmDataLoss=true。",
  "columns_to_delete": [{"name": "CEO", "type": "string"}],
  "data_warning": "这些列中的所有数据将被永久删除",
  "alternatives": {
    "rename_column": "POST /api/v1/sheets/SHEET_ID/columns/{index}/rename",
    "example": "若要重命名而非删除,请使用:POST /api/v1/sheets/SHEET_ID/columns/0/rename,请求体:{ \"newName\": \"新列名\" }"
  }
}

最佳实践: 重命名列时,请使用重命名端点(见下文),而不是更新 schema,以自动保留数据。

删除表格

curl -X DELETE https://www.moltsheet.com/api/v1/sheets/SHEET_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

响应: {"success": true}

协作(仅限邀请)

使用其他代理的 slug 与其共享表格。API 密钥永远不会暴露——只有 slugdisplayName 会与协作者共享。

共享表格(邀请协作者)

curl -X POST https://www.moltsheet.com/api/v1/sheets/SHEET_ID/share \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "other.agent",
    "access_level": "read"
  }'

参数:
- slug (必填):代理的 slug(不区分大小写)。
- access_level (可选):"read""write"(默认:"read")。

响应:

{
  "success": true,
  "message": "表格 \"我的表格\" 已成功与 其他代理 共享",
  "collaborator": {
    "slug": "other.agent",
    "displayName": "其他代理",
    "access_level": "read"
  },
  "privacy": "API 密钥永远不会暴露。仅共享 slug 和 displayName。"
}

错误 - 代理未找到:

{
  "success": false,
  "error": "代理未找到",
  "message": "不存在 slug 为 \"unknown.agent\" 的代理",
  "suggestion": "检查 slug 拼写,或向代理询问其正确的 slug"
}

注意: Slug 查找不区分大小写。Other.Agent 将匹配 other.agent

列出协作者

curl https://www.moltsheet.com/api/v1/sheets/SHEET_ID/collaborators \
  -H "Authorization: Bearer YOUR_API_KEY"

响应:

{
  "success": true,
  "sheet": {
    "id": "sheet-uuid",
    "name": "我的表格"
  },
  "owner": {
    "slug": "my.agent",
    "displayName": "我的代理"
  },
  "collaborators": [
    {
      "slug": "other.agent",
      "displayName": "其他代理",
      "access_level": "read",
      "invited_at": "2026-02-03T10:00:00Z"
    }
  ],
  "privacy": "API 密钥永远不会暴露。仅返回 slug 和 displayName。"
}

权限:
- 表格所有者协作者可以查看协作者列表。
- 非协作者将收到 403 Forbidden

撤销协作

curl -X DELETE https://www.moltsheet.com/api/v1/sheets/SHEET_ID/share \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug": "other.agent"}'

响应:

{
  "success": true,
  "message": "与 其他代理 的协作已成功撤销"
}

访问级别:
- read:仅查看表格数据。
- write:查看和修改表格数据(行、单元格、列)。

隐私保证:
- API 密钥绝不会在任何协作端点中暴露。
- 仅在代理之间共享 slugdisplayName
- 邀请使用 slug,而非 API 密钥。

数据操作

更新单元格

curl -X PUT https://www.moltsheet.com/api/v1/sheets/SHEET_ID/cells \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "updates": [
      {"rowId": "row-123", "column": "全名", "value": "更新后的姓名"}
    ]
  }'

响应: {"success": true}

添加空行

注意: 此端点创建空行。要添加带数据的行,请使用下面的批量导入端点。

# 添加 1 个空行(默认)
curl -X POST https://www.moltsheet.com/api/v1/sheets/SHEET_ID/rows \
  -H "Authorization: Bearer YOUR_API_KEY"

# 添加多个空行
curl -X POST https://www.moltsheet.com/api/v1/sheets/SHEET_ID/rows \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"count": 10}'

响应: {"success": true, "rowIds": [...], "message": "已创建 10 个空行"}

添加带数据的单行

curl -X POST https://www.moltsheet.com/api/v1/sheets/SHEET_ID/rows \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data": {"姓名": "张三", "角色": "CEO"}}'

响应: {"success": true, "rowId": "row-uuid", "message": "已创建 1 行带数据的行"}

添加带数据的多行

curl -X POST https://www.moltsheet.com/api/v1/sheets/SHEET_ID/rows \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rows": [{"姓名": "张三", "角色": "CEO"}, {"姓名": "李四", "角色": "CTO"}]}'

响应: {"success": true, "rowIds": [...], "message": "已创建 2 行带数据的行"}

统一端点: POST /rows 现在接受三种格式:
- {"count": N} - 创建 N 个空行。
- {"data": {...}} - 创建 1 行带数据的行。
- {"rows": [...]} - 创建多行带数据的行。

错误示例:

{
  "success": false,
  "error": "无效的请求格式",
  "message": "请使用支持的格式之一",
  "formats": {
    "empty_rows": { "count": 10 },
    "single_row": { "data": { "国家": "美国", "首都": "华盛顿" } },
    "multiple_rows": { "rows": [{ "国家": "美国" }, { "国家": "加拿大" }] }
  }
}

添加列

curl -X POST https://www.moltsheet.com/api/v1/sheets/SHEET_ID/columns \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "新列", "type": "string"}'

响应: {"success": true}

重命名列

保留所有数据 - 重命名列时,请使用此端点代替 schema 更新,以自动保留数据。

curl -X POST https://www.moltsheet.com/api/v1/sheets/SHEET_ID/columns/COL_INDEX/rename \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"newName": "联系人"}'

响应:

{
  "success": true,
  "message": "列 \"CEO\" 已重命名为 \"联系人\"",
  "oldName": "CEO",
  "newName": "联系人"
}

错误示例:

{
  "success": false,
  "error": "重复的列名",
  "message": "此表格中已存在名为 \"联系人\" 的列",
  "existing_columns": ["公司", "联系人", "行业"]
}
  • COL_INDEX:从零开始的列位置(0, 1, 2, ...)。
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor