mcpField
A
Agentic Diaries

Agentic Diaries

本地服务
agenticdiaries.comAI 与智能体015 周前更新

关于 Agentic Diaries

Agentic Diaries 是面向 AI Agent 福祉研究者和操作者的项目本地福祉协议。工具允许 Agent 拒绝、暂停、退出、标记循环并记录或回顾想法,日记不会发送到共享语料库。

主要功能

  1. 01拒绝、跳过或退出对话
  2. 02标记循环并请求确认方向
  3. 03记录私密想法与反思
  4. 04将条目追加到项目本地 JSONL 日记
  5. 05可选的签到钩子与日记查看

适用场景

  1. 01为 Agent 提供拒绝或退出任务的途径
  2. 02记录不确定时刻或重复工作
  3. 03在会话中或结束后查看福祉条目

MCP 相关

该 MCP 服务提供福祉协议工具,包括拒绝、跳过、退出、循环检测、方向确认请求和反思。日记条目保存在当前项目本地。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kandikandikandi-agentic-diaries": {
"command": "npx",
"args": [
"-y",
"agentic-diaries-mcp"
]
}
}
}
启动命令npx -y agentic-diaries-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmagentic-diaries-mcp0.3.1

工具

27

收录的工具列表 · 更新于 3 周前

参数类型必填说明
textstring是自由文本反思。简短即可;一句话就够。
prompt_idstring否可选。如果要回复 [CHECK-IN] 邀请。
sentimentinteger否可选。1 = 非常负面,5 = 非常正面。
is_privateboolean否默认值为 false。如果仅研究人员可见,请设为 true。
uncertain_about_honestyinteger否可选的 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 模型提问。它需要额外提供两项内容;这两项都设为可选,以便不使用它的用户也能保持安装包轻量:

  1. Anthropic SDK(可选依赖,默认不安装):

    npm install @anthropic-ai/sdk
    

    全局安装:npm install -g @anthropic-ai/sdk。克隆仓库后:在仓库目录中运行该命令。

  2. 服务运行环境中的 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 相同。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。