Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

lcrm-search客户关系管理搜索

Agent Skill

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

总安装

832

周安装

34

GitHub Stars

公开资料未说明

下载量

269
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:lcrm-search(客户关系管理搜索)
来源仓库:https://github.com/r-earth-or/lcrm_skills
仓库路径:skills/lcrm-search
安装命令:
npx skills add https://github.com/r-earth-or/lcrm_skills --skill lcrm-search
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/r-earth-or/lcrm_skills --skill lcrm-search

简介

用于查找、检索和筛选相关信息。lcrm-search 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合根据关键词或任务场景快速定位候选结果。
  • 可辅助内容调研、资料收集和线索整理工作。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。
  • 安装前建议确认是否支持联网及文件读写权限。
  • 注意维护状态,避免依赖已弃用的接口或服务。

SKILL.md

LCRM通用检索

目标

支持销售快速检索 CRM 数据:自己、客户、线索、机会、商务记录、联系人、标签、用户、通知、售前行程、合同、回款。

何时不使用此技能

  • 创建/修改数据 - 此技能仅用于检索,不用于创建或更新。如需创建客户、录入商务记录等,使用对应的专业技能(如 lcrm-business-record)
  • 复杂数据分析 - 如需生成报表或深度分析,使用数据分析相关技能

脚本入口

主脚本(推荐)

node scripts/search.mjs <action> [options]

每个 action 对应一种数据类型,使用方式见下方各章节。

环境变量

执行前确保已设置 API 密钥:

export LCRM_API_KEY="your-api-key"

为什么需要 API 密钥: 所有 API 调用都需要身份验证,LCRM_API_KEY 用于标识和验证当前用户身份。

执行流程

核心原则

检索数据时,先确定对象类型,再选择对应的检索方式。这样能快速定位到正确的 API,避免不必要的重复查询。

步骤

  1. 识别对象类型 - 从用户问题中判断要查的是:自己、客户、线索、机会、商务记录、联系人、标签、用户、通知、售前行程、合同还是回款
  2. 选择对应 action - 根据对象类型选择最优检索方式:

- 查自己 → me action - 查用户 → userssales-presales-users action - 查标签 → tags action - 查客户关联数据(机会、联系人、商务记录)→ 先确认客户ID,再使用对应 action

  1. 执行检索 - 调用 search.mjs 对应 action
  2. 处理多条结果 - 若命中多条且无法确定唯一对象,展示列表让用户选择
  3. 返回结果 - 先展示核心字段,再提供可进一步筛选的参数建议

资源检索指南

每个资源模块包含筛选参数和具体用法。使用原则:先确定对象类型,再选择对应 action

Action对象常用场景
me自己获取当前用户身份信息
customers客户按公司名/状态/区域筛选客户
business-records商务记录按线索/机会/记录人/时间查询
customer-business-records客户商务记录按客户查询商务记录
customer-opportunities客户机会查询某客户的所有机会
customer-contacts联系人查询某客户的联系人
leads线索按关键词/状态/标签/来源查询
opportunities机会按客户名/状态/金额/日期查询
users用户查询所有用户信息
sales-presales-users销售/售前仅查询销售或售前用户
tags标签查询标签列表(主要用于线索)
notifications通知查询激活/历史通知
presales-itineraries售前行程按时间段/用户/机会查询
contracts合同按标题/编号/客户/日期查询
contract-payments回款按状态/合同/日期查询

1) 自己 (me)

获取当前登录用户的基本信息和权限。

node scripts/search.mjs me

输出核心字段: id, name, email, roles


2) 客户 (customers)

筛选参数

参数可选值说明
customerType[]直接客户合作伙伴客户类型(多选)
customerSource[]官方渠道自办活动三方活动名单导入内部资源客户推荐生态伙伴销售自拓客户来源(多选,与线索来源口径一致)
customerStatus[]潜在客户跟进客户商机客户合作客户无效客户客户状态(多选)
region[]上海北京华南华东海外其他所属区域(多选)
followUpSalesId[]ID跟进销售ID(多选)
companyNamestring公司名(模糊搜索)

