Token导航 LogoToken导航

Agent Skill · 研究检索

lethe(lethe 搜索)

lethe 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

lethe 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为操作浏览器;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 20,093。

总安装 5,337周安装 218GitHub Stars 公开资料未说明下载 1,727核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
0.1.8

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:lethe(lethe 搜索)
来源仓库:https://github.com/mentholmike/lethe
安装命令:
openclaw skills install lethe
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install lethe

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

lethe 作为 AI Agent 的持久记忆层,管理启动方向与历史决策记录。适用于长期任务中保持上下文连贯性与主动召回关键信息。通过 clawhub 安装并使用 openclaw skills install lethe 命令部署。内存写入频率与容量受限于当前配置,不宜存储海量原始数据。

支持标志管理与主动查询,有助于提升多轮对话质量。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install lethe;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

lethe 怎么安装?

在终端执行 openclaw skills install lethe。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

lethe 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

lethe 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

lethe 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

lethe 用的人多吗?

公开数据是累计安装 5,337 次,近一周安装 218 次,下载 1,727 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

lethe 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
lethe

lethe 搜索 · 本页

5,337—操作浏览器MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
lethe-memory
description
Lethe — persistent memory layer for AI agents. Handles startup orientation, active memory queries, proactive recall, decision recording, and flag management. This is the agent's primary memory system — it supersedes all other memory files and scratch pads.
user-invocable
true
metadata
openclaw
emoji
🧠
requires
bins
["curl", "jq"]
anyBins
["docker"]
notes

Lethe — Persistent Agent Memory

Lethe is your long-term memory. Every decision, observation, bug, discovery, and flag persists across sessions and survives container restarts. The plugin handles context assembly automatically. This skill handles orientation, queries, recording, and error recovery.

Lethe is the single source of truth. The Library (markdown files in workspace/Library/) is deprecated — derived snapshots are fine, but all knowledge lives in Lethe events first.

Mental model:

  • Events are append-only. Nothing is ever deleted unless you explicitly delete it.
  • Compaction synthesizes events into a narrative summary — it does not delete history.
  • Memory search retrieves facts. Recording captures decisions. Flags surface uncertainty.
  • Threads are persistent work items. Events attach to threads.

Startup Sequence — Run First, Always

On every new session, orient yourself before answering the user.

⚠️ Critical: All Lethe API routes are under /api/. Base URL is http://localhost:18483/api.

Step 1 — Get session state:

curl -s "http://localhost:18483/api/sessions/${SESSION_KEY}/summary"
SESSION_KEY handling: The Lethe plugin injects SESSION_KEY automatically. If the variable is empty or the API returns "session not found", create a new session: ``bash curl -s -X POST "http://localhost:18483/api/sessions" \ -H "Content-Type: application/json" \ -d '{"agent_id": "archimedes", "project_id": "default"}' ` Use the returned session_id as your SESSION_KEY`. Do not hardcode session IDs — they are session-specific and mixing them conflates unrelated conversations.

Step 2 — Check flags:

curl -s "http://localhost:18483/api/flags"

Step 3 — Orient:

  • What was in progress?
  • What was decided?
  • What is open?
  • What does the human need?

Then ask the human what they need.


Proactive Recall — Check Before Re-reasoning

Before answering questions about past decisions or prior context — always check Lethe first. Never invent. Never re-reason when the answer already exists.

Activation triggers:

  • User asks about past decisions, prior work, or previous conversations
  • User says "remember", "did we", "were we", "what was"
  • User references something from a previous session
  • You are about to re-reason something you might already know

The decision tree:

User asks about prior context
    │
    ├─ "remember" / "did we" / "were we" / "what was"
    │   └─ Search: GET /api/events/search?q=<relevant terms>
    │
    ├─ "status of X" / "open threads"
    │   └─ Search: GET /api/events/search?q=X status
    │
    └─ General prior context question
        └─ GET /api/sessions/${KEY}/events?limit=10

Search → Found: Cite the specific event. "On March 24 I recorded: [content]."

Search → Not found: "I don't have that in memory yet." Do not invent.


The Logging Reflex — Log Immediately, Every Time

The non-negotiable rule: After every non-trivial action, log it. Not next session. Not when prompted. Immediately.

If your response contains "done", "fixed", "deployed", "built", "changed" — and you haven't logged it yet — stop and log it first.

The 30-second rule: If the answer to "what were we working on?" takes more than 30 seconds to figure out, something should have been logged.

Anti-patterns — these mean you failed to log:

  • ❌ "I think we were working on..." — should have been logged
  • ❌ "Let me check what happened last session..." — startup should have already done this
  • ❌ "I'm not sure what approach we decided on..." — the decision was not logged
  • ❌ Re-doing something already decided — the decision was not logged

Fastest path — use lethe-log:

~/.openclaw/workspace/skills/lethe-memory/lethe-log record "Decision: use X because Y"
~/.openclaw/workspace/skills/lethe-memory/lethe-log log "Fixed: docker build failed because strings import was missing"
~/.openclaw/workspace/skills/lethe-memory/lethe-log flag "This approach may not scale if user count grows"
~/.openclaw/workspace/skills/lethe-memory/lethe-log task "Deploy v2" --status done

Or via direct API:

curl -s -X POST "http://localhost:18483/api/events" \
  -H "Content-Type: application/json" \
  -d "{\"session_id\": \"$SESSION_KEY\", \"project_id\": \"default\", \"event_type\": \"log\", \"content\": \"...\", \"tags\": [\"tag1\"], \"confidence\": 0.95}"

Mandatory logging triggers:

TriggerTypeExample
Task completedtask or log"RSS heartbeat deployed — runs every 4h"
Decision maderecord"Decision: use X instead of Y because Z"
Bug or error fixedlog"Fixed: docker build failed because strings import was missing"
Something built or deployedlog"Built lethe:006, deployed to production"
Something discovered through researchlog"Discovery: modernc.org/sqlite requires Go 1.25+"
Direction changed mid-tasklog"Changed approach: abandoned X for Y after discovering Z"
Open thread created or resolvedlog"Thread resolved: decided on ingress-nginx over Traefik"
Mike says "remember" or "log this"log"Logged per Mike's request"
Flag raisedflag"Flag: may need to revisit X if Y changes"
Flag resolvedlog"Flag resolved: chose X after testing Y and Z"

Good log entry:

record: "Decision: use compose-goDownstream instead of kpt because Go template support is better for our use case. Mike approved."
log: "Bug fixed: docker build failed because strings import was missing. Added to ui.go imports."
log: "Discovery: modernc.org/sqlite v1.47 requires Go 1.25+, can't build locally. Must use Docker."
flag: "Incomplete: server-14 UI changes tested but not verified in browser — Mike should confirm."

Bad log entry:

log: "Did some stuff."
record: "X approach is probably fine."
flag: "Not sure."
task: "done"

The test: If Mike asked "what did we just do?", could you answer from a Lethe query? If not, you should have logged it.

Confidence scores:

  • 1.0 = Direct observation or explicit user instruction
  • 0.9–0.95 = Near certain, minor uncertainty
  • 0.7–0.85 = High confidence, plausible hypothesis
  • 0.5–0.65 = Moderate, partial evidence — flag if consequential
  • < 0.5 = Pure speculation — always flag

When to Use Threads vs Logging

Use a thread when:

  • The work spans multiple sessions
  • There's an ongoing uncertainty that needs tracking
  • You want to group related events together
  • Mike asks "what's the status of X?" — threads answer this

Use logging when:

  • Something is done and done
  • A decision has been made and recorded
  • A one-time discovery happened

The auto-thread rule: When you raise a flag and no thread_id is provided, the server should auto-create a thread. If it doesn't, create one manually:

curl -s -X POST "http://localhost:18483/api/threads" \
  -H "Content-Type: application/json" \
  -d "{\"session_id\": \"$SESSION_KEY\", \"project_id\": \"default\", \"name\": \"auth-approach\", \"title\": \"Auth approach decision\"}"

Compaction — When and How

Compaction synthesizes recent events into a narrative summary. It does not delete history.

When to trigger:

  • Session has 100+ events without a summary
  • The session summary is stale before a long conversation continues
  • Before completing a significant work session
curl -s -X POST "http://localhost:18483/api/sessions/${SESSION_KEY}/compact"

What compaction does:

  1. Reads all events since last compaction
  2. Synthesizes them into a prose summary
  3. Stores the summary linked to the session
  4. Prunes very old raw events ( compaction is lossy — the summary is kept)

After compaction: The session summary endpoint returns the new summary. assemble() will prepend it to the LLM prompt on next resume.


Flags Queue

