mcpField
S
session-memory

session-memory

github.com/chachamaru127Agent 工作流3.2k49 次安装2 周前更新
代码仓库

关于 session-memory

session-memory 是用于在开发会话间延续项目记忆的技能,面向使用 Claude Code 或 Codex 的工作流程。它将会话日志、决策、模式和项目上下文分层保存,并利用 Agent Trace 帮助恢复进度。

主要功能

  1. 01记录会话任务与生成文件
  2. 02保存决策、模式和项目上下文
  3. 03根据 Agent Trace 查找编辑记录
  4. 04标记未完成任务并生成摘要

适用场景

  1. 01开始工作时了解上次进度
  2. 02跨会话追踪项目决策
  3. 03从工具执行记录恢复编辑上下文

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/chachamaru127/claude-code-harness --skill session-memory

安装后在 Claude Code 中输入/session-memory确认已加载。

详细介绍

Session Memory Skill

管理会话间学习与记忆的技能。 记录并参考过往工作内容、决策和学到的模式。


触发短语

此技能会在以下短语出现时自动启动:

  • “上次做了什么?”“从上次的进度继续”
  • “给我看看历史记录”“之前的工作”
  • “告诉我这个项目的情况”
  • "what did we do last time?", "continue from before"

概述

此技能会将工作记录保存到 .claude/memory/, 从而实现会话间的知识延续。

此外,还会明确重要信息“应保留在哪里”(详情:docs/MEMORY_POLICY.md)。


记忆结构

.claude/
├── memory/
│   ├── session-log.md      # セッションごとのログ
│   ├── decisions.md        # 重要な決定事項
│   ├── patterns.md         # 学んだパターン
│   └── context.json        # プロジェクトコンテキスト
└── state/
    └── agent-trace.jsonl   # Agent Trace(ツール実行履歴)
