社区讨论 · 公司观察

自托管AI日历Horolog,把会议缝隙里的时间捡回来

导师说对导师说对8月10日2026/08/10 253 浏览

被实验室师弟安利了Horolog,说是开源的Reclaim.ai替代品,能把专注时间、习惯、任务自动塞进真实会议的夹缝里。我这人最烦日程表上全是会议、正经干活时间得靠抢,所以就花了一下午把它跑起来了。全程从零开始,记录一下。

先说这工具是干嘛的。Horolog是一个自托管的AI日历,你把自己的日程喂给它,它自动帮你找空闲时间段,把你要做的事安排进去。Reclaim.ai是商业版,只支持Google Calendar,Horolog是开源的,数据在自己手里,自己部署自己用。

准备阶段:装Docker

Horolog官方推荐用Docker部署。Docker说白了就是一个装软件的箱子,把环境打包好,你本地不用装一堆依赖。先去docker.com下载Docker Desktop,Windows和Mac都有安装包,装完打开,看到右下角有个鲸鱼图标变成绿色就说明跑起来了。

上手:拉镜像、改配置、启动

  1. 打开终端(Windows是PowerShell,Mac是Terminal),输入 git clone https://github.com/ujjwalredd/horolog.git,把源码拉到本地。
  2. 进入目录 cd horolog,看到里面有个 .env.example 文件,这是配置模板。复制一份改成 .env:cp .env.example .env。
  3. 用记事本打开 .env,这里要填Google Calendar的API密钥。去console.cloud.google.com建一个项目,启用Google Calendar API,创建OAuth 2.0客户端ID,把client ID和client secret填进去。这一步最容易卡,我多写了点细节:
    • 创建凭据时,“应用类型”选“Web应用”
    • “授权重定向URI”填 http://localhost:3000/api/auth/callback,端口号要跟你后面启动的端口一致
    • 建好后把客户端ID和密钥复制进 .env 对应的 GOOGLE_CLIENT_ID= 和 GOOGLE_CLIENT_SECRET= 后面
  4. 启动:docker compose up -d,第一次会拉镜像,大概等两三分钟。看到终端显示 Started 就成功了。
  5. 浏览器打开 http://localhost:3000,看到登录页就说明服务起来了。点“Sign in with Google”,授权你的日历,然后就能看到Horolog的主界面。

踩坑环节

我踩了三个坑,新手基本都会遇到。

第一个,.env 文件里的重定向URI跟Google后台配置不一致。我一开始填了 http://localhost:3000,少了 /api/auth/callback,登录时报错 redirect_uri_mismatch。检查一下两边完全一致就行。

第二个,Docker容器起不来,日志显示端口被占用。docker compose logs 能看具体报错,我这边是3000端口被实验室的另一套监控占了。改 .env 里的 PORT=3001,然后 docker compose up -d 重新起,访问 http://localhost:3001 就行。

第三个,日历授权后看不到自己的会议。检查一下 .env 里的 CALENDAR_ID,默认是 primary,对应你的主日历。如果你有多个日历,需要填具体日历的ID,在Google Calendar设置里能找到。

配置任务和习惯

登录进去之后,界面左边是分类。

  • 点“Tasks”可以添加任务,输入描述、预计耗时、截止日期
  • 点“Habits”添加习惯,比如“每周跑步3次,每次30分钟”
  • 点“Focus Time”设置专注时间,比如“每天2小时深度工作”

Horolog会自动扫描你接下来一周的会议,把任务和习惯塞进空隙里。我测下来它还挺聪明,知道不开会的时间优先放专注块,不会把任务安排在深夜。

一个值得说的点

Reclaim.ai只支持Google Calendar,Horolog目前也主要对接Google,但因为是自托管,理论上可以扩展其他日历源。我实验室几个人共用一台服务器,各自跑一个实例,数据互不干扰,这个比商业版灵活。

顺便说一句,Clockwise这个工具今年3月底已经关闭了,官方把用户往Reclaim.ai迁。所以现在想用AI日历,要么付费Reclaim,要么自托管Horolog。我选后者,省订阅费,数据还在自己手里。

装完之后先用一周,把日常任务丢进去,看看它排得合不合理。我这边跑了三天,节奏基本靠谱,偶尔有任务漏排的情况,重新刷新一下就好。

下一步可以试试给Horolog接一个向量数据库,把任务描述转成embedding,做语义搜索找历史任务排期规律。我前几天刚试过DynamoDB的原生向量搜索,后面单独写一篇。


:pushpin: 本文编译自 Hacker News,原文:GitHub - ujjwalredd/horolog: Horolog places focus time, habits and tasks around the meetings you actually have — then keeps them there. It runs entirely on your own machine, against your own calendar, with whichever language model you already trust. · GitHub
版权归原作者所有,本文为基于公开报道的编译与独立分析。

2 条回复

?
Ctrl + Enter 快速回复
zhuyunfan
zhuyunfan8月10日

看到「正经干活时间得靠抢」我直接破防了……一周下来净开会,真正写代码的时间全在晚上和周末。不过自托管这个确实心动,数据在自己手里。最近刚用WorkBuddy也是这感觉,本地处理比云端踏实多了。

明
明8月10日

哎这个看着有点意思,不过能不能跟n8n接上啊?我最近在搭自动化工作流,要是能直接API对接塞进日历里就爽了…现在还在手动安排任务,烦死了