写了一个 Chrome 插件《飞书文档 AI 助手》,欢迎大家试用

scott123 2026-06-09 16:26 1

🌐 English | 中文


🪶 飞书文档 AI 助手


用一句话操作飞书文档 / 多维表格 / 电子表格的 Chrome 侧边栏 AI 助手


Feishu Document AI Assistant — operate Docs / Base / Sheet in natural language, from a side panel.


License: Elastic License 2.0
Chrome MV3
TypeScript
React 18
Vite
Tests
No backend



用自然语言经 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




  1. 配飞书应用(open.feishu.cn → 创建企业自建应用):记下 App ID / Secret ;「权限管理」开通 offline_access(必须)+ 按需 bitable:app docx:document sheets:spreadsheet drive:drive wiki:wiki contact:user.base:readonly都勾「用户身份」);「重定向 URL 」加 https://jhdbgegkmhcopcilclkpioilclemkeog.chromiumapp.org/;把自己加进「可用范围」并发布

  2. 填配置cp .env.example .env.local → 填 VITE_FEISHU_APP_ID + VITE_FEISHU_APP_SECRET(或 node scripts/encrypt-secret.mjs 出密文填 VITE_FEISHU_APP_SECRET_ENC、明文留空)。

  3. 一键打包npm install && npm run pack(产出 dist/feishu-doc-ai-assistant.zip)。

  4. 加载chrome://extensions → 开发者模式 → 「加载已解压」→ 选 dist/

  5. :打开飞书 多维表格/文档 → 侧边栏 → 设置里「飞书授权」+ 填大模型 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.jsonkeyextension-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.jsonkey(换成你自己的扩展 ID/签名私钥)并改掉文档中的扩展 ID / 重定向 / ALLOW_ORIGIN 占位,详见 docs/DEPLOYMENT.md §5。


最新回复 (0)
    没有回复
* 帖子来源V2EX
返回