{"repo":"yockii/dify_tools","free":true,"listed":false,"github":"https://github.com/yockii/dify_tools","clone":"git clone https://github.com/yockii/dify_tools.git","description":"基于DIFY的扩展系统，可供三方应用调用。增强dify提供动态知识库检索、数据库数据查询、生成PPT等能力","language":"Go","stars":22,"topics":["database-query","dify","dify-services","knowledge-base","llm","pptx"],"license":"MIT","category":"productivity","readme_excerpt":"Dify Tools DIFY 工具集，提供：数据查询、文档处理及应用管理的能力。 由于dify本身的局限性，在我的实际应用场景中，希望能给一些应用赋予AI能力的时候，会遇到： - 应用本身的数据查询整合 - 应用的公共知识库构建 - 应用的用户私人知识库 - 使用AI能力时，不可能为每个应用每个人去开发一套dify流程（因为dify目前的知识库在流程中直接引用对应的知识库） 本工具通过外部工具的方式解决以上问题，可以让第三方应用通过本系统接入dify，获得AI的能力 功能特性 - 数据源管理 支持MySQL和PostgreSQL 数据库连接管理 表结构同步 SQL查询执行 - 知识库管理 应用知识库 应用用户私人知识库 dify调用 - 应用管理 三方应用快速接入 三方应用接口 - 智能体管理（即工作台里的东东） 智能体管理 应用与智能体关联 - 权限管理 基于角色的访问控制 表级别白名单 列级别数据脱敏 权限继承关系 - 应用内AI Chat接口 历史会话及消息 聊天 生成PPT 给应用的接口 1. 新增文档到知识库 2. 查询知识库文档状态（是否已经处理） 3. 删除知识库文档 3. 用户问答聊天及回复（流式） 4. 查询token使用量 TODO List - [x] 系统内部接口 - [x] 系统管理 - [x] 认证：登录、注册 - [x] 用户：当前用户信息、增删改查、更新密码、更新状态 - [x] 角色 - [x] 日志：查询 - [x] 字典 - [x] 应用管理 - [x] 应用基础信息 - [x] 应用数据源：增删改查、同步结构 - [x] 表及字段管理 - [x] 应用AI赋能：配置应用与Agent链接关系 - [x] 知识库管理 - [x] 上传文档，自动在dify中建立对应知识库并传入文档 - [x] 列表查询 - [x] 删除文档，从dify知识库删除对应文档 - [x] AI Agent管理 - [x] 管理dify中创建的Agent信息（主要是密钥） - [x] 聊天 - [x] 聊天会话列表：从dify中获取对应的聊天会话 - [x] 聊天请求：SSE模式(Streaming)返回 - [x] PPT生成 - [x] 智能体管理 - [x] 添加dify智能体（管理） - [x] 关联到应用 - [x] DIFY调用接口 - [x] 获取应用相关数据库列表 - [x] 获取数据库表结构信息 - [x] 执行SQL语句 - [x] 外部知识库模式：通过外部知识库动态调用dify内创建的知识库 - [x] 提供给三方应用接口 - [x] 新增文档到知识库 - [x] 查询知识库文档状态（处理情况） - [x] 删除知识库文档 - [x] 流式问答聊天(SSE) - [x] token使用量查询 - [x] 删除会话 - [x] 会话中上传文档 - [x] 创建PPT - [ ] 查询可用的智能体 - [ ] 整理API接口（主要是第三方应用使用的接口） 快速开始 1. 启动本程序（当然要配置一下，相信使用者应该对配置不陌生） 本系统需要数据库及redis 2. 启动dify 3. 配置一下 dify中需要配置如下信息： - 配置外部知识库API：进入知识库，右侧外部知识库API处，添加外部知识库API，在API endpoint处填入本系统dify的端点地址 http://192.168.x.y:z/dify api/v1 ，apikey自定 - 知识库中选择API（左侧），并在右上角的API密钥中创建密钥，将密钥","default_branch":null,"files":null,"tree":[],"storefront":"/r/yockii","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yockii/dify_tools/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}