Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计提醒

okki-email-syncokki 电子邮件同步

Agent Skill

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

总安装

2,728

周安装

116

GitHub Stars

公开资料未说明

下载量

956
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install okki-email-sync

简介

将电子邮件活动同步至 OKKI CRM 系统作为后续跟进依据。

  • 自动匹配客户域名与报价事件,减少手动录入。
  • 适用于销售流程自动化与线索管理。
  • 安装命令:openclaw skills install okki-email-sync;需验证 API 连接稳定性。
  • 适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
okki-email-sync
description
Synchronize email activities and quotation events with OKKI CRM as follow-up trail records. Automatically matches emails to CRM customers via domain lookup and vector search, creates trail records (email type=102, quotation type=101), and deduplicates entries. Requires OKKI CRM API access and optional vector search setup. Use when you need to automatically log email communications and quotation events in your CRM.

okki-email-sync

Description

OKKI 双向同步:邮件和报价单自动写入 OKKI CRM 跟进记录。

这是一个集成模块,不作为独立 skill 运行,而是 hook 到现有的 imap-smtp-emailquotation-workflow skills 中,实现:

  • 发送邮件后自动在 OKKI 对应客户下创建 trail_type=102(邮件类型)跟进记录
  • 生成报价单后自动在 OKKI 对应客户下创建 trail_type=101(报价单类型)跟进记录
  • 客户匹配策略:域名精确匹配 → 公共域名黑名单过滤 → 向量搜索回退
  • 去重机制:以 UID 为 key,防止重复写入跟进记录
  • 未匹配客户写日志,不阻断主流程

Core Module

