V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
w775495797
V2EX  ›  程序员

做了个 Excel Agent 的 exe 程序

  •  
  •   w775495797 · 2 天前 · 1756 次点击

    背景

    半年前,我司有一个巨大无比的,100 字段+ 70 万行数据的 excel ,给总部的业务部门同事使用
    恰逢我所在的组有时间,严格来说就是我有时间
    先开发了相关的 MCP Server
    后发现 总不能让同事们使用 Cherry studio 来进行问答吧
    单独使用 dify 又感觉对 agent 支持的不是很好

    于是乎就开始开发了 MCP client


    先是对接 openai 的 sdk ,毕竟通用一些,各个厂商都兼容
    然后定前后端的交互标准,决定 websocket
    然后做着做着,我发现,我不止需要一个 Agent ,我还得多个 Agent 配合
    最后愣是从一个需求,变成手搓 Agent 框架 也考虑过 LangChain 或者 LangGraph 、AutoGen 等等很多框架 但是都不是很自由,因为我司用 LangChain 搭建的知识库问答系统,所以决定自己手搓吧

    然后在业务上 将 excel 转到 sqlite ,再用 llm 进行 text2sql

    项目算是上线了,这算是背景 当然啊,其实我从一开始就不打算弄 excel ,我做的是从 mysql 数据库同步数据库到我的 sqlite 子库
    毕竟主库不能随意修改,我这个子库只读的,分析的话就足够了,不然哪天不长眼的同事来一句,把数据都删了,麻烦就大了

    Excel 后续

    这个事情完毕后呢,我偶尔抬抬头
    发现,其实业务部门不止有这一个业务
    几乎财务、库管、综合部、销售部等等,人人都在对着 Excel 办公
    我心想的是,不如玩大一点
    做一个通用点的东西

    所以我抛弃了 MCP,不考虑一切增加用户麻烦的操作
    最终直接做出来一个 EXE 程序,牛马不难为牛马
    https://github.com/QingHeYang/KELA-Agents

    技术栈大概就是,python+vue+electron

    项目原理:

    1. excel 扔进来,理解表头,分析列数据
    2. 二维化,根据表头制作 sql table
    3. 导入全部数据进入数据库
    4. 自然语言问答

    相当于把一个 OR 多个 Excel 给做成了一个业务系统的数据库

    这个项目擅长的操作有:

    • 聚合分析,毕竟相当于 excel 导入成了数据库,自然语言
    • 擅长大量的数据,但是导入的时候要消耗内存,40w+数据,实测导入的时候 2GB 内存,导入后就不需要了
    • 把查询的数据转出 Excel ,让 llm 制作 excel ,筛选的 excel 都能导出,我做了相关的工具
    • 使用 Echarts 做图表,8 种吧,也算是工具
    • 数据溯源,llm 查询的数据,多于 15 行的,可以点击查看
    • 生成的东西保存历史,反正我描述不太清,一堆乱七八糟的功能

    截图在这里: https://github.com/QingHeYang/KELA-Agents/blob/main/docs/zh/screenshots.md

    不擅长的操作有
    他不是操作 excel ,各位大佬们应该懂这个,所以:

    • 调整不了格式
    • 无法新增数据,你让 llm 新增则另说
    • 什么样式什么的都无法调整
    • 预设的什么公式基本算是没有
    • 大致意思就是,office 擅长的,他都不擅长

    所以算是一个偏科生吧,擅长应付特别大的数据
    毕竟现有的很多 agent 都是使用 pandas 操作 excel ,数据量一大,上下文撑不住

    哦对了,一个大优势:
    使用用户自己的 api key 操作,也就是说,按需使用吧
    数据留存在本地,除了 llm 查看的那部分,他只能查看少量样本数据
    鄙人不会收集任何用户隐私与 excel 的表格、问答业务数据,对我没啥用, 我就想要 github 的 star ,到时候万一被裁了,也好找下家说,我做了什么东西,哈哈哈


    感兴趣的朋友可以看一看,不感兴趣的就当看了篇无聊的文章了

    下载在 release 里面: https://github.com/QingHeYang/KELA-Agents/releases/tag/v1.0.0
    安装不需要配置什么环境变量,不需要安装什么复杂的框架
    就是安装包,我想给绿色包来着,但是死活上传不上去,也不知道为什么
    存储桶的话,我掏不起那个 CDN 的钱,有什么便宜点的分发平台么?


    当然,我肯定用了大量的 ai 编程,我自己一个人又不是神仙,哈哈哈哈

    23 条回复    2025-11-28 22:52:36 +08:00
    persistpot
        1
    persistpot  
       2 天前
    star 一下看看
    zhcnxyz
        2
    zhcnxyz  
       2 天前
    先谢!加星下载用用
    RotkPPP
        3
    RotkPPP  
       2 天前
    写这个花了多久
    kevan
        4
    kevan  
       2 天前
    试试看
    canteon
        5
    canteon  
       2 天前
    我先收藏了,我最近一直在找一个类似的东西,因为我的那个广告投放也想做个类似的,把用户最近广告投放区域数据总结,然后问 ai ,然后给客户提示哪里应该关注。一直在总结数据,自己总结的还是差点意思。

    再给你个建议可以把 ollama 集成一下,这下用户所有的数据都在本地。ai 模型也在本地了。
    kevan
        6
    kevan  
       2 天前
    随便一个 CSV 就报错:
    上传失败: Cannot detect file format
    w775495797
        7
    w775495797  
    OP
       2 天前
    @kevan 啊,不好意思啊,csv 我没支持,本来 csv 要比 excel 简单的,后来我就主攻 excel 了,你可以转成 excel 一下试试看哈
    w775495797
        8
    w775495797  
    OP
       2 天前
    @canteon 支持 ollama 的
    w775495797
        9
    w775495797  
    OP
       2 天前
    @RotkPPP 智能体框架大概是我从 4 月开始做的,7 月完事的,后来 excel 的需求的话,差不多应该是 1 个月,断断续续的吧,3 个月左右吧
    yangg
        10
    yangg  
       2 天前
    不开源啊,想学学来着
    w775495797
        11
    w775495797  
    OP
       2 天前
    @yangg 开源 并且免费,就是现在项目还不稳定,这次发版其实就是类似内测一样,也在收集反馈和 bug ,等稳定一下就会开源
    yangg
        12
    yangg  
       2 天前
    @w775495797 好的,谢谢,等开源了看看
    Zakl21
        13
    Zakl21  
       2 天前
    做了一段时间类似的项目,其实核心难度挑战是在做上下文工程和核心意图处理,这个是最难的。
    Zakl21
        14
    Zakl21  
       2 天前
    楼主有兴趣的话可以留联系方式一起沟通下,互相借鉴一些好方案
    snailya
        15
    snailya  
       2 天前
    .NET 平台的可以试试 Microsoft Agent Framework ,微软的框架还是非常友好的。
    canteon
        16
    canteon  
       2 天前
    @Zakl21 我也好奇是怎么做的
    whoosy
        17
    whoosy  
       2 天前
    我也做了一个类似的,但是是网页形式的
    Zakl21
        18
    Zakl21  
       2 天前
    @canteon 其实这类工具本质就是 while true:call llm , exec tools ,然后自己定义 相关协议,来进行业务渲染 or 做更多的事情
    flyme2them00n
        19
    flyme2them00n  
       2 天前
    已 star ,期待更新
    Eathein
        20
    Eathein  
       2 天前
    4 个月做出来,有模有样,OP 有东西的
    NewMoorj
        21
    NewMoorj  
       2 天前
    这个花点时间在传统行业或者电商行业推广的话,可以实现财务自由了,因为直接解决很多问题。
    pmpmp
        22
    pmpmp  
       2 天前
    已 star ,有点 chatexcel 那味儿了
    xueyiren80
        23
    xueyiren80  
       1 天前 via Android
    我有个较大的表,能否实现不确定的部分关键字重合的记录排序在一起,并对部分字段为 0 的记录打标呢?最近正头痛这个。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2714 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:15 · PVG 20:15 · LAX 04:15 · JFK 07:15
    ♥ Do have faith in what you're doing.