AI 对话情感记忆引擎

emotion-state

收藏 8.5k
下载 2.1k
版本 v1.2.0

基于 OpenClaw 框架的情感状态追踪 Hook,通过 OpenAI API 实现对话情感分析,为 AI 代理提供跨会话的情绪上下文感知能力。

基本信息

  • 技能名称?emotion-state
  • 中文名称?AI 对话情感记忆引擎
  • 作者?tashfeenahmed
  • 分类?专业技能
  • 版本?v1.2.0
  • 标签?ai-ml, customer-support, productivity, backend, automation, privacy-focused

使用方法

使用说明
核心用法
Emotion State 是一个 OpenClaw 工作区 Hook,用于为 AI 对话系统注入情感感知能力。安装后,它会自动分析用户与代理的对话内容,提取自然语言形式的情感标签(如 "frustrated about slow response"、"excited about new feature"),并将这些状态以结构化格式注入系统提示词。该 Hook 采用半衰期衰减算法计算情感趋势,支持跨会话持久化存储,最多保留 100 条历史记录,默认展示最近 3 条用户情感和 2 条代理情感条目。
配置过程需将 Hook 文件复制到工作区 hooks// 目录,通过 openclaw hooks enable 启用,并在 ~/.openclaw/openclaw.json 中配置环境变量。核心配置包括:OpenAI API 密钥、情感分类模型(默认 gpt-4o-mini)、置信度阈值(0.35)、历史窗口大小及半衰期时间(12 小时)。支持自定义分类器 URL 以实现完全离线部署。
显著优点
架构设计优秀 :纯 Node.js 内置模块实现,零第三方依赖,彻底规避 npm 供应链攻击风险。采用文件锁 + 原子写入机制保障并发安全,SHA-256 哈希去重避免冗余存储。
隐私保护到位 :原始对话文本不落盘,仅存储模型推断的情感标签及原因摘要;数据严格隔离于 ~/.openclaw/agents/ / 目录下,按 userKey 分片存储,支持多租户场景。
容错机制完善 :分类服务故障时自动降级为 "neutral/low/unsure" 默认值,5 秒超时设置防止阻塞主流程,JSON 解析异常均有 try-catch 保护。
配置灵活性高 :除 OpenAI 外,可对接任意兼容 OpenAI 接口格式的本地或私有分类器服务,满足合规敏感场景的完全离线需求。
潜在缺点与局限性
外部依赖刚性 :必须配置有效 API Key 或自建分类器才能工作,开箱即用性受限;默认依赖 OpenAI 服务,存在网络延迟(典型 500-2000ms)和成本开销。
情感推断黑盒 :基于 LLM 的情感分类缺乏可解释性,同一对话可能因模型版本、温度参数产生不一致结果;0.35 的默认置信度阈值可能过滤掉细微情感变化。
存储容量瓶颈 :单代理默认最多 50 用户 × 100 条记录,高并发场景下需手动调优;本地 JSON 文件存储在超大规模部署时可能成为 I/O 瓶颈。
时区与同步问题 :情感时间戳依赖配置的 EMOTION_TIMEZONE ,分布式部署时若节点时区不一致会导致趋势计算偏差;无内置集群状态同步机制。
适合的目标群体
对话式 AI 产品经理 :需要为客服机器人、虚拟伴侣等产品增加情感记忆能力
多轮对话系统开发者 :构建需要长期用户关系维护的代理应用(如心理健康助手、教育辅导 AI)
OpenClaw 框架用户 :已采用该框架的开发者可零成本集成情感层
隐私合规要求中等的企业 :接受本地存储 + 可选外部 API 调用模式,但需评估 OpenAI 数据处理协议
使用风险
性能风险 :每次对话触发同步 HTTP 请求,高 QPS 场景需部署本地分类器或增加缓存层;情感趋势计算涉及历史数据遍历,历史记录膨胀时延迟线性增长。
成本风险 :按 token 计费的分类调用在大流量场景下成本显著,建议设置 EMOTION_CONFIDENCE_MIN 过滤低价值请求,或采用批量异步处理架构。
模型漂移风险 :OpenAI 模型更新可能导致情感标签格式变化,破坏下游解析逻辑;建议锁定模型版本或实施输出模式校验。
数据残留风险 :卸载 Hook 后历史情感文件不会自动清理,需手动删除 ~/.openclaw/agents// 下相关目录以符合 GDPR 等删除权要求。

标签

专业技能

💬 评论 (0)

发表评论

支持 Markdown

📭 还没有评论,快来抢沙发吧!