用法示例

基础查询 - 按公司名:

node scripts/search.mjs customers --company-name "<客户名>" --limit 5

复杂筛选 - 多条件组合:

node scripts/search.mjs customers \
  --query 'customerStatus[]=跟进客户' \
  --query 'region[]=华东'

我的客户 vs 公海客户:

# 我的客户
node scripts/search.mjs customers --query 'followUpSalesId[]=<我的用户ID>'

# 公海客户(需先获取公海用户ID,见"公海概念"章节)
node scripts/search.mjs customers --query 'followUpSalesId[]=<公海用户ID>'
注意: followUpSalesId[] 是查询“我的客户 / 公海客户”等特殊场景时使用的检索参数,不是前端录入的“客户归属”字段。

输出核心字段: id, companyName, customerStatus, customerSource


3) 商务记录 (business-records / customer-business-records)

筛选参数

参数说明
customer-id客户ID(customer-business-records 专用)
lead-id线索ID
opportunity-id机会ID
recorder-id记录人ID
start-date / end-date记录时间范围(YYYY-MM-DD)

商务记录字段枚举

字段可选值说明
followUpType微信电话线上会议邮件现场拜访商务活动其他跟进方式

用法示例

按客户查询:

node scripts/search.mjs customer-business-records --customer-id "<customerId>"

按线索查询:

node scripts/search.mjs business-records --lead-id "<leadId>"

按机会查询:

node scripts/search.mjs business-records --opportunity-id "<opportunityId>"

按记录人和时间:

node scripts/search.mjs business-records \
  --recorder-id "<userId>" \
  --start-date 2026-02-01 \
  --end-date 2026-02-28

输出核心字段: recordTime, followUpType, contactedPerson, description


4) 客户机会 (customer-opportunities)

筛选参数

参数说明
customer-id客户ID(精确匹配)
customer-name客户名称(模糊匹配)

用法示例

# 已知客户ID
node scripts/search.mjs customer-opportunities --customer-id "<customerId>"

# 已知客户名
node scripts/search.mjs customer-opportunities --customer-name "<客户名>"

输出核心字段: id, name, status, amount, estimatedCloseDate


5) 客户联系人 (customer-contacts)

筛选参数

参数说明
customer-id客户ID(必填)

用法示例

node scripts/search.mjs customer-contacts --customer-id "<customerId>"

输出核心字段: name, phone, position, roles


6) 线索 (leads)

筛选参数

参数可选值说明
keywordstring关键词搜索
status[]待处理已跟进已转化线索状态(多选)
classification[]公司市场销售线索分类(多选)
source[]官方渠道自办活动三方活动名单导入内部资源客户推荐生态伙伴销售自拓线索来源(多选)
tags[]string标签名称(多选,AND 匹配)
mineboolean只查我的线索
publicOnlyboolean只查公海线索
注意: tags[] 仅用于线索检索,客户与机会暂无标签字段。

用法示例

关键词搜索:

node scripts/search.mjs leads --query keyword="<关键词>" --query limit=20

复杂筛选 - 状态+分类+我的线索:

node scripts/search.mjs leads \
  --query 'status[]=已跟进' \
  --query 'classification[]=销售' \
  --query mine=true

按标签筛选(AND 关系):

node scripts/search.mjs leads \
  --query 'tags[]=重点客户' \
  --query 'tags[]=AI'

公海 vs 我的线索:

# 公海线索
node scripts/search.mjs leads --query publicOnly=true

# 我的线索
node scripts/search.mjs leads --query mine=true
注意: mine / publicOnly 是检索开关,用于查询“我的线索 / 公海线索”,不对应前端录入的“线索归属”字段。

输出核心字段: id, companyName, status, classification, source, importedAt


7) 机会 (opportunities)

筛选参数

