🌐 English | 中文
🪶 飞书文档 AI 助手
用一句话操作飞书文档 / 多维表格 / 电子表格的 Chrome 侧边栏 AI 助手
Feishu Document AI Assistant — operate Docs / Base / Sheet in natural language, from a side panel.
用自然语言经 AI 直接操作**飞书多维表格(Base) / 电子表格(Sheet) / 文档(Docs)**—— 建表、填数、写公式、生成文档、按评论改稿、跨表查找、去重、审计,一句话搞定。
- 🤖 AI:OpenAI 兼容接口,默认中国大模型( DeepSeek ),模型 / Key / Base URL 运行时可配。
- 🧩 形态:侧边栏 + 注入飞书页的内容脚本 + 后台 Service Worker 。运行时依赖仅 React + openai SDK ,无后端。
- 🔒 安全优先:助手始终以用户本人身份操作、绝不越权;所有权限边界硬编码在代码里(提示词不作安全边界)。
🎬 演示
▶️ YouTube 观看 · 打不开 YouTube ?下载本地演示 mp4
📚 完整文档 →
docs/PROJECT.md(架构 / 功能 / 安全 / 部署 / 配置一站式) · 部署指南(企业/个人/私有化快速上手)docs/DEPLOYMENT.md· 使用手册(含截图)docs/USER_GUIDE.md· 模块细节ARCHITECTURE.md· 安全审计SECURITY_AUDIT.md· 企业 MDM 强制安装docs/enterprise/DEPLOY.md
🚀 个人快速上手( 5 步)
完整版(每个权限的说明、加密模式、排错)见
docs/QUICKSTART.md。
- 配飞书应用(open.feishu.cn → 创建企业自建应用):记下 App ID / Secret ;「权限管理」开通
offline_access(必须)+ 按需bitable:appdocx:documentsheets:spreadsheetdrive:drivewiki:wikicontact:user.base:readonly(都勾「用户身份」);「重定向 URL 」加https://jhdbgegkmhcopcilclkpioilclemkeog.chromiumapp.org/;把自己加进「可用范围」并发布。 - 填配置:
cp .env.example .env.local→ 填VITE_FEISHU_APP_ID+VITE_FEISHU_APP_SECRET(或node scripts/encrypt-secret.mjs出密文填VITE_FEISHU_APP_SECRET_ENC、明文留空)。 - 一键打包:
npm install && npm run pack(产出dist/与feishu-doc-ai-assistant.zip)。 - 加载:
chrome://extensions→ 开发者模式 → 「加载已解压」→ 选dist/。 - 用:打开飞书 多维表格/文档 → 侧边栏 → 设置里「飞书授权」+ 填大模型 Key →(加密模式先输解锁密码)→ 一句话开干。
功能
- AI 对话操作:~50 个工具覆盖多维表格(建/改表、字段、视图、记录增改删、结构化搜索)、 电子表格(读写区间、填列、查找替换、行列增删)、文档(Markdown 转文档、插入各类内容块、按评论改稿)。
- 复合能力:去重 / 跨表查找 / 条件批量更新 / 表→表汇总 / 审计(带原子性与部分失败上报)。
- 通用 API:覆盖不到的需求按官方文档自造请求——默认拒绝白名单严格限制。
- 场景模板:内置 CRM / 电商 / 项目管理,可配远程模板库,一键建库(表结构 + 示例数据 + 仪表盘)。
- 越用越聪明:每次成功后把「下次怎么做最稳」用模型提炼成一条经验存在本机(最多 300 条、只存做法不存数据), 下次相似任务自动参考、少走弯路;重复任务只累计次数不重复消耗,可关闭/清空。
- Auto 模式:自动确认文档内的内容删除(文件级删除始终硬拦);语音输入 🎤(公网构建,zh-CN )。
- 网页剪藏 📎:在任意网页右键 / 快捷键,把选中内容或整页表格 AI 整理后写入飞书多维表格 / 电子表格 / 文档;也可拖入 CSV 文件导入。
仅在你手势触发时读取当前页 DOM (
activeTab,本地、无新增出站、无需放开 host_permissions );发送前先预览。 - AI 小程序 🧩:一句话把当前表做成飞书页面上的悬浮窗小程序(可拖拽/四角缩放)——
图表看板(ECharts) / 计算器·交互工具 / 可打印报表(window.print) / 汇报幻灯片 / 卡片墙·时间线等自定义视图。
生成代码与数据分离——保存后下次用最新数据一键打开、零 LLM ;一页可挂多个独立小程序(各自浮标);
代码跑在 MV3 沙箱( null 源、
connect-src 'none')里只读渲染,拿了数据也发不出去。详见ARCHITECTURE.md。 - AI 建站 🌐:一句话(可附参考站点 URL 作风格提示)把当前表做成一个完整的网站页面(导航 / 英雄区 / 指标卡 / 明细表), 渲染成页面浮窗。沙箱里预置了一套设计系统——即使描述很简略也能生成好看、统一、符合插件风格的页面; 离线自包含(系统字体、无外链/CDN )、数据绑定(重开拉最新数据)、可先出方案确认、可用语言微调、可保存。
- AI 智能填充 🪄:在多维表格 / 电子表格里选一列,AI 参考同行其它列(和你已填好的示例)推断该列空缺的值—— 自动分类 / 打标签 / 归类 / 补全。预览每一处再写回;单选/多选只会落到已有选项(绝不新建),数字/日期解析失败即跳过; 仅更新、以用户身份、只动当前表(默认只填空白格);写入数按飞书实际确认计数,不会虚报。
- 数据分析报告 📈:读当前多维表格 / 电子表格的数据,本地先算统计摘要,AI 写一篇带真实数字的分析报告 (摘要 / 关键发现 / 趋势异常 / 建议),生成飞书文档并在文末附上源数据表。飞书有「引用」但没有 AI 数据叙事——这是结合表格 + 文档写入的闭环。
- 文档体检 🩺:通读当前文档,AI 找出逻辑断点 / 未定义术语 / 前后矛盾 / 遗留 TODO / 过期数据 / 空小节,
给出按严重度排序、可定位的问题清单(只读、不改文档)。文档版的
auditTable,飞书无系统化审稿。 检查项可直接点开编辑、本机持久化——你定义体检什么。 - 文档总结 📝:通读当前文档,按你的要求生成总结(摘要 / 要点 / 待办…),可复制。 总结要求( prompt )可直接编辑、本机持久化——飞书原生 AI 速览是固定的,这里你说了算。
- 三种部署:个人 / 企业 SaaS / 私有化( on-prem ),全部构建时配置切换。
快速开始(开发)
npm install
cp .env.example .env.local # 按需填写(见下方「配置」),可全空先跑通
npm run build # 产物 dist/
# chrome://extensions → 开发者模式 → 「加载已解压的扩展程序」→ 选 dist/
开发与质量:
npm run dev:ext # 扩展热更新(加载到 Chrome )
npm run dev:ui # 纯 UI 预览( mock chrome ,不连飞书)
npm run typecheck && npm run test
企业内部分发(不上架商店、不用开发者模式)见
docs/enterprise/DEPLOY.md: 用项目脚本打.crx+ Chrome 策略强制安装(含现成 macOS.mobileconfig)。
配置(全部可选,见 .env.example)
运行时(侧边栏 → 设置):大模型供应商 / Base URL / API Key / 模型;飞书账号授权;强调色; 模板库地址;「越用越聪明」开关。
构建时(.env.local,决定部署形态):
VITE_FEISHU_APP_ID
飞书 App ID
VITE_FEISHU_APP_SECRET
明文 secret (个人·明文,会进包)
VITE_FEISHU_APP_SECRET_ENC
密码加密的 secret (个人·加密,scripts/encrypt-secret.mjs 生成)
VITE_OAUTH_PROXY_URL
OAuth 代理地址(企业/私有化,secret 不进包,见 docs/oauth-proxy-worker.js)
VITE_FEISHU_BASE_DOMAIN
飞书基础域名后缀,默认 feishu.cn;私有化填内网域名(派生 open.<域名> 等)
VITE_OPENAI_ALLOWED_HOSTS
大模型 host 白名单(设了则 CSP 也锁死 → 纯内网)
VITE_ALLOWED_CIDRS
设备内网 CIDR 门
VITE_MAX_TOOL_CALLS
单轮工具调用上限(默认 30 )
VITE_CLIP_ENABLED
网页剪藏开关(默认开;设 false 不带剪藏功能)
安全设计(要点)
助手以用户本人 user_access_token 操作,权限边界全部代码强制:
- 身份不超用户:用户读不了的文档 AI 也读不了;不回退应用(tenant)身份。
- 禁文件级删除:绝不删整表/电子表格/文档/云文件;内容级删除需按钮确认。
- 防注入:通用 API 默认拒绝白名单 + 硬阻断消息/通讯录/权限/所有权。
- 凭据保护:storage 内 AES-256-GCM ; App Secret 支持明文 / 密码加密 / 代理三档。
- 出站锁定:只访问飞书 + 大模型两类端点(代码层白名单 + CSP 双重,私有化可纯内网)。
逐条见 SECURITY_AUDIT.md。
想给自己的组织打包?( fork / 自建)
本仓库 manifest.json 的 key 与 extension-key.pem(已 gitignore )固定了作者的扩展 ID 。
自建分发时请生成你自己的签名密钥并替换:
# 1) 生成你自己的私钥
openssl genrsa 2048 > my-extension-key.pem
# 2) 取它的公钥(base64 DER) 替换 manifest.json 的 "key" 字段
openssl rsa -in my-extension-key.pem -pubout -outform DER | openssl base64 -A
# 3) 用你的私钥打 .crx (见 docs/enterprise/DEPLOY.md )
这样你拥有独立的扩展 ID 与签名权,能自行平滑更新。切勿提交任何 *.pem / .env.local /
解锁密码到仓库(已在 .gitignore)。
文档导航
文档 内容docs/QUICKSTART.md
个人快速部署:配飞书应用权限 → 填配置 → npm run pack 一键打包 → 加载使用( 5 步)
docs/STORE_PUBLISHING.md
上架 Chrome 商店:零凭据公开版构建 + 用户自带应用首配 + 上架清单 + 审核风险规避
PRIVACY.md
隐私政策(中英):上架必填的隐私权 URL ,可直接托管使用
docs/DEPLOYMENT.md
部署指南:企业 / 个人 / 私有化快速上手(选路 + 命令 + 变量速查)
docs/PRIVATE_DEPLOYMENT.md
私有化专用:内网/私有化飞书完整方案(出站锁定 / 代理 / 版本回退 / 验证清单)
docs/USER_GUIDE.md
使用手册:全功能图文说明(含截图)
docs/FAQ.md
常见问题:鉴权/导出/升级/私有化 排错
CLAUDE.md · docs/DEVELOPMENT.md
开发手册:面向 agent 的快速迭代(循环 / 仓库地图 / 硬约束 / 地雷区)
docs/PROJECT.md
一站式:架构 / 功能 / 安全 / 部署 / 配置
ARCHITECTURE.md
深水区:模块结构、工具清单、字段类型、API 实测坑、模板引擎内部
SECURITY_AUDIT.md
安全设计逐条审计 + 攻击场景 + 修复(含 App Secret/OAuth 图解)
docs/enterprise/DEPLOY.md
企业内部分发(.crx + Chrome 策略强制安装,含 macOS .mobileconfig)
docs/oauth-proxy/ · docs/oauth-proxy-server.mjs
OAuth 代理:自托管 Node ( Docker/nginx )+ Cloudflare 版,secret 不进包
.env.example
全部构建时配置项
CHANGELOG.md
版本更新日志
贡献
欢迎 Issue / PR 。提交前请跑通:
npm run typecheck && npm run test && npm run build
改动若涉及安全卡点(
isFileLevelDelete/assertApiCallAllowed/resolveToken/assertSafeBaseUrl等),请同步更新SECURITY_AUDIT.md与对应单测。 切勿提交任何密钥 / 密码 / 私钥(.gitignore已覆盖*.pem/*password*.txt/.env.*等)。
⚠️ 免责声明
本工具通过大模型对你的飞书数据执行真实操作(建表、写入、删除内容等)。虽然内置了
「文件级删除一律拒绝」「内容删除需确认」「以用户本人权限操作」等多重护栏,仍建议在重要数据上
谨慎使用、必要时先备份。开启「 Auto 模式」会跳过内容删除的逐次确认,请知悉风险。
作者不对因使用本工具造成的数据损失负责(详见 LICENSE)。
许可证
Elastic License 2.0 © 2026 scott987-cmd — 源代码可见(非 OSI 严格意义的"开源";与 Elasticsearch 同款协议)。
一句话(以 LICENSE 原文为准):个人 / 企业均可免费使用、复制、修改、分发、自行部署(含公司内部商用);
唯独禁止「把它作为托管 / SaaS 服务提供给第三方」,且不得绕过授权功能、不得去除版权/许可标识。
商业授权
需要「作为托管 / SaaS 服务对外提供」等受限用途授权?
请在本仓库 GitHub Issues 开一个标注 commercial 的 issue(说明用途与规模)联系作者 scott987-cmd 洽谈。
🍴 Fork / 二次分发:必须替换
manifest.json的key(换成你自己的扩展 ID/签名私钥)并改掉文档中的扩展 ID / 重定向 /ALLOW_ORIGIN占位,详见docs/DEPLOYMENT.md§5。
