多维表格
用自然语言管理飞书多维表格中的项目任务、客户信息、数据记录,不用打开多维表格手动操作。
背景与现状
| 维度 | 现状 |
|---|---|
| 使用场景 | 项目管理、OKR 追踪、客户 CRM、招聘流程、需求池等存放在飞书多维表格中 |
| 当前痛点 | 查进度要打开多维表格翻看,新建记录要手动填字段,跨表汇总困难 |
| 清海角色 | 帮员工"问表"和"填表",用自然语言对多维表格做 CRUD 操作 |
场景概览
场景一:查询记录
核心价值:口头问进度,不用翻多维表格。
典型对话
| 用户说 | 清海做 |
|---|---|
| "XX 项目现在什么进度" | 在项目管理表中按项目名筛选,返回状态、负责人、截止日期 |
| "我负责的任务还有哪些没完成" | 按负责人 + 状态筛选,列出待办任务 |
| "这周新增了几个客户" | 在客户表中按创建时间筛选,返回统计 |
| "帮我看一下需求池里优先级为 P0 的需求" | 按优先级字段筛选,列出匹配记录 |
数据流转
场景二:新建记录
核心价值:口述内容,清海自动在多维表格中新建一条记录。
典型对话
| 用户说 | 清海做 |
|---|---|
| "在需求池里加一条,标题'支持批量导出',优先级 P1" | 新建记录,填入字段值 |
| "帮我记一个新客户,名字叫 XX 公司" | 在客户表新建一条记录 |
| "在 OKR 表里给我加一个 KR" | 新建一行,按字段映射填入 |
场景三:更新记录
核心价值:口头改状态,不用打开多维表格手动改。
典型对话
| 用户说 | 清海做 |
|---|---|
| "把 XX 任务标记为已完成" | 更新状态字段为"已完成" |
| "XX 需求的优先级改成 P0" | 更新优先级字段 |
| "把 XX 客户的跟进状态改为'已签约'" | 更新对应字段 |
权限规则
| 角色 | 可访问范围 |
|---|---|
| 老板 | 所有多维表格 |
| 部门负责人 | 公司公开表格 + 本部门表格 |
| 普通员工 | 本人有权限的表格 |
越权处理: 同文档场景,返回引导提示。
边界与约束
| 约束 | 处理方式 |
|---|---|
| 记录数量大(>500 条) | 必须提供筛选条件,不全量返回 |
| 写入/更新前确认 | 告知用户将操作的内容和位置,确认后执行 |
| 字段类型限制 | 附件、公式字段只读;人员字段需要 open_id 映射 |
| 关联字段 | 支持读取关联值,不支持通过对话创建关联 |
| Bot 无表格权限 | 「我没有这个多维表格的访问权限,需要管理员配置」 |
所需飞书 API 权限
| API | 用途 | 权限 scope |
|---|---|---|
GET /bitable/v1/apps/{app_token}/tables/{table_id}/records | 查询记录 | bitable:app:readonly |
POST /bitable/v1/apps/{app_token}/tables/{table_id}/records | 新建记录 | bitable:app |
PUT /bitable/v1/apps/{app_token}/tables/{table_id}/records/{record_id} | 更新记录 | bitable:app |
GET /bitable/v1/apps/{app_token}/tables | 获取数据表列表 | bitable:app:readonly |
GET /bitable/v1/apps/{app_token}/tables/{table_id}/fields | 获取字段列表 | bitable:app:readonly |
实现路线
| # | 事项 | 状态 |
|---|---|---|
| 1 | 飞书多维表格 API 封装(查/增/改) | 🔲 待开发 |
| 2 | query_bitable Tool(按条件查询记录) | 🔲 待开发 |
| 3 | create_bitable_record Tool(新建记录) | 🔲 待开发 |
| 4 | update_bitable_record Tool(更新字段值) | 🔲 待开发 |
| 5 | get_bitable_meta Tool(获取表格/字段元信息) | 🔲 待开发 |
| 6 | feishu_bitable SKILL.md | 🔲 待开发 |