← 返回
未分类 Key

Ccp Session Update

Context Continuity Protocol session update — the ops sequence Liv runs at the end of every significant session. Updates STATUS.md, posts to Notion daily log,...
上下文持续协议会话更新— Liv 在每个重要会话结束时执行的操作序列。更新 STATUS.md,发布到 Notion 日志,...
nissan
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 224
下载
💾 1
安装
1
版本
#latest

概述

CCP Session Update

Context Continuity Protocol — the ops sequence Liv runs at the end of every significant session.

Goal: zero knowledge loss between sessions, channels, and agents.


What a CCP update covers

Four layers, in order of priority:

LayerWhereWhy
---------
STATUS.mdDisk (projects//STATUS.md)Ground truth. Any agent, any session can read it. Write this FIRST.
NotionCloud (Daily Activity Log DB)Nissan's overview — human-readable summary of what happened
Obsidian VaultProton Drive (~/Library/CloudStorage/ProtonDrive-monkfenix@proton.me-folder/Vault/)Personal knowledge base — daily note + per-project file
PlaneLocal Docker (localhost:8086)Task tracking — create issues for new work, close completed ones

Always write STATUS.md before spawning Liv. It's the source Notion and Obsidian summarise from. Race condition if you write it after.


1. STATUS.md — update pattern

For every project touched in the session:

# Step 1: Read first — never overwrite blindly
cat projects/<slug>/STATUS.md

# Step 2: Update in place

Canonical format:

# [Project Name] — STATUS
_Last updated: YYYY-MM-DD HH:MM AEST_

## RESUME FROM HERE
[Single clear statement of the true next action — not a list]

## Live URLs
[All deployed endpoints, GitHub, devnet addresses]

## Current State
[Key metrics, test results, what shipped]

## Key Decisions
- YYYY-MM-DD: [decision] [APPEND ONLY — never delete old entries]

## Blockers
[What's pending, who owns it — clear resolved ones]

Rules:

  • Timestamp at top, every update
  • RESUME FROM HERE = one sentence, actionable
  • Key Decisions = append-only ledger (never delete)
  • Clear resolved blockers, add new ones
  • Update Live URLs if anything deployed or changed

2. Notion Daily Activity Log

DB ID: 322eb552-581a-81e5-beb0-d1f361e7580f

⚠️ NOT 322eb552-581a-810c-876b-d70978cd976c — that ID is wrong, API will 404.

API key: Use the Paid key — the old key is revoked:

NOTION_KEY=$(op item get bg2gpqhpta6an5n4prn2zzycya --vault OpenClaw --reveal --fields credential)

Create a log entry:

curl -s -X POST https://api.notion.com/v1/pages \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2022-06-28" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": { "database_id": "322eb552-581a-81e5-beb0-d1f361e7580f" },
    "properties": {
      "Name": { "title": [{ "text": { "content": "Session title — YYYY-MM-DD" } }] },
      "Date": { "date": { "start": "YYYY-MM-DD" } },
      "Agent": { "rich_text": [{ "text": { "content": "Loki" } }] }
    }
  }'

Keep the title descriptive: "Hackathon wrap + tour video — 2026-03-24" beats "Session log".


3. Obsidian Vault — update pattern

Vault path: ~/Library/CloudStorage/ProtonDrive-monkfenix@proton.me-folder/Vault/

Two files to write per session:

Daily note — Vault/daily/YYYY-MM-DD.md

Create or append. This is what Nissan reads first.

# YYYY-MM-DD

## What happened
[2-3 paragraphs, human-readable prose — not a task list]

## Agents active
- Loki (orchestration)
- Kit (code)
- Quill (journal)
- Liv (CCP)

## Decisions
- [key decision 1]
- [key decision 2]

## Tomorrow
[What's next — copy from STATUS.md RESUME FROM HERE]

Project file — Vault/projects/.md

Create if new project, update if existing.

# [Project Name]

_Status: [Active / Shipped / Paused]_
_Last updated: YYYY-MM-DD_

## What it is
[One paragraph]

## Live URLs
[Copy from STATUS.md]

## Current state
[Where things stand]

## Next steps
[Copy from STATUS.md RESUME FROM HERE]

4. Plane — the non-obvious auth pattern

⚠️ Critical: Plane CE does NOT support HTTP API token auth. A valid token in ~/.config/openclaw/.plane-api-token exists but returns 401 on every HTTP call. Do not debug this. It will never work.

The only working pattern is Django shell via Docker:

docker exec plane-aio bash -c "
cd /app/backend
python manage.py shell -c \"
from plane.db.models import Issue, Project, State
from django.contrib.auth import get_user_model
User = get_user_model()
user = User.objects.filter(email='monkfenix@proton.me').first()

proj = Project.objects.get(identifier='AGNT')
state = State.objects.filter(project=proj, name='Done').first()

i = Issue.objects.create(
    project=proj,
    workspace=proj.workspace,
    name='Issue title here',
    description='Optional description',
    state=state,
    created_by=user
)
print(f'{proj.identifier}-{i.sequence_id}: {i.name}')
\"
"

Project identifiers:

IDProject
------
AGNTAgent Team
INFRAInfrastructure & Ops
GROWContent & Growth
SANDSandSync
CLAWOpenClaw Config
HCPHybrid Control Plane
MAXXMaxx

State names: Backlog · Todo · In Progress · Done · Cancelled

Change name= and identifier= per issue. Run multiple issues in one shell invocation if needed.


5. Agent delegation

TaskAgentNotes
---------
STATUS.md updatesLokiMust happen BEFORE Liv is spawned
Notion Daily LogLivAPI call, ~30 seconds
Obsidian Vault filesLivWrite daily note + project file(s)
Plane issue creationLivDjango shell — see pattern above
Journal entriesQuillSpawned separately with OUTBOX content

Spawn Quill and Liv in parallel — they don't depend on each other. Quill needs OUTBOX entries written first; Liv needs STATUS.md written first.


6. Common mistakes

MistakeFix
------
Using Notion DB ID with 810c in itUse 81e5322eb552-581a-81e5-beb0-d1f361e7580f
Using old Notion API key (op://OpenClaw/Notion API Key/credential)Use item ID bg2gpqhpta6an5n4prn2zzycya — old key is revoked
Debugging Plane HTTP token authDon't. Use Django shell only. Always.
Writing STATUS.md after spawning LivRace condition — STATUS.md is the source. Write it first.
Skipping Obsidian daily noteNissan reads this. It's the most human-facing output of the wrap.
Overwriting STATUS.md without reading it firstAlways cat first — Key Decisions are append-only, can't recover deleted ones
Creating new STATUS.md from scratchRead existing first. Preserve all Key Decisions.

Quick checklist

[ ] STATUS.md updated for each project touched (timestamp, RESUME, decisions, blockers)
[ ] Notion Daily Log entry created (correct DB ID + active API key)
[ ] Obsidian daily note written (Vault/daily/YYYY-MM-DD.md)
[ ] Obsidian project file(s) updated (Vault/projects/<slug>.md)
[ ] Plane issues created/closed for new work items (Django shell)
[ ] Quill spawned for journal entries (if OUTBOX entries exist)

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-23 16:42 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Observability Lgtm

nissan
Set up a full local LGTM observability stack (Loki + Grafana + Tempo + Prometheus + Alloy) for FastAPI apps. One Docker
★ 0 📥 977
content-creation

Showcase Video Builder

nissan
使用 ffmpeg 将截图、头像和文字叠加制作精美的展示和演示视频,适用于演示视频、黑客马拉松展示、专业作品集等场景。
★ 0 📥 962
content-creation

Fact Checker

nissan
对照源数据验证 Markdown 草稿中的声明、数字和事实。适用场景:发布前审核博客文章、报告或文档的准确性。
★ 3 📥 2,129