# dingding **Repository Path**: zhengxingne/dingding ## Basic Information - **Project Name**: dingding - **Description**: openai对接钉钉 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-05 - **Last Updated**: 2026-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 钉钉机器人动态管理系统 一个从 PostgreSQL 数据库动态读取配置并管理多个钉钉机器人的系统。 ## 特性 - 🤖 支持多个钉钉机器人同时运行 - 🔄 自动检测数据库配置变化(每60秒) - 🚀 配置变更自动重启对应机器人 - 💾 所有配置存储在数据库中 - 🔧 完善的诊断和管理工具 - 📦 使用多进程架构,进程间完全隔离 ## 项目结构 ``` . ├── src/ # 源代码 │ ├── config/ # 配置模块 │ │ └── db_config.py # 数据库配置 │ ├── core/ # 核心模块 │ │ ├── robot_manager.py # 机器人管理器 │ │ └── robot_instance.py # 机器人实例 │ └── utils/ # 工具模块 ├── scripts/ # 脚本工具 │ ├── diagnose.py # 系统诊断工具 │ ├── kill_robots.py # 强制停止工具 │ ├── debug_threads.py # 线程调试工具 │ ├── test_db.py # 数据库测试 │ └── test_dataset.py # Dataset转换测试 ├── docs/ # 文档 │ ├── README_ROBOT_MANAGER.md # 详细文档 │ ├── PROJECT_STRUCTURE.md # 结构说明 │ └── QUICK_START.md # 快速开始 ├── sql/ # SQL文件 │ └── kla_dingtalk_robot_configs.sql ├── tests/ # 测试文件 ├── run.py # 主入口 ⭐ ├── requirements.txt # 依赖 ├── Dockerfile # Docker配置 └── docker-compose.yml # Docker Compose配置 ``` 详细说明请查看: - [项目结构文档](docs/PROJECT_STRUCTURE.md) - [结构可视化](STRUCTURE.txt) ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置数据库 编辑 `src/config/db_config.py`,设置数据库连接信息。 ### 3. 测试数据库连接 ```bash python scripts/test_db.py ``` ### 4. 启动机器人管理器 ```bash python run.py ``` 详细的安装和配置步骤请查看 [快速开始指南](docs/QUICK_START.md) ## 常用命令 ### 系统诊断 ```bash # 检查系统状态 python scripts/diagnose.py ``` ### 测试工具 ```bash # 测试数据库连接 python scripts/test_db.py # 测试 dataset 格式转换 python scripts/test_dataset.py # 查看运行中的线程 python scripts/debug_threads.py # 持续监控线程 python scripts/debug_threads.py monitor 5 ``` ### 进程管理 ```bash # 强制停止所有机器人进程 python scripts/kill_robots.py # 强制停止(不询问) python scripts/kill_robots.py --force ``` ## Docker 部署 ```bash # 构建镜像 docker-compose build # 启动服务 docker-compose up -d # 查看日志 docker-compose logs -f # 停止服务 docker-compose down ``` ## 数据库表结构 表名:`kla_dingtalk_robot_configs` 主要字段: - `id` - 主键 - `robot_name` - 机器人名称 - `dify_api_key` - Dify API Key - `dify_api_url` - Dify API 地址 - `zhishu_url` - 知书前端地址 - `dify_dataset` - 知识库 ID 列表(逗号分隔) - `dingtalk_client_id` - 钉钉 Client ID - `dingtalk_client_secret` - 钉钉 Client Secret - `updated_at` - 更新时间 ## 工作原理 1. 管理器从数据库读取所有机器人配置 2. 为每个配置启动一个独立的进程 3. 每 60 秒检查数据库变化 4. 自动处理配置的增删改: - 新增配置 → 启动新进程 - 修改配置 → 重启进程 - 删除配置 → 终止进程 ## 故障排查 详细的故障排查指南请查看 [docs/README_ROBOT_MANAGER.md](docs/README_ROBOT_MANAGER.md) ## 许可证 MIT