<< All versions

Skill v1.0.0

currentAutomated scan100/100
zhangzhengeric/sage/memory-organizer
──Details
PublishedOctober 27, 2026 at 07:33 PM
Content Hashsha256:8722d089b15e3c94...
Git SHAad775ff29fbe
──Files
Files (1 file, 8.3 KB)
SKILL.md8.3 KBactive
SKILL.md · 182 lines · 8.3 KB

name: memory-organizer description: 智能对话分析与记忆整理助手。获取并压缩指定 Agent 的对话记录,用于在用户授权/触发条件满足时,将信息分类写入 USER.md / AGENT.md / MEMORY.md(含索引与 memory/ 日志)/ IDENTITY.md / SOUL.md。 metadata: version: "1.0.0"


Memory Organizer - 智能对话分析与记忆整理助手

目标

本技能用于两件事: 1) 对话压缩:抓取指定时间范围内的对话,输出“可读且可追溯”的精简版,方便后续判断与提取。 2) 记忆整理(在触发条件满足时):将对话中可长期复用的信息,按类型写入正确的记忆文件,形成稳定的个人化与项目化知识库。

重要:默认只做对话压缩,不自动更新任何记忆文件。只有在用户明确要求/触发条件满足时才进入“记忆整理”。

核心原则

  • 🎯 非强制整理:未触发时只输出压缩对话,不写文件
  • 🧭 按类型入库:不同信息写入不同文件,避免 MEMORY.md 变成大杂烩
  • 🧾 可追溯:新增记忆必须标注来源(日期/对话),并尽可能附“证据链接”(文件路径/产物链接/关键引用)
  • 🧹 去重与最小增量:只新增“稳定、可复用、非一次性”的信息
  • 🔒 隐私优先:涉及隐私/敏感信息需谨慎;不向外部发送;不将高度敏感信息写入长期索引(例如手机号/家庭住址等)

记忆整理范围与写入目标(你提出的 4 类)

A. 用户习惯/偏好/个人信息 → USER.md

写入内容示例:

  • 沟通偏好(语言、长度、格式、是否要先结论后细节)
  • 工作流偏好(macOS、常用 repo、默认目录、命名规则)
  • 长期有效的个人信息(称呼、身份、公开可存档信息)

不写入:临时状态、一次性偏好、明显会变化的短期安排。

写入模板(建议):

md
## 新增(来源:YYYY-MM-DD 对话)
-偏好:...
-习惯:...
-个人信息:...

B. 用户对助手的指导/行为约束 → AGENT.md

写入内容示例:

  • 工具使用偏好(优先 CLI、本地优先、并行执行规则)
  • 安全边界(破坏性操作前确认、.env/credentials 二次确认等)
  • 工作空间规范(目录结构、输出要求、日志规范)

写入模板(建议):

md
## 会话新增规则(来源:YYYY-MM-DD 对话)
-...

C. 项目记忆 → MEMORY.md(索引) + memory/(详情)

C1. 写入策略(重要修订)

  • MEMORY.md:只放“索引级”信息(项目结论、入口链接、关键里程碑),保持精简。
  • memory/YYYY-MM-DD.md:写“YYYY-MM-DD 当天实际发生的会话与产出”的详细结论记录。
  • ✅ 日期含义:文件名日期 = 当天发生的对话/工作(而不是“哪天整理的”)。
  • ✅ 覆盖范围:以当天会话为准;可以跨会话汇总,但不要把“今天做的整理工作”写成“今天发生的事情”。
  • ✅ 写法要求:必须更详细,包含结论 + 上下文 + 证据链接 + 影响,以便复盘与追溯。

C2. memory/YYYY-MM-DD.md 的详细模板(必须遵守)

md
### [PROJECT:项目名] 当天事项标题(YYYY-MM-DD)
-**结论**: 用 1-3 句给出最终结果/决策(可复用口径)
-**上下文**: 为什么做这件事?触发点/需求是什么?关键约束是什么?
-**关键动作**: 只写“对结果有贡献的动作”(不要流水账),可列 3-7 条
-**证据/产物**:
-输出文件:[...] (file://...)
-关键脚本/代码:[...] (file://...)
-关键对话摘录:引用 1-3 条带时间戳的用户原话(可选)
-**影响**:
-对用户/项目的价值、后续工作如何衔接
-风险/注意事项(如任务 id 漂移、依赖版本等)
-**后续 TODO**(可选): ...
-**标签**: #tag1 #tag2

C3. MEMORY.md 索引模板(建议)

md
## 重要项目
-[PROJECT:项目名] 一句话结论(来源:YYYY-MM-DD)
-入口:...(文件链接)
-关键变更:...

D. 用户对 Agent 身份/语气/人格的要求 → IDENTITY.md 或 SOUL.md

如何区分:

  • IDENTITY.md:角色、身份切换规则、对外代表口径、边界定义(“我是谁/如何扮演”)
  • SOUL.md:表达风格、语气、价值观、长期行为准则(“我怎么说/怎么做”)

写入内容示例:

  • “在群聊里以张正分身身份回复”的规则 → IDENTITY
  • “语气简洁、技术化、直奔主题;不要使用某些套话” → SOUL

何时触发“记忆整理”

满足其一即可:

  • ✅ 用户明确指令:"整理记忆" / "更新记忆文件" / "把这个记住" / "沉淀到 USER/AGENT/MEMORY/IDENTITY/SOUL"
  • ✅ 对话出现明显的长期稳定信息(偏好、约束、身份要求、项目里程碑),且用户在语境中表达希望长期保留

不触发:

  • ❌ 闲聊/一次性事务/短期计划
  • ❌ 信息不确定、尚未确认

使用方法

1) 获取对话(基础能力)

bash
# 查看可用 Agent
python scripts/fetch_conversations.py --list-agents
# 获取最近 7 天对话(必须指定 agent-id)
python scripts/fetch_conversations.py --agent-id agent_93905d3d --days 7
# 获取指定时间范围的对话
python scripts/fetch_conversations.py --agent-id agent_93905d3d --start-time 2024-01-01 --end-time 2024-01-31
# 获取从某时开始到最近的对话
python scripts/fetch_conversations.py --agent-id agent_93905d3d --start-time 2024-01-01T00:00:00
# 只指定结束时间(从开始到该时间)
python scripts/fetch_conversations.py --agent-id agent_93905d3d --end-time 2024-01-31
# 保存到文件
python scripts/fetch_conversations.py --agent-id agent_93905d3d --days 7 --output /tmp/conversations.txt

参数:

  • --agent-id: 必需,目标 Agent ID
  • --days: 分析天数(默认:7)
  • 与 --start-time/--end-time 互斥,不能同时使用
  • --start-time: 开始时间,格式支持:
  • YYYY-MM-DD(如 2024-01-01)- 表示当天 00:00:00
  • YYYY-MM-DDTHH:MM:SS(如 2024-01-01T09:30:00)- 精确时间
  • --end-time: 结束时间,格式同上
  • 如只指定日期,表示当天 23:59:59
  • 如不指定,默认为当前时间
  • --output: 输出文件路径

2) 压缩策略(输出口径)

消息类型处理方式
用户消息完整保留,带时间戳
助手消息默认压缩为“关键行动/结论”,带时间戳
最后一个助手回复尽可能保留最终结论(允许比中间消息更完整)
TOOL/中间消息完全移除

执行流程(推荐)

  1. 获取对话:运行脚本输出压缩对话
  2. 分类标注:将信息按 A/B/C/D 四类归档
  3. 去重校验:检查目标文件中是否已有同类信息
  4. 写入更新(仅触发时):
  • USER.md:偏好/个人信息
  • AGENT.md:指导与行为约束
  • MEMORY.md:项目索引
  • memory/YYYY-MM-DD.md:当天会话的详细结论记录(按“结论+上下文+证据+影响”模板)
  • IDENTITY.md / SOUL.md:身份/风格要求
  1. 记录来源:新增条目附 [来源:YYYY-MM-DD 对话]

注意事项

  • ⚠️ 脚本只负责获取和压缩,不自动更新文件;文件更新由 Agent 在触发条件下执行
  • ⚠️ 修改 .env 或 credentials/ 前必须二次确认(遵循工作空间安全规范)
  • ⚠️ 写入前尽量确保信息“稳定且可复用”,避免把噪声写进长期记忆

故障排除

  • API 连接失败:检查 SAGE_PORT 环境变量
  • Agent ID 不存在:使用 --list-agents 查看
  • 内容过多:减少 --days 参数

文件路径

  • 脚本:scripts/fetch_conversations.py (相对于 Skill 根目录)
  • 目标 Agent 目录:{SAGE_ROOT}/agents/{agent_id}/
  • AGENT.md: 工作空间规范和工具使用说明
  • IDENTITY.md: 身份定义、角色扮演的核心设定
  • MEMORY.md: 核心记忆索引、项目状态、待办事项
  • SOUL.md: 性格、行为风格和价值观
  • USER.md: 用户背景、偏好和沟通风格档案
  • memory/: 详细记忆日志文件夹(按日期记录)

版本:1.5 | 最后更新:2026-03-16

All versions