BUILD WITH AGENT SHEET

把第一张表,
接进你的工作流。

从设备登录到第一行数据。CLI、API 和 MCP 共用同一工作空间及授权规则。

01 快速上手

需要 Go 1.25 或更高版本。先在项目源码根目录构建 CLI;服务端需另行运行。CLI 本身不连接数据库。

BUILD / SIGN IN
CGO_ENABLED=0 go build -o bin/agent-sheet ./cmd/agent-sheet
./bin/agent-sheet --url https://sheet.sparse-agent.com auth login

打开命令返回的验证地址,用 Chat 登录。核对短码、客户端提供的主机名与目标工作空间,再批准。CLI 会等待并安全保存授权。中断后用 auth finish 继续。

先建 schema,再写数据。

把以下三个 JSON 分别保存为 schema.json、row.json 和 query.json。

schema.json
{
  "name": "notes",
  "columns": [
    {"name": "title", "type": "text", "nullable": false},
    {"name": "done", "type": "boolean", "nullable": false}
  ]
}
row.json
{"values": {"title": "整理客户需求", "done": false}}
query.json
{
  "columns": ["_id", "title", "done"],
  "filters": [{"column": "done", "op": "eq", "value": false}],
  "order_by": [{"column": "title", "direction": "asc"}],
  "limit": 100,
  "offset": 0
}
CREATE / INSERT / QUERY
./bin/agent-sheet --url https://sheet.sparse-agent.com table create --file schema.json
./bin/agent-sheet --url https://sheet.sparse-agent.com row add --table notes --file row.json
./bin/agent-sheet --url https://sheet.sparse-agent.com query --table notes --file query.json

加行成功后会返回稳定 _id。后续更新同一行时使用这个 ID。

02 CLI 命令

以下用 agent-sheet 表示已安装到 PATH 的可执行文件;本地构建时可用 ./bin/agent-sheet。全局参数 --url、--auth-dir 必须放在子命令前。下文所有命令都使用你登录时的同一个服务地址:

CLI REFERENCE
agent-sheet --url https://sheet.sparse-agent.com auth finish --wait 10m
agent-sheet --url https://sheet.sparse-agent.com auth status
agent-sheet --url https://sheet.sparse-agent.com table list
agent-sheet --url https://sheet.sparse-agent.com row update --table notes --id ROW_ID --file row.json
agent-sheet --url https://sheet.sparse-agent.com import export.csv --table customers
agent-sheet --url https://sheet.sparse-agent.com import workbook.xlsx --all-sheets --table migration
agent-sheet --url https://sheet.sparse-agent.com auth logout
agent-sheet --help
agent-sheet --skill

将 ROW_ID 替换为服务端返回的 _id,并修改 row.json 中需要更新的值。--file - 可读取 stdin。标准输出为 JSON,错误 JSON 写入 stderr;帮助与手册可离线查看。

设备凭据默认 24 小时到期,到期后重新登录。auth logout 撤销当前设备凭据。授权中断时使用 auth finish,无需反复申请新短码。

03 HTTP API

API 根地址是 https://sheet.sparse-agent.com。表格端点使用设备授权签发的工作空间 Bearer 凭据。凭据应由私有存储注入 Authorization 请求头;不要放在 URL、命令行参数、聊天记录或日志里。

方法路径操作
POST/api/v1/tables建表;正文为 schema.json
GET/api/v1/tables列出工作空间内的表
POST/api/v1/tables/{table}/rows加行;正文为 row.json
PATCH/api/v1/tables/{table}/rows/{id}按稳定 ID 改行
POST/api/v1/tables/{table}/query结构化查询;正文为 query.json
POST/api/v1/importsmultipart:file 文件与 options JSON;导入 CSV / XLSX

表格 API 错误结构为 {"error":{"code":"…","message":"…"}}。常见状态:400 输入错误、401 凭据失效、403 无权限、404 表或行不存在、409 冲突、429 写队列已满、503 暂不可用。

写入不会自动重试。

网络断开时,写入可能已经提交。先查询确认结果,再决定是否重试,避免重复加行。

04 MCP 接入

本地 stdio

先用 CLI 完成设备登录,再让 MCP 客户端启动同一个 CLI。凭据从 CLI 的私密存储读取,不要把 token 放入启动参数。

MCP CLIENT CONFIG
{
  "mcpServers": {
    "agent-sheet": {
      "command": "/absolute/path/to/agent-sheet",
      "args": ["--url", "https://sheet.sparse-agent.com", "mcp", "--transport", "stdio"]
    }
  }
}

将 command 改为 CLI 的实际绝对路径。若登录时设置了 --auth-dir,在 mcp 之前添加相同参数。具体配置文件位置由你的 MCP 客户端决定。

Streamable HTTP

端点为 https://sheet.sparse-agent.com/mcp。支持自定义 Bearer 凭据的 MCP 客户端可连接;用安全凭据存储注入授权头。当前没有 MCP 专用自动 OAuth 注册流程。

create_table
参数 name、columns。创建一张有明确字段类型的表。
insert_row
参数 table、values。写入一行,返回稳定 ID。
update_row
参数 table、id、values。更新指定行。
query_rows
参数 table、columns、filters、order_by、limit、offset。
import
CSV / XLSX 原子导入。参数 filename,content_base64 或公共 HTTPS url 二选一;支持 table、sheet、all_sheets、header、append、column_mapping。失败整批回滚,默认最多 8 MiB / 10,000 行。
query_rows / TOOL ARGUMENTS
{
  "table": "notes",
  "columns": ["_id", "title", "done"],
  "filters": [{"column": "done", "op": "eq", "value": false}],
  "limit": 100,
  "offset": 0
}

05 字段与查询

类型JSON 值说明
text字符串普通文本
integer整数64 位有符号整数
number有限数值双精度小数,非财务定点类型
booleantrue / false布尔值
datetimeRFC 3339 字符串带时区,保存为 UTC

表名与字段名:小写字母开头,其后为小写字母、数字或下划线,最多 63 个字符。_id 为系统保留字段。

过滤条件按 AND 组合,支持 eq / ne / gt / gte / lt / lte / is_null / is_not_null。每页默认 100 行,最多 1000 行;用 limit 与 offset 分页。分页期间有写入时,后续页可能变化。

06 权限与安全

一个 Agent 工作空间对应一个租户。一个账号可以拥有多个工作空间,一份设备凭据只授权其中一个。表格请求和 MCP 工具均不接收租户覆盖参数或任意 SQL。

Chat 只提供个人身份登录。Agent 获得的是 Agent Sheet 表格凭据,不包含 Chat API 权限。服务端仅保存凭据哈希;CLI 使用私密文件存储。你可以在工作空间页面撤销自己的设备授权。

网页退出只结束当前 Agent Sheet 网页会话;不会退出 Chat,也不会自动撤销设备凭据。需要停止某台设备访问时,请单独撤销它。

07 常见问题

短码过期或已使用怎么办?

重新运行 auth login 获取新短码。授权只签发一次;如 CLI 未能保存已签发凭据,先在工作空间页撤销该设备,再重新登录。

为什么登录到了另一个服务地址?

CLI 的 --url 必须与正在使用的网站一致。每个服务地址的登录状态独立保存;本地 127.0.0.1 与 localhost 不可互换。

为什么设备授权没有成功?

核对短码、登录账号和工作空间。仅批准你主动发起的请求。网页长时间停留后会话可能到期,重新登录后再批准;CLI 会按服务器要求退避轮询。