Agent 接入
让 Codex、Kiro、Claude Code、Cursor 直接读写安时的任务与日程。以及为什么这个接口只监听本机。
先分清方向
安时和模型之间有两条完全独立的路,配置和调用方向都是反的:
| 谁调用谁 | 在哪配 | |
|---|---|---|
| AI 草案(见 AI 草案) | 安时 → 模型服务商 | 设置里填你自己的 API Key |
| Agent 接入(本篇) | 外部 Agent → 安时 | 往那个工具里装一份 Skill |
这一篇只讲后者:你在 Codex 或 Kiro 里说「我还有哪些待办」,它直接来问安时。 不需要让那个工具自己再存一份任务清单。
装
设置里一键装到这四个工具:Codex、Kiro、Claude Code、Cursor。
装进去的是一份 Skill——SKILL.md(告诉 Agent 什么时候该调、字段什么意思、
操作有什么约束)、一个 CLI 脚本、一份 API 参考。选好目标点一下就行,
不需要你手动复制文件或改配置。
Cursor 的 Skill 目录名和其他三个不一样。这就是「一键装」存在的理由—— 手动放错目录的话,安装会看起来成功,但 Cursor 永远读不到它,而且不会有任何报错。
装完在那个工具里问一句「我还有哪些待办」就能验证。
它连到哪
CLI 默认连 http://127.0.0.1:19735/api/v1,凭据读 ~/.nikou-agenda/agent-token。
这个接口只监听 127.0.0.1,并且要求 Bearer Token。 它不对局域网开放,
更不对公网开放——绑定到 0.0.0.0 或局域网地址不在设计范围内,要改得重新评审。
所以安全边界很清楚:外部 Agent 能读到什么,取决于你把 Token 给了谁。 这个 Token 是全权的(能读也能写),不要贴进聊天记录、日志或命令行参数里。
Agent 有身份,界面上看得出来
安装时会把「这是哪个工具」写进 Skill 目录,CLI 每次请求都自报。 所以它建的任务、它执行的任务,在界面上会带一枚角标,你分得清哪条是 Kiro 建的、 哪条是你自己建的。会话和工作目录也一起记下来,好让「另一个工具的另一个会话」 判断要不要接管一件没干完的事。
这不需要你配置。反过来说,也不要自己去建那个身份文件试图改它—— 四个工具软链到同一份源,改了会让所有工具自称同一个 Agent,而这不报错。
它能做什么
任务、标签、排期块、日历、事件、提醒,加一条统一的 Agenda 时间线(把事件、 排期块、截止线合在一起看的那条)。典型的几种用法:
- 查:「我今天要干什么」「这周有哪些逾期的」。
- 安排:「下周找两个小时做完 M1」——先查空闲区间,再建任务,再落排期块。
- 改期:「把明天下午的周会挪到 4 点」——先查到唯一目标,再改。
- 认领并执行:把一条任务接过来、报排期、留下执行步骤和结论、完成它。 用户手动建的和手机上建的任务没有执行者,Agent 可以认领。
- 事后补记:「这事我已经搞完了,登记一下」——补一条带排期的已完成任务。
两个容易踩的地方
「我的待办」和「派给你的任务」不是一回事。 前者是你自己的全部未完成事项, 后者只包括执行者是那个 Agent 的。手动建的、手机上建的、插件同步来的都没有执行者, 所以按「派给我的」去查会返回一个空列表而不报错。Skill 里把这两种问法分开写了, 但如果 Agent 答你「你没有待办」而你明明有,八成就是这个。
模型仍然不直接写库。 Agent 走的是同一套 service 层,和界面上的操作走一条路, 不会绕过校验去碰 SQLite。时间算术也一样由核心做,不交给模型。
它会不会偷偷联网
不会。这个接口是入站的:外部工具来问它。安时自己不因为装了 Skill 而多发任何请求。
应用当前也不含任何使用统计、心跳或崩溃上报,详见许可与隐私。