参数类型/可选值说明
namestring机会名称(模糊搜索)
customerNamestring客户名称(模糊搜索)
status需求引导客户立项客户选定客户成交机会失败(多值逗号分隔)机会状态
minAmount / maxAmountnumber金额范围
startDate / endDateYYYY-MM-DD预计成交日期范围
startYear / startMonth / endYear / endMonthnumber年月筛选
createdAtStartDate / createdAtEndDateYYYY-MM-DD创建时间范围
opportunitySalesId / opportunityPreSalesIdID销售/售前ID(多值逗号分隔)
lastFollowUpStartDate / lastFollowUpEndDateYYYY-MM-DD最后跟进时间范围
sortBy字段名排序字段
sortOrderasc / desc排序方向

排序字段可选值: id, name, amount, estimatedCloseDate, status, customerName, customer.companyName, opportunitySales.name, opportunityPreSales.name, lastFollowUpTime

用法示例

按客户和状态:

node scripts/search.mjs opportunities \
  --query customerName="<客户名>" \
  --query status=需求引导,客户立项

按金额和日期范围:

node scripts/search.mjs opportunities \
  --query minAmount=100000 \
  --query maxAmount=500000 \
  --query startDate=2026-02-01 \
  --query endDate=2026-03-31

输出核心字段: id, name, status, amount, estimatedCloseDate, customer


8) 用户 (users / sales-presales-users)

筛选参数

参数说明
search姓名或邮箱关键词(模糊搜索)
limit返回数量限制

用法示例

普通用户搜索:

node scripts/search.mjs users --search "<姓名或邮箱>" --limit 20

仅查销售/售前:

node scripts/search.mjs sales-presales-users --search "<姓名或邮箱>"

输出核心字段: id, name, email, roles, createdAt


9) 标签 (tags)

筛选参数

参数可选值说明
categoryLEAD标签分类(当前主要用 LEAD)
searchstring关键词(搜索名称/描述/分类)
注意: 当前业务上仅线索使用 tag 字段;客户、机会暂无 tag 字段

用法示例

# 全部标签
node scripts/search.mjs tags

# 按分类
node scripts/search.mjs tags --category LEAD

# 按关键词
node scripts/search.mjs tags --category LEAD --search "<关键词>"

输出核心字段: id, name, category, description, sortOrder, isActive


10) 通知 (notifications)

注:仅可查询当前用户名下的通知

筛选参数

参数可选值说明
statusactive / historyactive=待处理(ACTIVE/OVERDUE), history=历史(DONE/OVERDUE)
categoryLEAD_TIMEOUT通知分类
pagenumber页码
limitnumber每页数量

用法示例

# 待处理通知(ACTIVE/OVERDUE)
node scripts/search.mjs notifications --status active

# 历史通知(DONE/OVERDUE)
node scripts/search.mjs notifications --status history

# 按分类+分页
node scripts/search.mjs notifications \
  --category LEAD_TIMEOUT \
  --status active \
  --page 2 \
  --limit 20

输出核心字段: id, category, title, message, status, isRead, createdAt


11) 售前行程 (presales-itineraries)

筛选参数

参数说明
start-date / end-date时间段(YYYY-MM-DD)
user-id售前人员ID
opportunity-id机会ID

用法示例

# 按时间段
node scripts/search.mjs presales-itineraries \
  --start-date 2026-02-10 \
  --end-date 2026-02-16

# 按售前人员
node scripts/search.mjs presales-itineraries \
  --user-id <userId> \
  --start-date 2026-02-10 \
  --end-date 2026-02-16

# 按机会
node scripts/search.mjs presales-itineraries --opportunity-id <opportunityId>

输出核心字段: id, title, startTime, endTime, tripType, deliveryMode, status, opportunity, customer


12) 合同 (contracts)

筛选参数

参数类型说明
titlestring合同标题(模糊)
contract-numberstring合同编号(模糊)
customer-namestring客户名称(模糊)
signed-at-start-date / signed-at-end-dateYYYY-MM-DD签约日期范围
followUpSalesIdID跟进销售ID(多值用逗号分隔,通过 --query 传递)
opportunitystring关联机会名称(模糊,通过 --query 传递)
sortBy字段名排序字段
sortOrderasc / desc排序方向

