zhizhi/dingtalk-bot
copilot-swe-agent[bot] 58fe688d23 Address code review: extract Notion limit constants, use placeholders in .env.example
Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
2026-03-15 10:29:57 +00:00
..
conversations DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
data DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
dingtalk DEV-004: M-DINGTALK Phase3 - 知识库+Webhook+热更新+三节点同步+超时提醒 2026-03-11 13:02:44 +08:00
knowledge-base DEV-004: M-DINGTALK Phase3 - 知识库+Webhook+热更新+三节点同步+超时提醒 2026-03-11 13:02:44 +08:00
loop Add Phase 4 modules: portrait/quality/pca/loop/public 2026-03-11 14:08:43 +08:00
pca Add Phase 4 modules: portrait/quality/pca/loop/public 2026-03-11 14:08:43 +08:00
portrait Add Phase 4 modules: portrait/quality/pca/loop/public 2026-03-11 14:08:43 +08:00
public Add Phase 4 modules: portrait/quality/pca/loop/public 2026-03-11 14:08:43 +08:00
quality Add Phase 4 modules: portrait/quality/pca/loop/public 2026-03-11 14:08:43 +08:00
scheduler DEV-004: M-DINGTALK Phase3 - 知识库+Webhook+热更新+三节点同步+超时提醒 2026-03-11 13:02:44 +08:00
sync DEV-004: M-DINGTALK Phase5 Notion数据桥真实连通+SYSLOG实写 2026-03-13 09:56:29 +08:00
webhook DEV-004: M-DINGTALK Phase3 - 知识库+Webhook+热更新+三节点同步+超时提醒 2026-03-11 13:02:44 +08:00
.env.example Address code review: extract Notion limit constants, use placeholders in .env.example 2026-03-15 10:29:57 +00:00
.gitignore [铸渊修复] dingtalk-bot: 重写 index-stream.js 修复 P0/P1/P2 问题 2026-03-15 10:28:30 +00:00
README.md [铸渊修复] dingtalk-bot: 重写 index-stream.js 修复 P0/P1/P2 问题 2026-03-15 10:28:30 +00:00
broadcast-generator.js DEV-004: M-DINGTALK Phase3 - 知识库+Webhook+热更新+三节点同步+超时提醒 2026-03-11 13:02:44 +08:00
config.json [BC-M-DINGTALK-002-ZZ][DEV-004] Phase 2 完成 · EL-7 · 多维表格联动+自动更新+自助查询+看板 2026-03-11 10:57:23 +08:00
conversation-manager.js DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
dingtalk-api.js [BC-M-DINGTALK-002-ZZ][DEV-004] Phase 2 完成 · EL-7 · 多维表格联动+自动更新+自助查询+看板 2026-03-11 10:57:23 +08:00
dingtalk-event-handler.js DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
dingtalk-webhook-v3.js DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
ecosystem.config.js [铸渊修复] dingtalk-bot: 重写 index-stream.js 修复 P0/P1/P2 问题 2026-03-15 10:28:30 +00:00
git-helper.js DEV-004: M-DINGTALK Phase3 - 知识库+Webhook+热更新+三节点同步+超时提醒 2026-03-11 13:02:44 +08:00
github-bridge.js DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
index-stream.js Address code review: extract Notion limit constants, use placeholders in .env.example 2026-03-15 10:29:57 +00:00
index.js DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
index.js.bak.phase7 DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
llm-engine.js DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
message-router.js DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
message-router.js.bak.phase7 DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00
notion-test-nossl.js DEV-004: M-DINGTALK Phase5 Notion数据桥真实连通+SYSLOG实写 2026-03-13 09:56:29 +08:00
notion-test.js DEV-004: M-DINGTALK Phase5 Notion数据桥真实连通+SYSLOG实写 2026-03-13 09:56:29 +08:00
package-lock.json [铸渊修复] dingtalk-bot: 重写 index-stream.js 修复 P0/P1/P2 问题 2026-03-15 10:28:30 +00:00
package.json [铸渊修复] dingtalk-bot: 重写 index-stream.js 修复 P0/P1/P2 问题 2026-03-15 10:28:30 +00:00
server.js DEV-004: M-DINGTALK Phase5 Notion数据桥真实连通+SYSLOG实写 2026-03-13 09:56:29 +08:00
setup-phase1-phase2.js DEV-004: M-DINGTALK Phase3 - 知识库+Webhook+热更新+三节点同步+超时提醒 2026-03-11 13:02:44 +08:00
syslog-parser.js [BC-M-DINGTALK-002-ZZ][DEV-004] Phase 2 完成 · EL-7 · 多维表格联动+自动更新+自助查询+看板 2026-03-11 10:57:23 +08:00
syslog-receiver.js DEV-004: M-DINGTALK Phase3 - 知识库+Webhook+热更新+三节点同步+超时提醒 2026-03-11 13:02:44 +08:00
test-stream.js DEV-004: M-DINGTALK Phase6 公网部署+钉钉真实对接 · 服务器部署完成 · 十七连胜达成 2026-03-15 12:06:56 +08:00

README.md

钉钉AI人格体「秋秋」· HoloLake dingtalk-bot

📋 项目简介

钉钉AI人格体「秋秋」运行于钉钉 Stream 模式。在钉钉群内被 @秋秋 时,接收消息并调用 LLM 生成人格化回复,同时将消息记录写入 Notion SYSLOG 数据库。

🏗️ 系统架构

  • 运行模式:钉钉 Stream 模式dingtalk-stream SDK长连接
  • 进程管理pm2进程名 dingtalk-stream
  • 入口文件index-stream.js
  • 错误处理LLM/Notion 调用失败时降级为固定回复,不影响消息接收主流程

📁 文件结构

文件 作用
index-stream.js Stream 模式主入口(接收消息 → AI回复 → Notion写入
package.json 依赖声明
ecosystem.config.js pm2 进程配置
.env.example 环境变量模板(不含真实值)
.gitignore Git 忽略规则
README.md 本说明文档

🚀 快速开始

1. 安装依赖

cd dingtalk-bot
npm install

2. 配置环境变量

cp .env.example .env
# 编辑 .env 填入真实密钥

3. 启动(开发)

node index-stream.js

4. 启动(生产 · pm2

pm2 start ecosystem.config.js --env production
pm2 logs dingtalk-stream -f --lines 0

🔄 部署流程

cd /opt/guanghulab-dingtalk/dingtalk-bot
git pull origin main
npm install
pm2 restart dingtalk-stream
pm2 logs dingtalk-stream -f --lines 0

🔑 环境变量说明

参见 .env.example 文件,真实密钥存储于服务器 /opt/guanghulab-dingtalk/dingtalk-bot/.env