> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coze.cn/llms.txt
> Use this file to discover all available pages before exploring further.

## Chat SDK 如何实现会话隔离？ {#6c0a0b59}

使用扣子 OpenAPI 或 SDK 和扣子智能体或应用对话时，扣子平台会将使用同一个访问密钥的对话看做同一个用户。如果业务侧不同的用户使用同一个扣子访问密钥鉴权，用户看到的对话记录中可能会夹杂其他用户的对话历史。

如需实现 Chat SDK 会话隔离，需要使用 OAuth JWT 鉴权方式，并在签署 JWT 时，在 payload 字段中添加 session_name 字段。session_name 中应指定用户在业务侧的 UID，String 类型。UID 由业务侧自行定义，扣子仅透传这个字段并用于签署 JWT、区分不同 session_name 的会话。详细说明可参考[如何实现会话隔离](/developer_guides/session_isolation)。

## 可以通过 Web-view 的方式在小程序中加载 Chat SDK 吗？ {#211476fc}

不可以，web-view 方式无法加载第三方的域名。

建议在 Chat SDK config 属性中设置 isIframe = false，以非 iframe 的方式打开聊天框。通过该方式可以规避小程序中 webview 的域名限制。

## 为什么智能体发布到 Chat SDK 后，会获取到别人的聊天记录？ {#9f6ad3c7}

扣子智能体发布到 Chat SDK 后，如果打开时会获取到别人的聊天记录，即使已设置 userInfo 参数也无效，这通常是由于未进行会话隔离所导致的。为避免不同账号的聊天记录互相可见，需要进行会话隔离。思路如下：

1. 在使用 OAuth JWT 授权时，在 payload 字段中添加 session_name 字段，该字段值为用户的唯一标识，如用户 ID。
2. 在 ChatSDK 中，将 `auth` 的 `token` 参数设置为用户对应的 Token，确保每位用户在与智能体对话时，都使用各自的JWT Token。详细步骤可参考[如何实现会话隔离](/developer_guides/session_isolation)。

## 为什么在移动端设置 isNeedAudio 为 true 后，仍无法使用语音输入功能？ {#38224953}

移动端支持 isNeedAudio 参数的语音输入功能，若设置后不生效，请检查集成环境是否已使用 HTTPS 协议。该功能需要在 HTTPS 环境下使用。

## Chat SDK 悬浮球位置如何移动？ {#d5f79f31}

Chat SDK 悬浮球的位置默认在页面右下角，不支持移动，如果需要调整悬浮球的位置，你可以隐藏默认的悬浮球，自定义悬浮球的位置和样式。实现方法如下：

1. 设置`ui.asstBtn.isNeed=false`，隐藏悬浮球。
   ```TypeScript
   // 在WebChatClient参数中，添加ui.asstBtn配置
   const cozeWebSDK = new CozeWebSDK.WebChatClient({
     config: {
       botId: '740849137970326****',
       isIframe: false,
     },
     auth: {
       type: 'token',
       token: 'pat_zxzSAzxawer234zASNElEGALlq7hcOqMcPFV3wEVDiqjrg****',
       onRefreshToken: async () => 'pat_zxzSAzxawer2OqMcPFV3wEVDiqjrg****',
     },
     ui: {
       // 悬浮球配置
       asstBtn: {
         isNeed: false // 隐藏悬浮球
       }
     }
   });
   ```
2. 自定义悬浮球按钮。
   在页面任意位置添加自定义按钮，点击后调用 Chat SDK 方法打开聊天窗口。
   ```HTML
   <!-- 自定义悬浮球按钮 -->
   <button 
     id="custom-asst-btn" 
     style="position: fixed; right: 50px; bottom: 50px; z-index: 9999;"
     onclick="cozeWebSDK.showChatBot();"
   > 
   </button>
   
   <button onclick="cozeWebSDK.showChatBot();">显示聊天框</button>
   <button onclick="cozeWebSDK.hideChatBot();">隐藏聊天框</button>
   </body>
   ```   


## 使用 Chat SDK 发消息时提示“Your free quota has been used up”是什么原因？ {#3bf4b780}

个人免费版账号使用 Chat SDK 的免费额度为 **100 次对话/账号**。即使你账号中还有剩余资源点，当累计对话次数超过该额度后，账号将无法继续使用扣子 Chat SDK。

## 使用 Chat SDK 为什么没有获取智能体的开场白？ {#8fbd4389}

若智能体中已设置开场白，且希望在 Chat SDK 中正常显示开场白，请确保将该智能体**同时发布至 API 渠道和 Chat SDK 渠道**。

若仅发布 Chat SDK 渠道而未发布 API 渠道，可能导致 Chat SDK 无法获取智能体的开场白配置。
