← All skills
Tencent SkillHub · Communication & Collaboration

Session History Enhanced

Session history system for OpenClaw — persistent, browsable, resumable chat sessions with SQLite index, archive/restore, migration, paginated UI, and chat dr...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Session history system for OpenClaw — persistent, browsable, resumable chat sessions with SQLite index, archive/restore, migration, paginated UI, and chat dr...

⬇ 0 downloads ★ 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md, references/backend-protocol-schemas.ts.txt, references/backend-history-migration.ts.txt, references/backend-session-archive.ts.txt, references/frontend-state-changes.txt, references/backend-rpc-handlers.ts.txt

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.1

Documentation

ClawHub primary doc Primary doc: SKILL.md 11 sections Open source page

Session History

Transforms OpenClaw's single-slot session model into a multi-session history system with SQLite indexing, archive/restore, and full dashboard UI.

Architecture

~/.openclaw/agents/{agentId}/sessions/ ├── sessions.json # routing table (unchanged) ├── history.db # SQLite index (auto-created) ├── {activeSessionId}.jsonl # active transcript └── archive/ └── {sessionId}.jsonl # archived transcripts Lifecycle: On /new or session reset → old transcript moves to archive/, metadata indexed in SQLite On archive (from UI) → session deactivated, transcript archived, indexed, removed from store On resume → transcript moves back from archive/, SQLite status flips to active Migration auto-runs on first access: indexes all orphaned .jsonl files

Backend (new files)

FileReferencePurposesrc/config/sessions/history-db.tsreferences/backend-history-db.ts.txtSQLite CRUD operationssrc/config/sessions/history-migration.tsreferences/backend-history-migration.ts.txtOne-time migration + initHistoryDbWithMigrationsrc/gateway/session-archive.tsreferences/backend-session-archive.ts.txtArchive/restore logic

Backend (modified files)

FileReferencePurposesrc/gateway/protocol/schema/sessions.tsreferences/backend-protocol-schemas.ts.txtTypeBox schemas for new RPCssrc/gateway/server-methods/sessions.tsreferences/backend-rpc-handlers.ts.txt5 RPC handler implementations

Frontend (modified files)

FileReferencePurposeui/src/ui/controllers/sessions.tsreferences/frontend-controllers-sessions.ts.txtFull controller with archived session CRUD + paginationui/src/ui/views/sessions.tsreferences/frontend-views-sessions.ts.txtFull view with Session History section, Archive button, paginationui/src/ui/app-view-state.tsreferences/frontend-state-changes.txtState + app.ts + app-render.ts + app-chat.ts + app-settings.ts + app-render.helpers.ts wiring

Installation

See references/INSTALL.md for step-by-step instructions.

RPC Endpoints

MethodParamsPurposesessions.archivekeyArchive active session — deactivates, moves transcript, indexes in SQLite, removes from storesessions.archivedagentId?, limit?, offset?, search?, status?List archived sessions with pagination and searchsessions.resumesessionId, agentId?Restore archived session to activesessions.renamesessionId, displayName, agentId?Update session display namesessions.deleteArchivedsessionId, agentId?, deleteTranscript?Delete archived session + optional transcript

Sessions Page

Active Sessions grid — with Archive button (hidden for Main Session), History, Delete Session History section — archived sessions with search, Resume/Rename/Delete buttons Pagination — both sections have 10/20/25 page-size dropdown + Prev/Next

Chat Dropdown

Filters out cron/subagent/openai sessions (only user-facing sessions shown) "Recent Sessions" <optgroup> with 10 most recent archived sessions "📋 View All Sessions" link navigates to Sessions tab Selecting an archived session auto-resumes it

Key Design Decisions

SQLite over JSON: Supports search, pagination, and indexing without loading everything into memory Server-side pagination for archives: Pass limit/offset to sessions.archived RPC Client-side pagination for live sessions: Slice the already-loaded array sessionId-based dropdown values: Archived sessions all share the same sessionKey (agent:main:main), so the dropdown uses __archived__:{sessionId} as the option value sessions.archive reuses sessions.delete param schema: Both need just { key }

Common Pitfalls

RPC handler signature: Must use ({ params, respond }) destructuring, not (request, respond) assertValidParams: Takes 4 args: (params, validator, "method.name", respond) Sessions directory: Use resolveSessionTranscriptsDirForAgent(agentId) — NOT resolveGatewaySessionStoreTarget(config) Pagination on every load: All loadArchivedSessions calls must pass limit and offset Page reset: Changing page size or search query must reset page to 1 Archived session dropdown filtering: Filter by sessionId, not sessionKey (all archived sessions share the same sessionKey)

Category context

Messaging, meetings, inboxes, CRM, and teammate communication surfaces.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
5 Files1 Docs
  • SKILL.md Primary doc
  • references/backend-history-migration.ts.txt Files
  • references/backend-protocol-schemas.ts.txt Files
  • references/backend-rpc-handlers.ts.txt Files
  • references/backend-session-archive.ts.txt Files
  • references/frontend-state-changes.txt Files