排序字段可选值: contractNumber, title, totalAmount, signedAt, customerName, opportunityName, followUpSalesName, createdAt

用法示例

# 按标题
node scripts/search.mjs contracts --title "合同标题"

# 按合同编号
node scripts/search.mjs contracts --contract-number "C2025001"

# 按客户名称
node scripts/search.mjs contracts --customer-name "客户名"

# 按签约日期范围
node scripts/search.mjs contracts \
  --signed-at-start-date 2026-01-01 \
  --signed-at-end-date 2026-03-31

# 高级筛选(--query 支持任意 API 参数,多值用逗号分隔)
node scripts/search.mjs contracts \
  --query "opportunity=机会名称" \
  --query "followUpSalesId=sales-id-1,sales-id-2"

输出核心字段: id, contractNumber, title, totalAmount, signedAt, customer, opportunity, receivedAmount


13) 回款 (contract-payments)

筛选参数

参数类型/可选值说明
titlestring合同标题(模糊)
contract-numberstring合同编号(模糊)
status已回款待回款(多值用逗号分隔)回款状态
expected-at-start-date / expected-at-end-dateYYYY-MM-DD预计回款日期范围
followUpSalesIdID跟进销售ID(多值用逗号分隔,通过 --query 传递)
sortByexpectedAt, status, createdAt排序字段
sortOrderasc / desc默认 asc

用法示例

# 按状态
node scripts/search.mjs contract-payments --status 待回款
node scripts/search.mjs contract-payments --status 已回款

# 按合同信息
node scripts/search.mjs contract-payments --title "合同标题"
node scripts/search.mjs contract-payments --contract-number "C2025001"

# 按日期范围
node scripts/search.mjs contract-payments \
  --expected-at-start-date 2026-01-01 \
  --expected-at-end-date 2026-03-31

# 高级筛选(--query 支持任意 API 参数,多值用逗号分隔)
node scripts/search.mjs contract-payments \
  --query "status=待回款,已回款" \
  --query "followUpSalesId=sales-id"

输出核心字段: id, nodeName, expectedAmount, expectedAt, actualReceivedAmount, status, contract

公海概念说明

公海是 CRM 中未分配给具体销售的线索和客户池,由特殊"公海用户"统一持有。

这里的“公海 / 我的”属于检索语义,不等同于已从前端移除的“线索归属 / 客户归属”业务字段。

  • 线索流转:新线索先进入公海,销售可领取或分配
  • 客户回收:长期未跟进的客户可能退回公海

公海查询

公海线索:

node scripts/search.mjs leads --query publicOnly=true

公海客户:

# 先获取公海用户ID
node scripts/search.mjs me
# 从响应中获取 publicPoolUserEmail,然后查询用户ID
node scripts/search.mjs users --search "<公海用户邮箱>"
# 使用公海用户ID查询
node scripts/search.mjs customers --query 'followUpSalesId[]=<公海用户ID>'

输出建议

向用户展示结果时,优先显示核心字段:

  • 自己id, name, email, roles
  • 客户id, companyName, customerStatus, followUpSales
  • 线索id, companyName, status, classification, owner, importedAt
  • 机会id, name, status, amount, estimatedCloseDate, customer
  • 商务记录recordTime, followUpType, contactedPerson, description
  • 联系人name, phone, position, roles
  • 用户id, name, email, roles
  • 标签id, name, category, description
  • 通知id, category, title, message, status, isRead
  • 售前行程id, title, startTime, endTime, tripType, deliveryMode, status
  • 合同id, contractNumber, title, totalAmount, signedAt, customer, opportunity
  • 回款id, nodeName, expectedAmount, expectedAt, actualReceivedAmount, status

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

35.38%
按下载量换算95

Claude

28.69%
按下载量换算77

Cursor

17.83%
按下载量换算48

Gemini CLI

8.88%
按下载量换算24

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills