电子表格
员工用自然语言查询表格数据、写入统计结果,不用打开飞书手动翻表格。
背景与现状
| 维度 | 现状 |
|---|---|
| 使用场景 | 考勤统计、销售数据、预算表、项目排期等存放在飞书电子表格中 |
| 当前痛点 | 查数据要打开表格手动找,跨表格汇总全靠人肉 |
| 清海角色 | 帮员工"问表格"和"写表格",用自然语言读写飞书电子表格 |
场景概览
场景一:数据查询
核心价值:用自然语言问表格里的数据,不用打开飞书翻找。
典型对话
| 用户说 | 清海做 |
|---|---|
| "这个月销售额是多少" | 读取销售表格对应月份数据,直接回答 |
| "帮我看一下 XX 表格里张三的考勤记录" | 定位工作表 + 按姓名筛选,返回匹配行 |
| "上季度各部门预算执行率是多少" | 读取预算表,计算执行率,结构化展示 |
| "这个表格有多少行数据" | 读取表格元信息,返回行数 |
数据流转
场景二:数据写入
核心价值:口述数据,清海自动填表。
典型对话
| 用户说 | 清海做 |
|---|---|
| "在考勤表里给我加一行,今天请假半天" | 追加一行数据到考勤表 |
| "把这个统计结果写到 XX 表格的 A 列" | 写入指定范围 |
| "帮我在 XX 表格新建一个工作表,叫"三月汇总"" | 创建新工作表 |
数据流转
权限规则
| 角色 | 可访问范围 |
|---|---|
| 老板 | 所有电子表格 |
| HR | 全公司人事相关表格(考勤、薪酬等) |
| 部门负责人 | 公司公开表格 + 本部门表格 |
| 普通员工 | 本人有权限的表格 |
越权处理: 同文档场景,返回引导提示,不透露内容。
边界与约束
| 约束 | 处理方式 |
|---|---|
| 表格数据量大(>1000 行) | 分页读取,回复关键摘要,附表格链接 |
| 写入前确认 | 写入操作必须告知用户将写入的内容和位置,确认后执行 |
| 公式单元格 | 只读取公式结果值,不修改公式 |
| 合并单元格 | 按实际范围读取,不拆分 |
| Bot 无表格权限 | 「我没有这个表格的访问权限,需要管理员配置」 |
所需飞书 API 权限
| API | 用途 | 权限 scope |
|---|---|---|
GET /sheets/v2/spreadsheets/{token}/values/{range} | 读取单元格数据 | sheets:spreadsheet:readonly |
PUT /sheets/v2/spreadsheets/{token}/values | 写入单元格数据 | sheets:spreadsheet |
POST /sheets/v2/spreadsheets/{token}/values_append | 追加行数据 | sheets:spreadsheet |
GET /sheets/v3/spreadsheets/{token}/sheets/{sheet_id} | 获取工作表信息 | sheets:spreadsheet:readonly |
POST /sheets/v3/spreadsheets/{token}/sheets | 创建工作表 | sheets:spreadsheet |
PATCH /sheets/v3/spreadsheets/{token} | 修改表格属性 | sheets:spreadsheet |
实现路线
| # | 事项 | 状态 |
|---|---|---|
| 1 | 飞书电子表格 API 封装(读/写/追加) | 🔲 待开发 |
| 2 | read_sheet Tool(读取指定范围数据) | 🔲 待开发 |
| 3 | write_sheet Tool(写入/追加数据) | 🔲 待开发 |
| 4 | get_sheet_info Tool(获取表格元信息) | 🔲 待开发 |
| 5 | feishu_sheet SKILL.md | 🔲 待开发 |