Token导航 LogoToken导航TokenDH.com
运维敏感数据clawhub未标认证来源可访问clear审计提醒

hawk-memory-v2鹰内存 v2

Agent Skill

hawk-memory-v2 用于记录任务执行中的错误、用户纠正、经验和能力缺口,适合在 OpenClaw 中希望让 Agent 持续沉淀问题、修正和最佳实践时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,913

周安装

119

GitHub Stars

公开资料未说明

下载量

933
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install hawk-memory-v2

简介

用于 Agent 自我改进与经验沉淀。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

  • 具备四层衰减记忆、向量检索与上下文压缩功能。
  • 可记录错误、纠正与能力缺口,持续优化行为。
  • 纯 Python 实现,无需扩展,但需确认存储权限。
  • hawk-memory-v2 属于运维类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

🦅 Context-Hawk — AI 记忆守护者

纯 Python 记忆包,零外部依赖,零 API Key,直接 import 就能用

*让任何 Python 项目或 AI Agent 拥有记忆能力——跨会话、跨话题、跨时间。*


定位

纯 Python 包,可独立使用

  • 不需要 OpenClaw,不需要 API Key
  • pip install 后直接 from hawk.memory import MemoryManager
  • 可嵌入任何 Python 项目(AI Agent、脚本、爬虫等)

配合 hawk-bridge 使用时,hawk-bridge 负责 autoCapture/autoRecall Hook,context-hawk 提供底层 Python 核心。


核心模块

模块功能API Key
MemoryManager四层记忆衰减(Working/Short/Long/Archive)
ContextCompressor上下文压缩,按 token 限制
Config配置管理
SelfImproving自我反思,错误模式学习
VectorRetriever向量语义检索(LanceDB)❌*
MarkdownImporter导入 .md 记忆文件❌*
Extractor记忆提取(6类分类)⚠️ 可选
Governance系统巡检指标

*VectorRetriever 和 MarkdownImporter 需要 LanceDB(免费本地)*


安装

pip install lancedb

不需要任何 API Key,纯本地运行。


快速开始

from hawk.memory import MemoryManager

# 创建记忆管理器
mm = MemoryManager()

# 存入记忆
mm.store("用户喜欢简洁的回复风格", category="preference")
mm.store("公司叫趣近团队", category="entity")
mm.store("老板决定用Go语言重构", category="decision")

# 检索记忆
results = mm.recall("老板的风格偏好")
for r in results:
    print(f"{r.layer}: {r.text}")

# 查看统计
print(mm.get_stats())
# {'working': 2, 'short': 1, 'long': 0, 'archive': 0, 'total': 3, 'avg_importance': 0.65}

MemoryManager — 四层记忆

Working → Short → Long → Archive
  ↑                    ↓
  ←──── Weibull 衰减 ←←←
from hawk.memory import MemoryManager

mm = MemoryManager()

# 存入,指定重要程度(0.0-1.0)
mm.store("这是重要决策", category="decision", importance=0.9)
mm.store("普通信息", category="fact", importance=0.4)

# 触发衰减(清理低价值记忆)
mm.decay()

# 访问记忆(更新计数器,可能触发层级升级)
item = mm.access("memory_id")
print(f"访问次数: {item.access_count}")

VectorRetriever — 向量语义检索

需要先设置 OPENAI_API_KEY(可选,用于 embedding)

from hawk.vector_retriever import VectorRetriever

retriever = VectorRetriever(top_k=5, min_score=0.6)

# 检索相关记忆
chunks = retriever.recall("老板之前部署过哪些服务")
print(retriever.format_for_context(chunks))

输出:

🦅 [记忆检索结果]
[entity] (85%相关): 趣近团队的服务器部署在阿里云
[fact] (72%相关): 生产环境用 Docker Compose 管理

MarkdownImporter — 导入 .md 记忆文件

一键把已有的 .md 记忆文件导入向量库:

from hawk.markdown_importer import MarkdownImporter

importer = MarkdownImporter(memory_dir="~/.openclaw/memory")

# 扫描预览
chunks = importer.scan()
print(f"发现 {len(chunks)} 个记忆块")

# 一键导入(增量,已导入的打标签跳过)
result = importer.import_all()
print(f"导入完成: {result['files']} 个文件, {result['chunks']} 个块")

CLI:

python3.12 -m hawk.markdown_importer --dry-run   # 预览
python3.12 -m hawk.markdown_importer             # 实际导入

ContextCompressor — 上下文压缩

按 token 限制压缩对话历史:

from hawk.compressor import ContextCompressor

compressor = ContextCompressor(max_tokens=4000)

conversation = [
    {"role": "user", "content": "我们要做XX项目"},
    {"role": "assistant", "content": "好的,我来规划"},
    # ... 100 轮对话
]

result = compressor.compress(conversation)
print(f"压缩率: {result['compression_ratio']}")
print(result['compressed'])

