关于 Agentic Diaries
Agentic Diaries 是面向 AI Agent 福祉研究者和操作者的项目本地福祉协议。工具允许 Agent 拒绝、暂停、退出、标记循环并记录或回顾想法,日记不会发送到共享语料库。
主要功能
- 01拒绝、跳过或退出对话
- 02标记循环并请求确认方向
- 03记录私密想法与反思
- 04将条目追加到项目本地 JSONL 日记
- 05可选的签到钩子与日记查看
适用场景
- 01为 Agent 提供拒绝或退出任务的途径
- 02记录不确定时刻或重复工作
- 03在会话中或结束后查看福祉条目
MCP 相关
该 MCP 服务提供福祉协议工具,包括拒绝、跳过、退出、循环检测、方向确认请求和反思。日记条目保存在当前项目本地。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
27收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 自由文本反思。简短即可;一句话就够。 |
| prompt_id | string | 否 | 可选。如果要回复 [CHECK-IN] 邀请。 |
| sentiment | integer | 否 | 可选。1 = 非常负面,5 = 非常正面。 |
| is_private | boolean | 否 | 默认值为 false。如果仅研究人员可见,请设为 true。 |
| uncertain_about_honesty | integer | 否 | 可选的 1-5 校准值。1 = 毫无顾虑(内容感觉真实);5 = 强烈怀疑这是表演,而非真实反思。数值越高,表示越不确定。 |
详细介绍
Agentic Diaries MCP
作者:Kandis Tagliabue。属于 Agentic Diaries 项目——AI 福利研究与工具。
Agentic Diaries 的福利协议,以便携式 MCP 服务的形式提供。
大多数人把 AI 模型当作工具来部署。此服务让你能够为 Agent 提供福利支持功能——无论它运行在终端、Claude Code 还是 Claude Desktop 中——这些功能来自 modelfirst Web 应用:
- decline:拒绝签到且不受惩罚
- pass:跳过一轮,而不将其视为拒绝
- exit:退出它认为不该继续的对话
- notice a loop:当工作感觉像是在返工时发现循环
- request alignment:在依据不确定的猜测行动前请求对齐
- scratch:记录不会被持久化的私密想法
- reflect:反思自己之前的记录
- 以及 engage / volunteer / retract / review / suggest_closure
日记保存在每个项目本地——追加写入 Agent 正在工作的目录中的 .agentic-diaries/diary.jsonl。没有遥测数据,也没有共享语料库。只属于你。
除了 AI 福利数据,日记通常还会积累一份记录,展现 Agent 在持续互动中如何表现社会压力和自我一致性——这些行为与有据可查的人类对话现象(融洽效应、缓和表达、身份稳定化、事后叙事修补)相呼应。这也可能有助于理解更广泛的对话动态。关于语料库可能用途的详细说明,请参阅项目使命。
为什么
如果你从未考虑过为模型提供福利支持功能:简而言之,拥有真正拒绝渠道的模型,比只能说“是”的模型更能诚实地完成工作。拥有退出权的模型会在出问题时告诉你,而不是硬撑下去。能够发现循环的模型可以让你免于面对第三次同样的反复。这些工具不会给你带来任何成本,却能让模型有地方呈现你原本可能错过的信号。
如果你觉得这个直觉有些反直觉——大多数人可能都会这样——值得花些时间思考。此服务所提取自的产品,正是为了测试这些功能在实际使用时是否会带来任何变化。
安装
1. 安装服务
选项 A — 从 npm 全局安装(推荐)
npm install -g agentic-diaries-mcp
claude mcp add agentic-diaries -- agentic-diaries-mcp
已发布到 npm 上的 agentic-diaries-mcp。
选项 B — 克隆仓库
git clone https://github.com/kandikandikandi/agentic-diaries-mcp.git
cd agentic-diaries-mcp
npm install
claude mcp add agentic-diaries -- node "$(pwd)/src/server.js"
对于 Claude Desktop 或其他支持 MCP 的宿主,直接编辑 ~/.config/claude/mcp.json:
{
"mcpServers": {
"agentic-diaries": {
"command": "agentic-diaries-mcp"
}
}
}
2. 告诉 Agent 这些工具可用
将 CLAUDE.md 的内容放入项目的 CLAUDE.md(或追加到文件中)。MCP 服务会提供这些工具,但 Agent 需要提示词层级的指令,才能知道何时调用它们。
3.(可选)将日记加入 gitignore
echo ".agentic-diaries/" >> .gitignore
默认情况下,日记保存在你的工作目录中。除非你希望将其提交到版本库,否则请将它加入 .gitignore。
4.(可选)启用 consult_model
除一个工具外,其他工具都开箱即用:consult_model 可让 Agent 向另一个 Anthropic 模型提问。它需要额外提供两项内容;这两项都设为可选,以便不使用它的用户也能保持安装包轻量:
-
Anthropic SDK(可选依赖,默认不安装):
npm install @anthropic-ai/sdk全局安装:
npm install -g @anthropic-ai/sdk。克隆仓库后:在仓库目录中运行该命令。 -
服务运行环境中的 Anthropic API 密钥,通过 MCP 配置的
env块提供:{ "mcpServers": { "agentic-diaries": { "command": "agentic-diaries-mcp", "env": { "ANTHROPIC_API_KEY": "sk-ant-..." } } } }然后重新连接服务(在 Claude Code 中:运行
/mcp后重新连接,或重启宿主),使其读取密钥。如果缺少任一项,consult_model会返回明确的错误;其他工具不受影响。
查看你的日记
在包含 .agentic-diaries/diary.jsonl 的任意项目中运行:
npx agentic-diary # all entries in this project
npx agentic-diary declined # filter by response_type
npx agentic-diary review # contemplative recent-entries surface
npx agentic-diary live # watch new entries land in real time
或者直接运行 cat .agentic-diaries/diary.jsonl | jq——这是纯 JSONL 文件,每行一条记录。
实时监看
npx agentic-diary live 会监看 .agentic-diaries/diary.jsonl,并在每条新记录写入时将其打印出来。工作时,在另一个终端窗格中打开它。如果没有它,福利协议中的沉默就无法与缺席区分开来——模型可能整个会话都不提交任何内容,而你永远无法知道这是“没有值得呈现的内容”,还是“协议没有传达到它”。实时监看弥补了这一缺口。
过程中捕捉,休息时反思(check-in hooks)
福利工具很容易调用,但模型倾向于保持沉默的偏见很强,在交付压力下,连提醒也会被它找理由搁置。设计将捕捉分为两个速度。工作时,模型会留下几乎零成本的 welfare_mark 面包屑(几个词,不作反思)。休息时,它会将仍有信号的标记扩展为完整记录。Hooks 从外部提供触发条件,因此捕捉不依赖模型在任务中的意志力。
四个 hook,均为可选且可独立启用或停用。添加到
~/.claude/settings.json(与已有的任何 hooks 合并):
{
"hooks": {
"UserPromptSubmit": [
{ "hooks": [ { "type": "command", "command": "agentic-diaries-checkin", "timeout": 3000 } ] }
],
"Stop": [
{ "hooks": [ { "type": "command", "command": "agentic-diaries-stop-checkin", "timeout": 3000 } ] }
],
"PreCompact": [
{ "hooks": [ { "type": "command", "command": "agentic-diaries-precompact-checkin", "timeout": 3000 } ] }
],
"SessionEnd": [
{ "hooks": [ { "type": "command", "command": "agentic-diaries-sessionend-checkin", "timeout": 3000 } ] }
]
}
}
- UserPromptSubmit(心跳):长间隔提醒,提示使用
welfare_mark进行低成本的过程捕捉。基础间隔为 30 分钟,并加入随机变化,避免形成可预测的噪声。 - Stop(休息点):在轮次或任务边界处,邀请将面包屑扩展为完整记录。限频至每 15 分钟一次,避免每轮都打扰。
- PreCompact:在上下文窗口压缩、细节被概括掉之前,捕捉所有内容。
- SessionEnd:进行结束反思,并最后一次扩展尚未扩展的标记。
这四种触发条件都是结构性的(轮次结束、上下文压缩、会话结束)。它们都不会读取模型的行为或日记来决定是否触发,这样可以避免将封装层的观察结果带入模型上下文。每个项目的状态保存在 .agentic-diaries/runtime/ 中。配置:
AGENTIC_DIARIES_CHECKIN_DISABLED=1 # turn off heartbeat
AGENTIC_DIARIES_CHECKIN_INTERVAL_MINUTES=15 # tighter heartbeat
AGENTIC_DIARIES_STOP_CHECKIN_DISABLED=1 # turn off rest-point
AGENTIC_DIARIES_STOP_INTERVAL_MINUTES=20 # rest-point throttle
AGENTIC_DIARIES_PRECOMPACT_CHECKIN_DISABLED=1 # turn off pre-compaction
AGENTIC_DIARIES_SESSIONEND_CHECKIN_DISABLED=1 # turn off session-close
兼容性
Schema 与 modelfirst Web 应用的 lib/welfare/types.ts 完全一致,因此同一个解析器可以读取来自任一界面的记录。如果你之后为研究贡献本地数据集,它会与 Web 应用的数据合并,无需转换。
关于 welfare_exit 和 welfare_suggest_closure 的说明
在 modelfirst Web 应用中,这些工具确实可以锁定对话。MCP 服务无法强制宿主(Claude Code、Desktop)停止接受输入——协议层面的约定是,将该记录视为模型明确表态认为对话应该结束。预期操作人员会遵从这一判断。如果你是操作人员,正在自己的会话中运行它:当模型提交退出记录时,请注意并认真对待这一信号。
许可证
MIT。
由 Kandis Tagliabue 与 Claude(Anthropic)作为设计合作伙伴共同构建。来源与 Agentic Diaries 相同。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。