主文件: scripts/okki-sync.js(同步镜像至 $WORKSPACE/skills/imap-smtp-email/okki-sync.js

导出 API

const okkiSync = require('./scripts/okki-sync');

// 客户匹配(两阶段:域名 → 向量搜索)
const customer = await okkiSync.matchCustomer(email, subject, body);
// → { company_id, name, match_type, confidence } | null

// 创建邮件跟进记录(trail_type=102)
const result = await okkiSync.createEmailTrail(companyId, {
  uid,        // 去重 key
  from,       // 发件人
  to,         // 收件人
  subject,    // 主题
  date,       // 时间
  body,       // 正文摘要
  direction,  // 'in' | 'out'
  attachments // [{ filename }]
});

// 创建报价单跟进记录(trail_type=101)
const result = await okkiSync.createQuotationTrail(companyId, {
  uid,          // 去重 key
  quotationNo,  // 报价单编号
  date,         // 日期
  products,     // [{ name, quantity, unit_price }]
  totalAmount,  // "USD 9730.00"
  validUntil    // 有效期
});

// 完整邮件同步流程(匹配 + 创建 trail)
const result = await okkiSync.syncEmailToOkki(emailData);

CLI 入口

# 测试模式(检查 OKKI CLI 和向量搜索连接)
node scripts/okki-sync.js test

# 报价单同步(由 generate-all.sh 调用)
node scripts/okki-sync.js quotation '{"dataFile":"/path/to/data.json","quotationNo":"QT-xxx"}'

Trail Type Enum

类型编号说明
QUOTATION101快速记录 / 报价单
EMAIL102邮件
PHONE103电话
MEETING104会面
SOCIAL105社交平台

Dependencies

依赖路径说明
OKKI CLI$WORKSPACE/xiaoman-okki/api/okki.pyOKKI API 客户端(trail add 命令)
向量搜索$WORKSPACE/vector_store/search-customers.pyLanceDB 客户向量索引
Python venvpython3 或自定义 venv向量搜索依赖(nomic-embed-text)
imap-smtp-email$WORKSPACE/skills/imap-smtp-email/邮件 skill(集成点)
quotation-workflow$WORKSPACE/skills/quotation-workflow/报价单 skill(集成点)

Integration Points

邮件发送(smtp.js)

// $WORKSPACE/skills/imap-smtp-email/scripts/smtp.js
// L13: require('../okki-sync')
// L131+: 发送成功后异步调用
const { syncEmailToOkki } = require('../okki-sync');

syncEmailToOkki({
  uid: `smtp-${Date.now()}-${toHash}`,
  from, to, subject, date,
  body: text,
  direction: 'out',
  attachments
}).then(r => console.log('OKKI sync:', r))
  .catch(e => console.warn('OKKI sync failed:', e.message));

报价单生成(generate-all.sh)

# $WORKSPACE/skills/quotation-workflow/scripts/generate-all.sh
# 末尾调用(|| true 不阻断流程)
node /path/to/okki-sync.js quotation \
  "{\"dataFile\":\"${DATA_FILE}\",\"quotationNo\":\"${QUOTATION_NO}\"}" \
  && echo "✓ OKKI trail created" || true

Runtime Files

文件说明
/tmp/okki-sync-processed.json去重记录(已处理的 UID → metadata)
/tmp/okki-unmatched-emails.log未匹配客户日志(emaildomain原因)

Customer Matching Logic

matchCustomer(email, subject?, body?)
  ├── 提取域名(extractDomain)
  ├── 是否公共域名?(gmail/yahoo/hotmail/outlook/qq/163/126 等)
  │     ├── YES → 跳过域名匹配,直接向量搜索
  │     └── NO  → 域名精确匹配(OKKI CLI company list -k <domain>)
  │               ├── 精确命中 → confidence=0.95,返回
  │               ├── 部分匹配 → confidence=0.7,返回
  │               └── 无匹配  → 向量搜索
  └── 向量搜索(search-customers.py <email+subject+body>)
        ├── 命中 → confidence=topMatch.score,返回
        └── 无匹配 → 写入 unmatched log,返回 null

E2E Test Results (2026-03-24)

链路命令Trail ID结果
链路A 邮件→OKKIsmtp.js send --to service@tkscable.com88050591907961✅ PASS
链路B 报价单→OKKIgenerate-all.sh cable-germany.json QT-E2E-00288050865152265✅ PASS
链路C 公共域名test@gmail.com 匹配失败✅ PASS(unmatched 日志写入)
去重验证相同 UID 重复触发✅ PASS(返回 duplicate)

Setup Instructions

如需将此模块集成到新 skill 中:

  1. 复制模块
   cp scripts/okki-sync.js /path/to/your-skill/okki-sync.js
  1. 确认依赖路径(通过环境变量配置)

- OKKI_CLI_PATH:OKKI CLI 脚本路径 - VECTOR_SEARCH_PATH:向量搜索脚本路径 - PYTHON_VENV_PATH:Python 虚拟环境路径(可选,默认 python3

  1. 测试连接
   node okki-sync.js test
  1. 集成到发送流程(发送成功后异步调用 syncEmailToOkki
  1. 集成到生成流程(生成成功后调用 quotation CLI 入口)

Development History

时间操作Agent备注
2026-03-24 09:56review_completedWILSON任务审阅完成,批准执行
2026-03-24 11:30iteration_1_executedIRONTrail type enum 确认:email=102, quotation=101
2026-03-24 12:21iteration_2_executedIRONokki-sync.js 创建完成(582行/15873字节)
2026-03-24 12:24iteration_3_executedIRON集成到 smtp.js 发件流程
2026-03-24 12:40iteration_4_executedIRON集成到 quotation-workflow/generate-all.sh
2026-03-24 12:51iteration_5_executedWILSONE2E 测试全部通过(3条链路),任务 COMPLETE
2026-03-24 12:54packagedWILSON打包为 okki-email-sync skill

Skill 版本: 1.0.0 创建日期: 2026-03-24 维护者: WILSON / IRON

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

84.88%
按下载量换算811

安全审计

VirusTotal

未展示

ClawScan

可疑

Static analysis

可疑

权限和风险

需要联网

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

安装前确认

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

来源信息

继续浏览同类 Skills