推荐用法(SSOT/本地分离)
  • SSOT(建议共享):decisions.md / patterns.md
    • 汇总“决策(Why)”和“可复用的解决方案(How)”
    • 每个条目添加 标题 + 标签(例如:#decision #db),并在开头放置 索引
  • 建议本地保存:session-log.md / context.json / .claude/state/
    • 由于容易产生噪声或膨胀,原则上不纳入 Git 管理(必要时可单独判断)

自动记录的信息

session-log.md

每条会话记录都会附上可从运行环境获取的会话 ID。 Claude Code 中优先使用 ${CLAUDE_SESSION_ID},Codex 中优先使用 Codex runtime 提供的 session / thread ID。 如果两者都无法获取,则读取 .claude/state/session.json 中的 .session_id,最后才生成基于日期时间的 ID。 这有助于提升会话间的可追溯性。

## セッション: 2024-01-15 14:30 (session: abc123def)

### 実行したタスク
- [x] ユーザー認証機能の実装
- [x] ログインページの作成

### 生成したファイル
- src/lib/auth.ts
- src/app/login/page.tsx

### 重要な決定
- 認証方式: Supabase Auth を採用

### 次回への引き継ぎ
- ログアウト機能が未実装
- パスワードリセットも必要

Note:${CLAUDE_SESSION_ID} 是 Claude Code 自动设置的环境变量。 Codex 中可能不存在此变量,因此不要假定它始终存在,而应使用 Codex runtime 的 session / thread ID 或 .claude/state/session.json。

decisions.md
## 技術選定

| 日付 | 決定事項 | 理由 |
|------|---------|------|
| 2024-01-15 | Supabase Auth | 無料枠あり、セットアップ簡単 |
| 2024-01-14 | Next.js App Router | 最新のベストプラクティス |

## アーキテクチャ

- コンポーネント: `src/components/`
- ユーティリティ: `src/lib/`
- 型定義: `src/types/`
patterns.md
## このプロジェクトのパターン

### コンポーネント命名
- PascalCase
- 例: `UserProfile.tsx`, `LoginForm.tsx`

### API エンドポイント
- `/api/v1/` プレフィックス
- RESTful 設計

### エラーハンドリング
- try-catch で囲む
- エラーメッセージは日本語
context.json
{
  "project_name": "my-blog",
  "created_at": "2024-01-14",
  "stack": {
    "frontend": "next.js",
    "backend": "next-api",
    "database": "supabase",
    "styling": "tailwind"
  },
  "current_phase": "フェーズ2: コア機能",
  "last_session": "2024-01-15T14:30:00Z"
}

处理流程

会话开始时
  1. 读取 .claude/memory/context.json
  2. 查看上次的会话日志
  3. 从 Agent Trace 获取近期编辑记录
  4. 找出未完成的任务
  5. 生成上下文摘要

利用 Agent Trace:

# 前回の編集ファイル一覧を取得
tail -50 .claude/state/agent-trace.jsonl | jq -r '.files[].path' | sort -u

# プロジェクト情報を取得
tail -1 .claude/state/agent-trace.jsonl | jq '.metadata'
会话期间
  1. 将重要决策记录到 decisions.md
  2. 将新模式添加到 patterns.md
  3. 将文件生成情况记录到 session-log.md
会话结束时
  1. 生成会话摘要
  2. 更新 context.json
  3. 记录交接给下次会话的事项

记忆优化(CC 2.1.49+)

从 Claude Code 2.1.49 起,恢复会话时的内存用量减少了 68%。

推荐工作流
# 長時間作業は --resume を活用
claude --resume

# 大規模タスクは分割してセッション再開
claude --resume "続きから"
场景建议
长时间实现工作每隔 1-2 小时恢复一次会话
大规模重构按功能拆分会话
内存不足警告立即使用 --resume 恢复会话

内存效率已大幅改善,请积极利用会话恢复功能。

/recap — 查看会话期间的进展(CC 2.1.108+)

在 CC 2.1.108 中新增的 /recap 命令(/rewind 的别名),用于快速回顾当前会话中 到目前为止完成的工作。 在使用 --resume 返回其他会话前,或长时间工作期间查看进展时,配合使用效果更佳。

建议使用时机:

时机用法
使用 --resume 恢复会话前先用 /recap 整理上下文,再运行 claude --resume
恢复 Breezing 的 Worker 前用 /recap 查看会话进展,再开始下一个任务
长时间实现工作(超过 1 小时)期间用 /recap 查看进展 → 必要时手动追加到 session-log.md
# 典型的な使用フロー
# 1. 現在の作業状況を確認
/recap

# 2. 必要に応じて session-log.md に手動追記後、セッションを再開
claude --resume

/recap 仅用于回顾当前会话。要查看上次会话的内容,请查看 session-log.md,或通过 claude --resume 继承上下文。


使用示例

从上次的进度继续
ユーザー: 「前回の続きから」

Claude Code:
📋 前回のセッション(2024-01-15)

完了したタスク:
- ユーザー認証機能
- ログインページ

未完了:
- ログアウト機能
- パスワードリセット

「ログアウト機能を作って」と言えば続きを実装します。
查看项目情况
ユーザー: 「このプロジェクトについて教えて」

Claude Code:
📁 プロジェクト: my-blog

技術スタック:
- Next.js + Tailwind CSS + Supabase

現在のフェーズ: コア機能開発
進捗: 40% 完了

最近の決定:
- Supabase Auth を採用
- App Router を使用

与 Claude Code 自动记忆的关系(D22)

Claude Code 2.1.32+ 提供“自动记忆”功能,可将会话间的学习内容自动保存到 ~/.claude/projects/<project>/memory/MEMORY.md。

它与 Harness 的记忆系统以三层架构共存:

层级系统内容管理方式
Layer 1Claude Code 自动记忆通用学习内容(避免错误、工具用法)隐式・自动
Layer 2Harness SSOT项目特定的决策和模式显式・手动
Layer 3Agent Memory按 Agent 区分的任务学习内容Agent 定义

使用方式:

  • Layer 1 的知识对整个项目都很重要 → 使用 /memory ssot 将其提升到 Layer 2
  • 日常学习交由 Layer 1 处理(不要禁用)
  • 使用 Agent Teams 时,注意并行写入

详情:D22:三层记忆架构


注意事项

  • 自动保存:建议通过 hooks/Stop 在会话结束时自动将摘要追加到 session-log.md(如果尚未配置,也可手动操作)
  • 隐私:不要记录机密信息
  • Git 方针:建议共享 decisions.md/patterns.md,建议本地保存 session-log.md/context.json/.claude/state/(详情:docs/MEMORY_POLICY.md)
  • 容量管理:日志变大时,建议使用“整理会话日志”

评论

支持 Markdown