palaia 2.4.dev2__tar.gz → 2.4.dev3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {palaia-2.4.dev2/palaia.egg-info → palaia-2.4.dev3}/PKG-INFO +1 -1
- {palaia-2.4.dev2 → palaia-2.4.dev3}/SKILL.md +45 -5
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/SKILL.md +45 -5
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/__init__.py +1 -1
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/misc.py +18 -1
- {palaia-2.4.dev2 → palaia-2.4.dev3/palaia.egg-info}/PKG-INFO +1 -1
- {palaia-2.4.dev2 → palaia-2.4.dev3}/pyproject.toml +1 -1
- {palaia-2.4.dev2 → palaia-2.4.dev3}/CHANGELOG.md +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/LICENSE +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/MANIFEST.in +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/README.md +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/__main__.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/__init__.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/migrate.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/postgres.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/protocol.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/sqlite.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/bm25.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli_args.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli_commands.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli_helpers.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli_nudge.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/config.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/curate.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/decay.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/doctor/__init__.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/doctor/checks.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/doctor/fixes.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/doctor/report.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/embed_client.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/embed_server.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/embeddings.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/entry.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/enums.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/frontmatter.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/index.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/ingest.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/lock.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/locking.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/mcp/__init__.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/mcp/server.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/memo.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/metadata_index.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/migrate.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/nudge.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/packages.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/priorities.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/process_runner.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/project.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/project_lock.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/scope.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/search.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/__init__.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/admin.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/curate.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/ingest.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/memo.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/package.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/priorities.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/process.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/project.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/query.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/status.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/write.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/significance.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/store.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/sync.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/ui.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/wal.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/SOURCES.txt +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/dependency_links.txt +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/entry_points.txt +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/requires.txt +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/top_level.txt +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/setup.cfg +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_agent_aliases.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_agent_flag.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_audit_fixes.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_auto_title.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_backend_migrate.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_backend_postgres.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_backend_sqlite.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_bm25.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_bounded_gc.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_capture_level.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_chain_cli.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_concurrent_writes.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_config.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_config_detection.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_cross_platform_lock.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_cross_project.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_curate.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_decay.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_detect.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor_fix_chain.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor_memos.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor_staleness.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor_version.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_embed_server.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_embed_server_socket.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_embeddings.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_entry_classes.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_frontmatter.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_gemini_embeddings.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_hit_decay.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_incremental_indexing.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_index.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_ingest.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_init_gatekeeper.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_init_no_agent.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_list_filters.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_locking.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_mcp_server.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_memo.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_metadata_index.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_migrate.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_multi_agent.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_nudge_tracker.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_packages.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_plugin_defaults_upgrade.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_priorities.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_process_nudge.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_process_runner.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_project.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_project_owner.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_scope.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_scope_enforcement.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_search.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_search_cache.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_search_chain.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_significance.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_skill.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_ssrf.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_status_index_hint.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_store.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_sync.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_temporal_queries.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_unicode.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_ux_improvements.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_wal.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_wal_corruption.py +0 -0
- {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_warmup_reindex.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: palaia
|
|
3
|
-
version: "2.4.
|
|
3
|
+
version: "2.4.dev3"
|
|
4
4
|
description: >
|
|
5
5
|
Local, crash-safe persistent memory for OpenClaw agents.
|
|
6
6
|
SQLite-backed by default. Semantic search, projects, scopes, auto-capture.
|
|
@@ -25,17 +25,18 @@ metadata:
|
|
|
25
25
|
- command: "python3 -m pip install --upgrade 'palaia[fastembed]' && (npm install -g @byte5ai/palaia@latest 2>/dev/null || true) && palaia doctor --fix && palaia warmup"
|
|
26
26
|
label: "Upgrade Palaia with semantic search (pip + npm plugin) and run health checks"
|
|
27
27
|
postUpdateMessage: >
|
|
28
|
-
Palaia has been updated to v2.
|
|
29
|
-
|
|
28
|
+
Palaia has been updated to v2.4. New: session continuity (automatic briefings and
|
|
29
|
+
summaries), privacy markers, recency boost, progressive disclosure. Run `palaia doctor --fix` to upgrade.
|
|
30
30
|
plugin:
|
|
31
31
|
slot: memory
|
|
32
32
|
package: "@byte5ai/palaia"
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
-
# Palaia v2.
|
|
35
|
+
# Palaia v2.4 — Agent Memory Skill
|
|
36
36
|
|
|
37
37
|
Palaia is the memory system for OpenClaw agents. It gives you persistent, searchable, crash-safe memory across sessions. You don't need to understand how it works — just use the commands below.
|
|
38
38
|
|
|
39
|
+
<!-- begin:install -->
|
|
39
40
|
## First-Time Setup
|
|
40
41
|
|
|
41
42
|
When a user asks you to "set up palaia", "enable memory", or "remember things across sessions", run these steps:
|
|
@@ -136,6 +137,7 @@ npm install -g @byte5ai/palaia@latest
|
|
|
136
137
|
```
|
|
137
138
|
|
|
138
139
|
After the manual update, `palaia upgrade` will be available for future updates.
|
|
140
|
+
<!-- end:install -->
|
|
139
141
|
|
|
140
142
|
## Auto-Check (run every time this skill is loaded)
|
|
141
143
|
|
|
@@ -290,6 +292,9 @@ palaia query "what's the rate limit"
|
|
|
290
292
|
# Filter by type and status
|
|
291
293
|
palaia query "tasks" --type task --status open
|
|
292
294
|
|
|
295
|
+
# Filter by tags
|
|
296
|
+
palaia query "session-summary" --tags session-summary
|
|
297
|
+
|
|
293
298
|
# Search within a project
|
|
294
299
|
palaia query "deploy steps" --project myapp
|
|
295
300
|
|
|
@@ -324,6 +329,9 @@ palaia list
|
|
|
324
329
|
# Filter by tier, type, status
|
|
325
330
|
palaia list --tier warm --type task --status open --priority high
|
|
326
331
|
|
|
332
|
+
# Limit results
|
|
333
|
+
palaia list --type task --status open --limit 5
|
|
334
|
+
|
|
327
335
|
# Filter by project or assignee
|
|
328
336
|
palaia list --project myapp --assignee Elliot
|
|
329
337
|
```
|
|
@@ -593,7 +601,7 @@ palaia instance set Claw-Main
|
|
|
593
601
|
| Review accumulated knowledge | `palaia curate analyze` |
|
|
594
602
|
| Share knowledge | `palaia sync export` or `palaia package export` |
|
|
595
603
|
| Check for messages | `palaia memo inbox` |
|
|
596
|
-
| Start of session |
|
|
604
|
+
| Start of session | Session briefing is now automatic. Just run `palaia doctor` and check `palaia memo inbox`. |
|
|
597
605
|
|
|
598
606
|
**Do NOT manually write:** facts, decisions, or preferences that came up in the current conversation. Auto-Capture handles these.
|
|
599
607
|
|
|
@@ -632,6 +640,33 @@ palaia init --capture-level <off|minimal|normal|aggressive>
|
|
|
632
640
|
|
|
633
641
|
---
|
|
634
642
|
|
|
643
|
+
## Session Continuity (NEW in v2.4)
|
|
644
|
+
|
|
645
|
+
Session continuity gives agents automatic context restoration across sessions. These features work out of the box with the OpenClaw plugin -- no manual setup needed.
|
|
646
|
+
|
|
647
|
+
### Session Briefings
|
|
648
|
+
On session start, Palaia automatically injects a briefing with the last session summary and any open tasks. This means agents resume work without needing to manually search for context.
|
|
649
|
+
|
|
650
|
+
### Session Summaries
|
|
651
|
+
When a session ends or resets, Palaia auto-saves a summary of what happened. These are stored as entries with the `session-summary` tag and can be queried:
|
|
652
|
+
```bash
|
|
653
|
+
palaia query "session-summary" --tags session-summary
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
### Privacy Markers
|
|
657
|
+
Wrap sensitive content in `<private>...</private>` blocks to exclude it from auto-capture. Private blocks are stripped before any extraction runs.
|
|
658
|
+
|
|
659
|
+
### Recency Boost
|
|
660
|
+
Fresh memories are ranked higher in recall results. The boost factor is configurable via `recallRecencyBoost` (default `0.3`, set to `0` to disable).
|
|
661
|
+
|
|
662
|
+
### Progressive Disclosure
|
|
663
|
+
When result sets exceed 100 entries, Palaia uses compact mode to keep context manageable. Use `--limit` to control result size explicitly:
|
|
664
|
+
```bash
|
|
665
|
+
palaia list --type task --status open --limit 5
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
---
|
|
669
|
+
|
|
635
670
|
## Plugin Configuration (OpenClaw)
|
|
636
671
|
|
|
637
672
|
Set in `openclaw.json` under `plugins.entries.palaia.config`:
|
|
@@ -649,6 +684,11 @@ Set in `openclaw.json` under `plugins.entries.palaia.config`:
|
|
|
649
684
|
| `embeddingServer` | `true` | Keep embedding model loaded for fast queries |
|
|
650
685
|
| `showMemorySources` | `true` | Show memory source footnotes |
|
|
651
686
|
| `showCaptureConfirm` | `true` | Show capture confirmations |
|
|
687
|
+
| `sessionSummary` | `true` | Auto-save session summaries on end/reset |
|
|
688
|
+
| `sessionBriefing` | `true` | Load session context on session start |
|
|
689
|
+
| `sessionBriefingMaxChars` | `1500` | Max chars for session briefing injection |
|
|
690
|
+
| `captureToolObservations` | `true` | Track tool usage as session context |
|
|
691
|
+
| `recallRecencyBoost` | `0.3` | Boost factor for fresh memories (0=off) |
|
|
652
692
|
|
|
653
693
|
---
|
|
654
694
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: palaia
|
|
3
|
-
version: "2.4.
|
|
3
|
+
version: "2.4.dev3"
|
|
4
4
|
description: >
|
|
5
5
|
Local, crash-safe persistent memory for OpenClaw agents.
|
|
6
6
|
SQLite-backed by default. Semantic search, projects, scopes, auto-capture.
|
|
@@ -25,17 +25,18 @@ metadata:
|
|
|
25
25
|
- command: "python3 -m pip install --upgrade 'palaia[fastembed]' && (npm install -g @byte5ai/palaia@latest 2>/dev/null || true) && palaia doctor --fix && palaia warmup"
|
|
26
26
|
label: "Upgrade Palaia with semantic search (pip + npm plugin) and run health checks"
|
|
27
27
|
postUpdateMessage: >
|
|
28
|
-
Palaia has been updated to v2.
|
|
29
|
-
|
|
28
|
+
Palaia has been updated to v2.4. New: session continuity (automatic briefings and
|
|
29
|
+
summaries), privacy markers, recency boost, progressive disclosure. Run `palaia doctor --fix` to upgrade.
|
|
30
30
|
plugin:
|
|
31
31
|
slot: memory
|
|
32
32
|
package: "@byte5ai/palaia"
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
-
# Palaia v2.
|
|
35
|
+
# Palaia v2.4 — Agent Memory Skill
|
|
36
36
|
|
|
37
37
|
Palaia is the memory system for OpenClaw agents. It gives you persistent, searchable, crash-safe memory across sessions. You don't need to understand how it works — just use the commands below.
|
|
38
38
|
|
|
39
|
+
<!-- begin:install -->
|
|
39
40
|
## First-Time Setup
|
|
40
41
|
|
|
41
42
|
When a user asks you to "set up palaia", "enable memory", or "remember things across sessions", run these steps:
|
|
@@ -136,6 +137,7 @@ npm install -g @byte5ai/palaia@latest
|
|
|
136
137
|
```
|
|
137
138
|
|
|
138
139
|
After the manual update, `palaia upgrade` will be available for future updates.
|
|
140
|
+
<!-- end:install -->
|
|
139
141
|
|
|
140
142
|
## Auto-Check (run every time this skill is loaded)
|
|
141
143
|
|
|
@@ -290,6 +292,9 @@ palaia query "what's the rate limit"
|
|
|
290
292
|
# Filter by type and status
|
|
291
293
|
palaia query "tasks" --type task --status open
|
|
292
294
|
|
|
295
|
+
# Filter by tags
|
|
296
|
+
palaia query "session-summary" --tags session-summary
|
|
297
|
+
|
|
293
298
|
# Search within a project
|
|
294
299
|
palaia query "deploy steps" --project myapp
|
|
295
300
|
|
|
@@ -324,6 +329,9 @@ palaia list
|
|
|
324
329
|
# Filter by tier, type, status
|
|
325
330
|
palaia list --tier warm --type task --status open --priority high
|
|
326
331
|
|
|
332
|
+
# Limit results
|
|
333
|
+
palaia list --type task --status open --limit 5
|
|
334
|
+
|
|
327
335
|
# Filter by project or assignee
|
|
328
336
|
palaia list --project myapp --assignee Elliot
|
|
329
337
|
```
|
|
@@ -593,7 +601,7 @@ palaia instance set Claw-Main
|
|
|
593
601
|
| Review accumulated knowledge | `palaia curate analyze` |
|
|
594
602
|
| Share knowledge | `palaia sync export` or `palaia package export` |
|
|
595
603
|
| Check for messages | `palaia memo inbox` |
|
|
596
|
-
| Start of session |
|
|
604
|
+
| Start of session | Session briefing is now automatic. Just run `palaia doctor` and check `palaia memo inbox`. |
|
|
597
605
|
|
|
598
606
|
**Do NOT manually write:** facts, decisions, or preferences that came up in the current conversation. Auto-Capture handles these.
|
|
599
607
|
|
|
@@ -632,6 +640,33 @@ palaia init --capture-level <off|minimal|normal|aggressive>
|
|
|
632
640
|
|
|
633
641
|
---
|
|
634
642
|
|
|
643
|
+
## Session Continuity (NEW in v2.4)
|
|
644
|
+
|
|
645
|
+
Session continuity gives agents automatic context restoration across sessions. These features work out of the box with the OpenClaw plugin -- no manual setup needed.
|
|
646
|
+
|
|
647
|
+
### Session Briefings
|
|
648
|
+
On session start, Palaia automatically injects a briefing with the last session summary and any open tasks. This means agents resume work without needing to manually search for context.
|
|
649
|
+
|
|
650
|
+
### Session Summaries
|
|
651
|
+
When a session ends or resets, Palaia auto-saves a summary of what happened. These are stored as entries with the `session-summary` tag and can be queried:
|
|
652
|
+
```bash
|
|
653
|
+
palaia query "session-summary" --tags session-summary
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
### Privacy Markers
|
|
657
|
+
Wrap sensitive content in `<private>...</private>` blocks to exclude it from auto-capture. Private blocks are stripped before any extraction runs.
|
|
658
|
+
|
|
659
|
+
### Recency Boost
|
|
660
|
+
Fresh memories are ranked higher in recall results. The boost factor is configurable via `recallRecencyBoost` (default `0.3`, set to `0` to disable).
|
|
661
|
+
|
|
662
|
+
### Progressive Disclosure
|
|
663
|
+
When result sets exceed 100 entries, Palaia uses compact mode to keep context manageable. Use `--limit` to control result size explicitly:
|
|
664
|
+
```bash
|
|
665
|
+
palaia list --type task --status open --limit 5
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
---
|
|
669
|
+
|
|
635
670
|
## Plugin Configuration (OpenClaw)
|
|
636
671
|
|
|
637
672
|
Set in `openclaw.json` under `plugins.entries.palaia.config`:
|
|
@@ -649,6 +684,11 @@ Set in `openclaw.json` under `plugins.entries.palaia.config`:
|
|
|
649
684
|
| `embeddingServer` | `true` | Keep embedding model loaded for fast queries |
|
|
650
685
|
| `showMemorySources` | `true` | Show memory source footnotes |
|
|
651
686
|
| `showCaptureConfirm` | `true` | Show capture confirmations |
|
|
687
|
+
| `sessionSummary` | `true` | Auto-save session summaries on end/reset |
|
|
688
|
+
| `sessionBriefing` | `true` | Load session context on session start |
|
|
689
|
+
| `sessionBriefingMaxChars` | `1500` | Max chars for session briefing injection |
|
|
690
|
+
| `captureToolObservations` | `true` | Track tool usage as session context |
|
|
691
|
+
| `recallRecencyBoost` | `0.3` | Boost factor for fresh memories (0=off) |
|
|
652
692
|
|
|
653
693
|
---
|
|
654
694
|
|
|
@@ -78,7 +78,17 @@ def unlock_project(root: Path, *, project: str) -> dict:
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
def get_skill_content() -> dict:
|
|
81
|
-
"""Read and return SKILL.md content.
|
|
81
|
+
"""Read and return SKILL.md content.
|
|
82
|
+
|
|
83
|
+
Strips the install/update section (between ``<!-- begin:install -->``
|
|
84
|
+
and ``<!-- end:install -->``) because ``palaia skill`` is only called
|
|
85
|
+
when palaia is already installed — the install block wastes context window.
|
|
86
|
+
ClawHub and GitHub still see the full file.
|
|
87
|
+
|
|
88
|
+
Returns dict with 'skill' or 'error'.
|
|
89
|
+
"""
|
|
90
|
+
import re
|
|
91
|
+
|
|
82
92
|
skill_path = Path(__file__).parent.parent / "SKILL.md"
|
|
83
93
|
if not skill_path.exists():
|
|
84
94
|
return {
|
|
@@ -88,6 +98,13 @@ def get_skill_content() -> dict:
|
|
|
88
98
|
)
|
|
89
99
|
}
|
|
90
100
|
content = skill_path.read_text(encoding="utf-8")
|
|
101
|
+
# Strip install section — agent already has palaia installed
|
|
102
|
+
content = re.sub(
|
|
103
|
+
r"<!-- begin:install -->.*?<!-- end:install -->\n*",
|
|
104
|
+
"",
|
|
105
|
+
content,
|
|
106
|
+
flags=re.DOTALL,
|
|
107
|
+
)
|
|
91
108
|
return {"skill": content}
|
|
92
109
|
|
|
93
110
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|