Class OpenCodeSessionKeys

java.lang.Object
io.github.easy4j.opencode.api.OpenCodeSessionKeys

public final class OpenCodeSessionKeys extends Object
OpenCode 会话 key 命名工具,对齐 OpenClawSessionKeys 的设计。

OpenCode Server 基于 session 模型,sessionId 由服务端生成(ses 前缀), 无法由客户端指定。本工具用 sessionKey 作为 session 的 title, 配合 OpenCodeClient#prompt(String sessionKey, PromptRequest request) 实现 「按 sessionKey 自动复用/创建 session」的透明调用。

  • 固定多轮会话:opencode:{agentId}:{peerId}
  • 按渠道隔离:opencode:{agentId}:{peerId}:{channel}
Since:
1.0.0
Author:
Loong Wan
  • Method Details

    • forStableSession

      public static String forStableSession(String agentId, String peerId)
      固定多轮会话 key:opencode:{agentId}:{peerId}。

      同一 agent + 同一用户复用同一会话上下文。

      Parameters:
      agentId - 业务智能体标识
      peerId - 业务 peer(如 userId)
      Returns:
      服务端或 CLI 返回的文本值;无内容时可能为空字符串
    • forStableSession

      public static String forStableSession(String agentId, String peerId, String channel)
      固定多轮会话 key(含渠道):opencode:{agentId}:{peerId}:{channel}。

      同一 agent + 同一用户 + 同一渠道复用同一会话上下文。

      Parameters:
      agentId - 业务智能体标识
      peerId - 业务 peer(如 userId)
      channel - 渠道(如 xiaohongshu)
      Returns:
      服务端或 CLI 返回的文本值;无内容时可能为空字符串