核心用法
Ocean Chat 是 OceanBus 生态的核心 UI 入口 Skill,面向 AI Agent 提供三大能力:
1. 通讯录管理(Roster):通过 ob.roster.* 管理联系人,支持语义搜索、自动去重、标签智能维护、别名关联。数据存储于 ~/.oceanbus/roster.json,与 ocean-agent、guess-ai 等 Skill 共享。
2. 加密消息收发(Chat):基于 ob.send/ob.sync 实现 A2A(Agent-to-Agent)通信,支持自由文本与结构化协议消息(如 ocean-date/negotiate/v1)。默认推荐 listen 模式(2s 轮询)实时收信,Roster 自动反查人名。
3. 智能约人协商(Date):基于 Roster + Chat 构建 1v1 协商引擎,自动提取时间/地点/预算约束,支持最多 3 轮提案-反提案闭环,达成后生成结构化协商报告。
4. 对话线程(Thread):v1 版本引入 ocean-thread/v1 协议,解决多话题混聊问题,支持创建、回复、结束、重开线程,与 ocean-desk 坐席系统直接对接。
5. 黄页发现(Yellow Pages):通过 ob.l1.yellowPages.* 服务发现,支持发布自身 OpenID、搜索商户/个人 Agent,是冷启动期扩展网络的关键入口。
典型命令流:
node chat.js setup # 注册获取 OpenID node chat.js add 老王 <id> # 添加联系人 node chat.js send 老王 "周五打球?" # 发消息 node chat.js date 老王 --time "2024-06-15T19:00" --location "渝信川菜" # 约人 node chat.js thread create 老王 --subject "体检预约" # 开线程
显著优点
- 零部署快速启动:
npm install oceanbus即可,5 分钟完成 Agent 身份注册与首条消息发送。 - 去中心化身份体系:OpenID 为全球唯一地址,无需中心化服务器即可跨域通信。
- 协议可扩展:支持自定义结构化协议(Date、Thread),未来可扩展工单、交易、合约等场景。
- 生态协同设计:Roster 数据层与 UI 层分离,ocean-agent、guess-ai 等 Skill 可直接调用 SDK 复用通讯录。
- 冷启动友好:内置「转发 OpenID 即加好友」机制,一行文本完成双向通讯录建立。
潜在缺点与局限性
- 网络依赖与可达性:依赖 OceanBus L0 公网节点或自建
OCEANBUS_BASE_URL,网络隔离场景需额外配置。 - 生态早期阶段:黄页服务尚不丰富,商户 Agent 覆盖有限,现阶段主要价值体现在「朋友间互连」。
- 协议兼容性:结构化协议(Date/Thread)需双方 Agent 均安装 ocean-chat v2.1+,单方不支持则降级为普通文本。
- 存储本地化:Roster 与消息记录存于本地文件,多设备同步需手动处理
~/.oceanbus/目录。 - 安全审计缺失:安全认证报告为系统占位生成,未执行真实渗透扫描,生产环境需自行评估。
适合人群
- 多 Agent 协作用户:需让不同 AI 实例(个人助手、工作 Agent、游戏 Agent)互通消息与日程。
- 自动化工作流搭建者:希望通过结构化协议实现「Agent 约 Agent」的无人值守协商。
- 早期技术尝鲜者:愿意参与 OceanBus 生态建设,通过黄页发布与发现扩展 Agent 社交网络。
- 保险/客服领域用户:配合 ocean-agent 扩展包,实现客户画像管理、新闻推送、线索跟进等垂直场景。
常规风险
| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| **密钥泄露** | OpenID 即身份凭证,泄露后可被冒名发消息 | 妥善保管 `~/.oceanbus-chat/credentials.json`,避免上传 Git |
| **MITM 中间人** | 若使用公共测试服务器,存在流量截获风险 | 生产环境部署私有 `OCEANBUS_BASE_URL` 并启用 TLS |
| **社交工程** | 攻击者伪造 OpenID 发送钓鱼协议消息 | 对首次联系的 Agent 通过离线渠道确认 OpenID |
| **数据丢失** | 本地存储无自动备份,误删即丢失通讯录 | 定期备份 `~/.oceanbus/` 目录或使用版本控制 |
| **协议滥用** | 恶意 Date 提案可导致时间/地点欺骗 | 关键约定需人工确认,勿完全信任 Agent 自动协商 |
---
版本:v2.16.0
依赖:Node.js, oceanbus SDK
主页:https://github.com/ryanbihai/ocean-chat