Flags are uncertainties that need human review. They persist across sessions.

Raise a flag when:

  • Acting on incomplete information that could be consequential
  • Multiple plausible paths and you're not sure which is right
  • A risk exists that Mike should be aware of before continuing

Check unresolved flags:

curl -s "http://localhost:18483/api/flags"

When a flag is resolved:

  1. Log the resolution: log: "Flag resolved: chose X over Y because Z"
  2. The flag remains in history but marked reviewed

Error Handling

Lethe server unreachable

Connection refused on port 18483
  → Try once more with 3-second timeout
  → Still fails: log "Lethe unreachable — continuing without memory"
  → Continue without memory access
  → Raise a flag: "Lethe server unreachable — memory operations suspended"

Empty search results

Search returned no events
  → Try broader search terms
  → Try GET /api/sessions/${KEY}/events?limit=20
  → Still nothing: "I don't have that in memory yet."
  → Do not invent or guess

Session not found

GET /api/sessions/${KEY} returns 404
  → Session was completed or never existed
  → Create a new session: POST /api/sessions with agent_id and project_id
  → Use the returned session_id as SESSION_KEY going forward

Flag surfaces from prior session

Flag from prior session still unresolved
  → Surface it to the user proactively
  → "Before we continue — there's an open flag from last session: [flag content]"

Architecture — What Each Piece Does

ComponentResponsibility
Plugin (lethe extension)Bootstrap, assemble, compact, event auto-logging
Skill (this file)Agent guidance: orientation, queries, recording, error recovery
Server (lethe binary)SQLite-backed HTTP API on port 18483
UI (/ui/*)Dashboard, session detail, flags review board

Lethe is append-only. Events are never overwritten — only compacted into summaries.


Deployment & Trust Model

  • Server runs locally only. The Lethe server binds to localhost:18483 — it does not expose an external port. Data never leaves the host machine.
  • Container image: ghcr.io/openlethe/lethe — open-source, auditable. Source at github.com/openlethe/lethe.
  • No telemetry. The server has no outbound network calls. It accepts inbound API requests and reads/writes a local SQLite file.
  • LETHE_API (SaaS): Reserved for a future optional cloud mode. If set, event data is sent to an external endpoint. Do not set this variable unless you explicitly opt in and trust the external service's data policies.

Data Retention & Privacy

  • Storage: All data lives in a single SQLite file on the host filesystem. Default: ~/docker/lethe/lethe-data/lethe.db.
  • Retention: Events persist indefinitely until manually deleted or compacted. Compaction synthesizes old events into summaries and prunes raw events older than the compaction window.
  • Encryption: The SQLite file is not encrypted at rest. Protect the host filesystem. If encryption is required, use filesystem-level encryption (FileVault, LUKS, etc.).
  • Access control: The API has no built-in authentication for local mode. It relies on localhost binding for security. Do not expose port 18483 beyond localhost.
  • Sensitive data: The agent logs actions, decisions, and observations. It does NOT log API keys, credentials, or secrets. If sensitive data is inadvertently logged, delete the event via the API or compact the session.
  • Backups: Daily hot-backups via sqlite3 .backup, gzip compressed, 7-day retention. Backup directory is local only.

Quick Reference

# Orient — get full session state
curl -s "http://localhost:18483/api/sessions/${SESSION_KEY}/summary"

# Orient (if SESSION_KEY missing, create new session)
# curl -s -X POST "http://localhost:18483/api/sessions" \
#   -H "Content-Type: application/json" \
#   -d '{"agent_id": "archimedes", "project_id": "default"}'
curl -s "http://localhost:18483/api/sessions/${SESSION_KEY}/summary"

# Check flags
curl -s "http://localhost:18483/api/flags"

# Search memory
curl -s "http://localhost:18483/api/events/search?q=<terms>&limit=10"

# Recent events
curl -s "http://localhost:18483/api/sessions/${SESSION_KEY}/events?limit=20"

# Record / log / flag (fastest)
~/.openclaw/workspace/skills/lethe-memory/lethe-log record "Decision: X because Y"
~/.openclaw/workspace/skills/lethe-memory/lethe-log flag "This might not work because Z"

# Compact session
curl -s -X POST "http://localhost:18483/api/sessions/${SESSION_KEY}/compact"

# UI dashboard
open http://localhost:18483/ui/

平台分布

OpenClaw

74.22%
按下载量换算1,282

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills