跳转至

托管聊天(可选)

Hosted Chat 是一个自托管、BYOK 聊天和集成到 LSM 人机界面中的 MCP Apps 客户端。它不是逻辑会话模式:对话具有独立的身份,并且可以选择附加现有的 LSM 逻辑会话。 ChatGPT 和其他外部客户端继续使用相同的 LSM 会话和工具。

可用性

Hosted Chat 在 MCP 模式且使用持久化状态存储时默认启用。如需关闭,请设置:

LOCAL_SHELL_MCP_HOSTED_CHAT_ENABLED=false

启用时,Hosted Chat 入口显示在 Web UI / TUI 选择器下方。修改设置后需要重启控制器。该功能还有一个移动顶栏条目。聊天主机使用现有的 LSM OAuth 身份和范围。同一控制器操作模型工具循环使用的 MCP 服务器;工人无法发起执行。

型号简介

选择 模型配置文件 创建/编辑具有名称、HTTPS OpenAI 兼容 API 基本 URL、模型 ID 和可选 API 密钥的配置文件。多个配置文件可以共存,对话可以切换模型。

配置文件、对话、完整的消息历史记录和工具调用结果通过配置的 LSM 状态后端保存在服务器上。它们的范围与经过身份验证的主体相关。 API 密钥使用 AES-GCM 加密,并且永远不会从配置文件列表或配置文件详细信息端点返回。它不会存储在浏览器存储中、作为提示发送到模型或包含在审核日志中。聊天主机仅将其传递给所选模型 API。

第一个文件支持的部署在模式 0600 的状态目录中创建hosted-chat-encryption-key。 将此文件与状态数据一起备份。如果没有它,保存的 API 密钥将无法解密。 如果控制器使用 Redis、多个副本或其他非文件状态后端,请配置一个稳定的、共享的 32 字节 URL-safe-base64 密钥:

LOCAL_SHELL_MCP_HOSTED_CHAT_ENCRYPTION_KEY=<base64url-encoded 32 random bytes>

在不迁移加密配置文件的情况下,请勿轮换此设置。当需要持久会话时,不要使用内存状态存储。

默认情况下,仅接受具有 DNS 主机名的 HTTPS 模型端点;拒绝本地/专用端点和 HTTP,以降低服务器端请求伪造风险。有意托管可信私有模型网关的管理员可以选择加入:

LOCAL_SHELL_MCP_HOSTED_CHAT_ALLOW_PRIVATE_ENDPOINTS=true

除非用户被授权联系内部服务,否则请勿在不受信任的多用户控制器上启用此功能。

对话和 MCP 应用程序

使用保存的模型配置文件创建对话。每个提交的回合都成为服务器拥有的后台任务;关闭浏览器不会取消任务。已完成的文本和工具调用在模型/工具步骤之间持久地设置检查点。显式停止以中断。在控制器重新启动时,中断的运行会被标记为这样,并且可以在新的回合中继续,但未知结果的工具调用永远不会自动重播。

对话的整个消息历史记录都保留在存储中。仅一次将有界的最近窗口发送到模型以控制上下文大小。工具调用通过 LSM 的经过身份验证的 MCP 端点发送,保留所有普通工具权限和审核/预检行为。

归档时可将对话移出普通列表,使用现有 Audit zstd 编解码器压缩保存为 .json.zst。归档内容不会进入常规搜索索引,可在 Archived conversations 中独立按标题查找、只读查看、恢复或永久删除。归档和恢复都遵循先保存后删除的顺序,避免数据丢失。

长对话与上下文压缩

所有原始消息及工具记录均保留在服务器。模型配置可设置上下文窗口,默认为 32,768 Token(允许 8,192 至 1,000,000)。控制器按 UTF-8 数据量保守估算 Token,计入工具定义,并在接近窗口的 80% 时调用同一个模型汇总较早的完整轮次。摘要保留目标、约束、决策、修改文件、工具结果与待办,作为独立检查点持久化;模型只读取摘要与最近的原始消息。

工具执行后会重新评估上下文。点击 Compact 可提前手动压缩,但运行中的回合不能压缩。可查看已保存的摘要;压缩失败不会更改旧摘要或原始历史。估算不是模型精确分词结果,单个过大的当前回合会被拒绝而不会悄然截断。

打开 Live Workspace 以在嵌入式视图中渲染 LSM 的现有 workspace_open MCP Apps 资源。主机使用@modelcontextprotocol/ext-apps桥进行应用程序生命周期、凭证更新、工具调用和人员到代理操作。没有实施第二个文件管理器、终端、审计或作业 UI。

可选附加的session_id允许托管聊天使用和显示现有的逻辑会话;它不会重新分类会话或授予托管聊天所有权。聊天对话标识符和逻辑会话标识符是分开的。

边界

  • 模型请求使用与 OpenAI 兼容的聊天完成以及工具调用;其他提供商协议需要适配器。
  • 每回合保护模型迭代和工具调用的上限。较长的任务可以使用持久历史在新的回合中继续。
  • 聊天对话删除是明确的。不执行自动历史记录驱逐。
  • 控制器必须能够通过其自己的 MCP 客户端进行网络访问,并且浏览器必须获得 LSM Live Workspace API 的授权。