Crm Memory
面向对象的客户记忆体系。聊起任何客户、联系人、项目机会、项目、合同、交付相关话题时激活。 自动维护 memory/customers/ 下的客户索引和详情文件,支持超大客户文件自动分层拆分。 与 sales-visit(明道云写入)双向联动:sales-visit 写入后同步更新本记忆文件, 本记忆文件加载的上下...
Andy Ren
@andyrenxu7255
Install
$ openclaw skills install @andyrenxu7255/crm-memory客户记忆管理
定位:整个销售智能体记忆体系的基石。所有与客户、联系人、机会、项目、合同、交付相关的对话信息,最终都应沉淀到本技能维护的文件体系中。让 agent 不再"健忘"。
触发条件(极度宽泛)
以下任一意图或关键词出现即激活:
- 用户提及公司/机构/单位名称(含简称)
- 用户提及人名(张三、李总、王处等)
- "XX客户"、"XX项目"、"XX合同"、"XX交付"
- "拜访XX"、"见XX"、"和XX开会"、"XX说了"
- "POC"、"投标"、"签单"、"回款"、"续签"
- "XX银行"、"XX大学"、"XX医院"、"XX局"
- "帮我记一下XX"、"补充XX的信息"
与 sales-visit 技能的关系
| 维度 | crm-memory(本技能) | sales-visit |
|---|---|---|
| 存储 | 本地 MD 文件(Agent 记忆) | 明道云 MCP(团队CRM系统) |
| 触发 | 任何客户话题 | "记录拜访""写拜访" |
| 写入时机 | 对话后自动 | 用户确认后写入 |
| 读取时机 | 对话前加载上下文 | 渐进式追问收集字段 |
| 用户 | Agent 自身 | 一线销售(WeCom) |
双向联动机制:
- sales-visit 写入明道云后 → 同步调用本技能的写入流程,将拜访摘要追加到对应客户文件
- 本技能加载客户记忆后 → 对 sales-visit 对话提供上下文预填(已有联系人、历史机会等)
- 两个技能可同时激活,互不冲突
文件体系
memory/customers/
├── INDEX.md ← 总索引(轻量,<2KB)
├── {客户名}.md ← 普通客户(<30KB 单文件)
├── {客户名}/ ← 超大客户(≥30KB 自动分层)
│ ├── INDEX.md ← 客户摘要 + 子文件索引
│ ├── contacts.md ← 联系人详情
│ ├── opportunities.md ← 机会详情
│ ├── projects.md ← 项目详情
│ ├── contracts.md ← 合同详情
│ ├── deliveries.md ← 交付详情
│ └── communication-log.md ← 沟通记录(按时间)
└── ...
超大文件分层机制
触发条件:当客户 .md 文件超过 30KB 或 500 行时,自动执行分层拆分。
拆分流程:
- 创建
{客户名}/子目录 - 创建
{客户名}/INDEX.md(保留基本信息 + 联系人概要 + 各子文件链接 + 最近 3 条沟通记录) - 将详细内容拆分到对应子文件
- 删除原单文件
{客户名}.md - 更新
INDEX.md中的链接指向{客户名}/INDEX.md
分层后的加载策略:
- 对话中首次加载:仅读
{客户名}/INDEX.md(摘要,<3KB) - 需要具体信息时:按需加载对应子文件(如只需联系人则只加载
contacts.md) - INDEX.md 保持最新摘要(最近联系人、活跃机会数、项目状态等)
{客户名}/INDEX.md 格式(分层后的轻量入口)
---
name: <客户全称>
industry: <行业>
status: <状态>
file_count: <子文件数>
updated: <日期>
---
# <客户名称>
## 概要
- 规模/行业/主营
- 状态:跟进中(1个活跃机会)
## 联系人概览(共 N 人)
| 姓名 | 职位 | 角色 | 最近沟通 |
|------|------|------|---------|
| 张三 | IT总监 | Champion | 2026-05-20 |
## 活跃机会
| 机会 | 产品 | 阶段 | 金额 |
|------|------|------|------|
| 智能问数 | ONN | Scope | 80万 |
## 最近动态
- 2026-05-20 技术交流,演示POC结果
- 2026-05-15 初次拜访信息中心主任
## 子文件索引
| 文件 | 内容 | 行数 | 大小 |
|------|------|------|------|
| [contacts.md](contacts.md) | 联系人详情 | 45 | 3KB |
| [opportunities.md](opportunities.md) | 机会详情 | 80 | 5KB |
| [communication-log.md](communication-log.md) | 沟通记录 | 320 | 18KB |
总索引 INDEX.md 格式
# 客户记忆索引
> 最近更新: YYYY-MM-DD HH:MM | 客户总数: N
| 客户名称 | 行业 | 状态 | 联系人 | 最近更新 | 文件 |
|---------|------|------|--------|---------|------|
| XX银行 | 金融 | 项目中 | 张处/李总 | 2026-05-21 | [XX银行](XX银行/INDEX.md) |
| YY大学 | 教育 | 跟进中 | 王主任 | 2026-05-20 | [YY大学.md](YY大学.md) |
链接指向
{客户名}.md(普通客户)或{客户名}/INDEX.md(超大客户)。
状态枚举:潜在 / 跟进中 / POC中 / 投标中 / 已签约 / 实施中 / 已交付 / 休眠
{客户名}.md 格式(普通客户,未分层)
---
name: <客户全称>
industry: <行业>
status: <状态>
created: <创建日期>
updated: <最近更新日期>
---
# <客户名称>
## 基本信息
- 全称/简称/规模/所属行业/主营业务
- 组织架构(IT部门/采购部门/业务部门)
- 已有系统(数据平台/BI工具等)
- 近期动态
## 联系人
### <姓名> - <职位>
- 角色:<决策人/影响者/使用者/Champion/Coach>
- 联系方式:<电话/微信/邮箱>
- 性格特点/沟通偏好:
- 最近沟通:YYYY-MM-DD,<要点>
- 关系评估:
## 项目机会
### <机会名称>
- 产品方向:ONN/IOC/EA/数字孪生
- 阶段:Discover/Scope/Go-No-Go/Validate/Business Case/Negotiate
- MEDDIC 状态:
- M(衡量标准)/ E(经济决策人)/ D(决策标准)/ D(决策流程)/ I(痛点)/ C(内部支持者)
- 金额预估 / 关键节点 / 竞品情况
## 项目
### <项目名称>
- 合同编号 / 状态 / 开始日期 / 计划交付日期
- 项目经理(我方/客户方)
- 关键里程碑 / 当前风险/卡点
## 合同
### <合同名称>
- 金额 / 付款方式 / 签署日期 / 有效期
- 主要条款摘要 / 回款节点
## 交付
### <交付批次>
- 交付内容 / 交付日期
- 验收状态:已验收/待验收/有遗留问题
- 遗留问题
## 沟通记录
### YYYY-MM-DD <主题>
- 参与人(我方+客户方):
- 要点:1. ... 2. ...
- 下一步:
- 相关文件/链接:
执行流程
对话中:识别与加载
- 识别客户:从对话中提取客户名称(全称或简称),模糊匹配 INDEX.md 中的已有客户
- 加载记忆:找到已有客户 → 读取其文件(普通客户读全文,超大客户读 INDEX.md 摘要)→ 将关键信息注入当前对话上下文
- 新客户:INDEX.md 未找到 → 标记为新客户,对话后创建
对话后:写入更新(必须执行)
- 更新基本信息:新获取的公司信息追加到"基本信息"区块
- 更新联系人:新联系人或已有联系人的新信息,追加/更新到"联系人"区块
- 更新机会:MEDDIC 各维度有进展则更新对应字段
- 追加沟通记录:在"沟通记录"区块末尾追加本次对话摘要
- 更新 frontmatter:修改
updated字段为当前日期 - 更新 INDEX.md:已有客户更新"最近更新"和"状态";新客户新增一行
- 超大文件检查:写入后检查文件大小,超过 30KB 或 500 行则执行分层拆分
- 确认:告知用户"已更新 {客户名} 的记忆文件"
读取原则(追问或新对话时)
- 先查 INDEX.md 确认客户是否存在
- 存在 → 加载摘要(普通客户读全文,超大客户读 INDEX.md)→ 按需加载子文件
- 不存在 → 标记为新客户
联动其他技能
| 技能 | 联动方式 |
|---|---|
| sales-visit | 写入明道云后 → 同步更新本记忆文件;本记忆加载 → 为 sales-visit 预填上下文 |
| customer-research | 调研完成后,关键发现写入客户文件 |
| customer-visit-prep | 拜访准备时读取客户文件获取历史;准备内容写入文件 |
| meddic-b2b-sales-review (review-visit) | 复盘后 MEDDIC 状态更新 + 沟通记录写入 |
| bid-management / bid-compliance-check | 投标活动写入对应客户文件 |
| 任何技能涉及客户信息变更 | 都应触发本技能的写入流程 |
质量标准
- ✅ 对话后必须写入,不依赖用户提醒
- ✅ 同一客户的所有信息集中在一个文件(或一个目录)
- ✅ INDEX.md 保持更新,确保召回效率
- ✅ 写入结构化(按区块),不是流水账
- ✅ 文件超过 30KB/500行 自动分层为子目录
- ✅ 分层后的 INDEX.md 保持轻量摘要(<3KB)
- ✅ 更新 frontmatter 的
updated时间戳 - ✅ 与 sales-visit 双向联动:明道云写入 ≠ 本文件可跳过
- ❌ 不创建"联系人单独文件"或"项目单独文件"(除非客户已分层)
- ❌ 不覆盖已有信息,增量追加(除非是同一字段的修正更新)
- ❌ 不编造未在对话中出现的信息
Top skills in this category
Marketing Mode
@thesethroseMarketing Mode combines 23 comprehensive marketing skills covering strategy, psychology, content, SEO, conversion optimization, and paid growth. Use when users need marketing strategy, copywriting, SEO help, conversion optimization, paid advertising, or any marketing tactic.
Marketing Skills
@jchopard69Access 23 marketing modules offering checklists, frameworks, and ready-to-use deliverables for CRO, SEO, copywriting, analytics, launches, ads, and social me...
Prompt Guard
@seojoonkim650+ pattern AI agent security defense covering prompt injection, supply chain injection, memory poisoning, action gate bypass, unicode steganography, cascad...
Computer Use
@ram-raghav-sFull desktop computer use for headless Linux servers. Xvfb + XFCE virtual desktop with xdotool automation. 17 actions (click, type, scroll, screenshot, drag,...
YouTube Transcript
@xthezealotFetch and summarize YouTube video transcripts. Use when asked to summarize, transcribe, or extract content from YouTube videos. Handles transcript fetching via residential IP proxy to bypass YouTube's cloud IP blocks.