需配置notion integration api key并启用双向同步:一、创建integration获取token并授权数据库读写;二、通过.env注入notion_integration_token;三、在config.yaml中配置database_id与字段映射;四、部署webhook实现变更实时回传;五、通过新建/修改记录验证日志与文件同步。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望将Hermes Agent与Notion数据库打通,实现任务状态自动更新与笔记内容反向写入,则需正确配置Notion Integration API Key,并启用双向同步机制。以下是完成该集成的具体操作步骤:
一、创建Notion Integration并获取API Key
Notion通过Integration方式授权第三方应用访问指定数据库,HermesAgent需使用其提供的Bearer Token进行身份认证。该密钥必须具备对应数据库的读写权限,否则同步任务将因401或403错误中断。
1、登录Notion网页端,进入设置与成员 → Integrations → Develop your own integration。
2、填写Integration名称(如“HermesAgent-Tasks”),选择“Personal bot”类型,点击Submit。
3、在新生成的Integration详情页中,复制Internal Integration Token字段值(格式为secret_开头的长字符串)。
4、在Integration权限设置中,点击“Add a database”,搜索并添加目标任务数据库,勾选Read content与Write content两项权限。
5、点击Save changes并确认权限已生效。
二、在HermesAgent中配置Notion API Key
HermesAgent支持通过环境变量注入Notion密钥,该方式优先级高于配置文件,且避免敏感信息硬编码。密钥加载后,Agent内部的notion_sync模块将自动初始化HTTP客户端并验证连接可用性。
1、进入HermesAgent项目根目录,检查是否存在.env文件;若无,则新建一个。
2、在.env文件末尾新增一行:NOTION_INTEGRATION_TOKEN=secret_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,注意等号前后无空格。
3、确保该.env文件位于执行python main.py命令的当前工作目录下。
4、重启HermesAgent服务进程,使环境变量重新加载;若使用systemd管理,执行sudo systemctl restart hermes。
三、绑定Notion数据库ID与字段映射
config.yaml中需明确声明目标数据库唯一标识及各字段语义映射关系,确保HermesAgent能准确识别任务标题、状态、截止时间等结构化属性,避免解析失败或字段错位。
1、打开HermesAgent项目根目录下的config.yaml文件。
2、在notion_sync模块配置段中,填入database_id: "8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d"(替换为实际32位十六进制数据库ID)。
3、配置fields映射,例如:title_field: "Name", status_field: "Status", due_date_field: "Due"。
4、保存文件并验证YAML语法正确性,防止启动时报错。
四、部署Webhook实现变更实时回传
启用Webhook可使Notion端任意修改(如手动更新任务状态)即时触发HermesAgent执行同步逻辑,替代低效轮询,保障数据一致性与时效性。
1、在Notion集成设置页中启用Webhooks功能,将Endpoint URL设为https://your-domain.com/webhook/notion(需已配置HTTPS反向代理)。
2、在HermesAgent的config.yaml中确认webui已开启,且/webhook/notion路径被正确路由至notion_webhook_handler。
3、在~/.hermes/skills/目录下新建notion_webhook_listener.yaml,定义触发条件为event_type == "database.updated"。
4、执行hermes skills load notion_webhook_listener.yaml命令加载技能,系统将自动注册事件监听器。
五、验证双向同步是否生效
通过人工触发一次数据库变更并观察日志输出,可确认HermesAgent是否成功接收事件、调用API写入、以及本地状态是否同步刷新,是集成闭环的关键验证环节。
1、在Notion数据库中新建一条记录,填写标题与状态字段。
2、查看HermesAgent运行日志,确认出现[notion_webhook] Received database.updated event日志条目。
3、检查HermesAgent本地knowledge-base/03_参考/目录下是否生成对应时间戳的Markdown文件。
4、在Notion中修改该条记录的状态,观察HermesAgent是否在日志中打印[notion_sync] Updated page status via API。











