Package io.github.easy4j.opencode.api
Class OpenCodeSessionKeys
java.lang.Object
io.github.easy4j.opencode.api.OpenCodeSessionKeys
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 Summary
Modifier and TypeMethodDescriptionstatic StringforStableSession(String agentId, String peerId) 固定多轮会话 key:opencode:{agentId}:{peerId}。static StringforStableSession(String agentId, String peerId, String channel) 固定多轮会话 key(含渠道):opencode:{agentId}:{peerId}:{channel}。
-
Method Details
-
forStableSession
固定多轮会话 key:opencode:{agentId}:{peerId}。同一 agent + 同一用户复用同一会话上下文。
- Parameters:
agentId- 业务智能体标识peerId- 业务 peer(如 userId)- Returns:
- 服务端或 CLI 返回的文本值;无内容时可能为空字符串
-
forStableSession
固定多轮会话 key(含渠道):opencode:{agentId}:{peerId}:{channel}。同一 agent + 同一用户 + 同一渠道复用同一会话上下文。
- Parameters:
agentId- 业务智能体标识peerId- 业务 peer(如 userId)channel- 渠道(如 xiaohongshu)- Returns:
- 服务端或 CLI 返回的文本值;无内容时可能为空字符串
-