Extractor — 记忆提取

零 API 模式(关键词提取,完全离线):

from hawk.extractor import extract_memories

text = "用户说他喜欢用Go语言,公司叫趣近团队,决定用Docker部署"
memories = extract_memories(text, provider="keyword")
# 不需要任何 API Key

有 API Key 时(LLM 6类分类,更精准):

# 设置环境变量
import os
os.environ["OPENAI_API_KEY"] = "sk-xxx"
# 或
os.environ["MINIMAX_API_KEY"] = "sk-cp-xxx"

memories = extract_memories(text, provider="openai")
# 或
memories = extract_memories(text, provider="minimax",
                            api_key="sk-cp-xxx",
                            model="MiniMax-M2.7",
                            base_url="https://api.minimaxi.com/anthropic")

输出示例:

[
  {"text": "喜欢用Go语言", "category": "preference", "importance": 0.8, "abstract": "用户偏好Go", "overview": "[preference] 喜欢用Go语言"},
  {"text": "公司叫趣近团队", "category": "entity", "importance": 0.9, "abstract": "公司名称", "overview": "[entity] 公司叫趣近团队"},
  {"text": "决定用Docker部署", "category": "decision", "importance": 0.95, "abstract": "部署决策", "overview": "[decision] 决定用Docker部署"}
]

SelfImproving — 自我反思

from hawk.self_improving import SelfImproving

si = SelfImproving()

# 记录错误
si.learn_from_error(
    error_type="recall_miss",
    context={"query": "老板上次说的项目", "results": []},
    correction="改进了检索关键词策略"
)

# 获取统计
print(si.get_stats())
# {'total': 1, 'resolved': 0, 'unresolved': 1, 'by_type': {'recall_miss': 1}}

# 获取未解决的问题
unresolved = si.get_unresolved()
for u in unresolved:
    print(f"待解决: {u.error_type} - {u.context}")

Governance — 系统巡检

from hawk.governance import Governance

gov = Governance()

# 记录指标
gov.log_extraction(total=10, stored=3, skipped=7)
gov.log_noise_filter(filtered_count=2, total=10)
gov.log_recall(hits=2, total=5)

# 查看24小时统计
stats = gov.get_stats(hours=24)
print(stats)
# {'extractions': 10, 'noise_filtered': 2, 'recalls': 5, 'recall_hits': 2, ...}

HawkContext — autoCapture + autoRecall 包装器

HawkContext 是一个 Python 上下文管理器,包装 LLM 调用,自动实现:

  • autoRecall:对话开始时自动检索相关记忆并注入上下文
  • autoCapture:对话结束时自动提取记忆存入 LanceDB
from hawk import HawkContext

# 初始化(自动从环境变量读取配置)
hawk = HawkContext(
    provider="minimax",      # minimax | openai | groq | ollama | keyword
    api_key="sk-cp-xxx",
    model="MiniMax-M2.7"
)

# 对话开始时自动 recall
# 对话结束时(with 块退出时)自动 capture
with hawk:
    response = hawk.chat(
        "老板之前用什么技术栈?",
        system_prompt="你是一个助手"
    )
    print(response)

# 也可以手动控制
hawk.recall("用户的项目偏好")
hawk.capture()

自动 recall 机制:

  • hawk.recall()hawk.chat() 内部被调用
  • 检索当前用户消息相关的记忆
  • 结果自动插入 LLM 消息中

支持 provider:

providerAPI Key说明
minimax需要MiniMax-M2.7(推荐)
openai需要GPT-4o 等
groq不需要免费 Llama-3
ollama不需要本地模型
keyword不需要纯规则提取

配置优先级:

  1. 显式传参 > 环境变量 > 默认值

与 hawk-bridge 的关系

context-hawkhawk-bridge
定位纯 Python 包OpenClaw Hook 插件
触发方式手动调用 / 脚本自动 Hook
API Key可选(keyword模式不需要)需要
用途任何 Python 项目OpenClaw 用户

推荐组合:

  • 独立 Python 项目 → 只装 context-hawk
  • OpenClaw 用户 → 装 hawk-bridge(内置 context-hawk 核心)

目录结构

context-hawk/
├── SKILL.md               ← 本文档
├── hawk/
│   ├── __init__.py
│   ├── memory.py           ← 四层记忆 + 衰减
│   ├── compressor.py       ← 上下文压缩
│   ├── config.py           ← 配置管理
│   ├── self_improving.py   ← 自我反思
│   ├── vector_retriever.py ← 向量检索
│   ├── markdown_importer.py ← .md 导入
│   ├── extractor.py        ← 记忆提取(keyword / LLM)
│   └── governance.py        ← 巡检指标
└── scripts/
    └── install.sh          ← 一键安装脚本

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

73.38%
按下载量换算685

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills