设置
设置页的八个标签页:常规、工具、访问、安全、网络、自动化、外观与关于,每一项的作用和对应的配置项。
设置 在导航栏最下方,分为八个标签页。当前标签页记在地址中(如 #/settings?tab=access)。
每一项改动后单独保存,不需要点总的保存按钮:开关和选择框改动即保存,文本框和数字框在离开输入框(或按回车)时保存,列表类的输入每增删一项就保存。保存成功提示 已保存;需要重启才生效的项提示 已保存 · 重启后生效。。值不合法时提示错误原因,配置不会被修改。
除了 语言 和 外观 是浏览器端的偏好,其余设置都写入数据目录中的 config.json,并立即作用于正在运行的网关。下文每一项都给出对应的配置键,配置文件的完整说明见配置文件。用命令行或直接编辑文件修改配置后需要重启服务器;在设置页修改则不需要(监听地址和端口除外)。
某个渠道的开关和网络线路不在这里,而在渠道页该渠道的详情中。
常规
常规 部分:
| 设置 | 配置键 | 说明 |
|---|---|---|
| 语言 | 无(浏览器端) | 自动检测(当前系统语言)、English、简体中文、日本語 |
| 默认模型 | server.default_model | 请求没有指定模型时使用。可以搜索;选 无 则请求必须指定模型 |
请求 部分,作用于网关接受的每个请求:
| 设置 | 配置键 | 默认 | 说明 |
|---|---|---|---|
| 单次请求可尝试的账号数 | server.max_account_retries | 3 | 一个请求在失败前最多轮换多少个账户,至少为 1。轮换规则见模型能力与推理强度 |
| 请求体大小上限(字节) | server.max_body_bytes | 16777216(16 MiB) | 超过此大小的请求体会被拒绝。增减按钮每次调整 1 MiB |
用量历史 部分:
| 设置 | 配置键 | 默认 | 说明 |
|---|---|---|---|
| 调用记录保留天数 | server.stats_keep_days | 90 | 更早的调用记录会被删除;逐小时总计保留 120 天,每日总计永久保留。数据在数据目录的 hoshimi.db 中。见用量 |
Playground 部分,设置 Playground 与模型对话的方式:
| 设置 | 配置键 | 说明 |
|---|---|---|
| 系统提示词 | playground.system_prompt | 从下一条消息起,作为每个 Playground 对话的第一条消息发送。留空则不发送 |
| 标题模型 | playground.title_model | 在新对话收到第一条回复后为它起标题。默认 对话自身使用的模型 |
| 图片模型 | playground.vision_model | 为不能读图的模型描述图片。自动(默认):第一个可用且能读图的模型;关闭:对不能读图的模型直接略去图片;也可以指定一个能读图的模型 |
上下文 部分,Playground 对话接近模型上下文窗口时如何处理:
| 设置 | 配置项 | 默认值 | 作用 |
|---|---|---|---|
| 自动压缩长对话 | playground.auto_compact | 开启 | 接近上限时,由模型总结此前的对话,之后从总结继续。被模型以过长为由拒绝的请求无论如何都会压缩后重新发送 |
| 压缩阈值(占窗口的百分比) | playground.compact_threshold | 85 | 50 到 95;剩余空间不足以容纳回复时会更早压缩。以比例保存(0.85) |
| 总结模型 | playground.compact_model | 对话自身使用的模型 | 压缩对话时负责撰写总结 |
这些设置在 Playground 中的效果见 Playground。
工具
Playground 的内置工具让支持工具调用的模型读写文件、运行命令和搜索网页。这里设置新对话的默认值,每个对话可以在输入框中单独开关工具、更改批准模式。完整用法见 Playground 工具。
没有沙箱
命令和文件编辑会以运行 Hoshimi 的用户权限在本机执行,没有沙箱:只启用需要的工具,并保持批准开启。
新对话的工具(playground.tools,默认全部关闭):
| 开关 | 配置值 | 作用 |
|---|---|---|
| 读取文件 | read | 读取文本文件、列出文件夹 |
| 编辑文件 | apply_patch | 在工作区中创建、修改和删除文件 |
| 运行命令 | shell | 运行一条命令并等待其输出 |
| 后台命令 | terminal | 启动持续运行的命令(服务器、监视程序),读取其输出、向其输入并停止它们 |
| 网页搜索 | web_search | 使用 DuckDuckGo 或你自己的 SearXNG 搜索网页 |
| 读取网页 | web_fetch | 以文本形式读取公开网页;本地和私有网络地址会被拒绝 |
工具如何运行:
| 设置 | 配置键 | 默认 | 说明 |
|---|---|---|---|
| 工具何时先询问 | playground.approval | 先询问(ask) | 先询问:运行命令、更改文件以及访问工作区外的内容前询问;仅在工作区外询问(auto):工作区内的命令和更改直接运行,读取或更改工作区外的文件时询问;完全访问(full):从不询问。需要询问的调用会在对话中等待你批准;对话输入框中的盾牌按钮可以单独更改该对话的模式 |
| 工作区 | playground.workspace | 数据目录下的 workspace | 工具的起始目录,也是唯一可以编辑文件的文件夹。说明文字中显示当前实际使用的路径 |
| 每条回复的工具调用轮数 | playground.max_steps | 50 | 1 到 500。持续调用工具的回复在达到此轮数后,用已有信息作答 |
| SearXNG 地址 | playground.search_url | 空 | 用你自己的 SearXNG 搜索(需开启它的 JSON 格式),必须是 http:// 或 https:// 地址。留空使用 DuckDuckGo |
访问
监听地址 部分(副标题 重启后生效。):
| 设置 | 配置键 | 默认 | 说明 |
|---|---|---|---|
| 监听地址 | server.host | 127.0.0.1 | 服务器绑定的地址。默认只允许本机访问 |
| 端口 | server.port | 10600 | 服务器从这个端口开始尝试 |
| 仅使用此端口 | server.strict_port | 关 | 关闭时,端口被占用则尝试下一个可用端口,直到 65535,再从 1024 开始;打开时端口被占用就启动失败 |
下方的 正在监听 地址 显示服务器此刻实际监听的地址。端口被占用而改用了别的端口时,会提示 端口 10600 已被占用,服务器改用 10601。,这只说明本次运行的情况,不需要重启。保存了新的地址或端口后,页面顶部出现 服务器正在监听的地址与已保存的 地址:端口 不同,重启后生效。,重启 hoshimi serve 即可。
密钥 部分。两种密钥相互独立,留空则对应的接口不校验密钥:
| 设置 | 配置键 | 保护什么 |
|---|---|---|
| 工具访问密钥 | server.access_token | 登录本界面,以及管理接口 /api/v1/*、/docs、/openapi.json |
| 模型 API 密钥 | server.model_api_key | 模型接口 /v1/*,供 Agent 等客户端调用;客户端用 Authorization: Bearer 或 x-api-key 发送 |
输入密钥后点 保存(或按回车),清空 删除密钥。密钥保存在配置文件中,之后界面只显示 已设置工具访问密钥。 或 已设置模型 API 密钥。,不会再显示密钥本身。保存或清除工具访问密钥后,当前浏览器自动换用新密钥;其他浏览器需要重新登录。
让其他机器访问之前
把 监听地址 改为非本机地址(如 0.0.0.0)时,必须同时设置 工具访问密钥 和 安全 › 允许的 CIDR,否则保存会被拒绝:网关会用你上游账号的凭据转发请求。建议同时设置 模型 API 密钥。完整步骤见访问控制与安全。
安全
限制谁可以连接。每输入一个值后按回车添加,也可以一次粘贴多个(以空格或逗号分隔);点值上的 × 删除。
| 设置 | 配置键 | 说明 |
|---|---|---|
| 允许的 CIDR | security.allow_cidrs | 允许连接的网段,例如 10.0.0.0/8。本机回环地址始终允许 |
| 允许的主机名 | security.allow_hosts | 允许的 Host 名称,例如 gateway.example.com。留空表示不限制 |
| 允许的来源 | security.allow_origins | 允许调用此 API 的其他来源的浏览器页面(CORS),例如 https://app.example.com。需要先设置工具访问密钥 |
主机名和来源的检查对带密钥的请求同样适用,密钥不能绕过它们。各项的详细规则见访问控制与安全。
网络
所有渠道的默认网络线路(配置键 network)。在 请求出口 中选择:
| 选项 | 作用 |
|---|---|
| 自动(环境代理) | 默认。读取 HTTP_PROXY、HTTPS_PROXY、ALL_PROXY 和 NO_PROXY(小写变量优先)。此时可以打开 无环境代理时使用 Windows 系统代理 |
| 直连 | 不使用任何代理 |
| 指定代理 | 在 代理地址 中填写 HTTP(S) 或 SOCKS5 地址后点 保存;清空 回到自动 |
这条线路用于网关发出的所有请求:模型目录、推理、登录、令牌刷新、余额、签到,以及 PyPI 的版本检查。代理地址可能包含用户名和密码,保存后界面只显示 已配置代理,保存可替换。。指定的代理连不上时不会退回直连。修改对新的请求生效,进行中的流式响应仍在原来的连接上完成。
某个渠道需要不同的线路时,点 按渠道设置线路 到渠道页,在该渠道的 网络 部分覆盖。详见网络与代理。
自动化
让渠道账号保持可用的两个定时任务:
| 开关 | 配置键 | 默认 | 说明 |
|---|---|---|---|
| 每日签到 | server.auto_checkin | 开 | 每天定时领取各站点的免费额度。下方的 今日签到 显示今天是否已经完成,以及上次签到的结果 |
| 凭据续期 | server.auto_refresh | 开 | 在令牌过期前定时续期:每 30 分钟检查一次,续期一小时内将过期的账号 |
不需要这些后台请求的纯网关部署可以关闭它们。手动签到和续期在渠道页进行,规则见渠道。启动时也可以用 hoshimi serve --no-checkin --no-refresh 临时关闭,见命令参考。
外观
这些选项保存在当前浏览器中,只影响这个浏览器:
| 设置 | 选项 |
|---|---|
| 主题 | 浅色、深色、跟随系统(默认)。顶栏的主题按钮也可以切换 |
| 主题色 | 选一种颜色,界面的配色由它生成 |
| 对比度 | 标准(默认)、中、高 |
| 动画 | 跟随系统(默认)或 减少:用简短的淡入淡出代替滑动和缩放 |
关于
| 项目 | 内容 |
|---|---|
| 版本 | 正在运行的 Hoshimi 版本 |
| 数据目录 | 保存配置、数据库和工作区的目录 |
| 配置文件 | config.json 的完整路径 |
| 数据库 | hoshimi.db 的完整路径:用量、签到记录、探测结果和 Playground 对话都在其中 |
复制配置路径 把配置文件的路径复制到剪贴板。没有设置工具访问密钥时还有 API 文档 按钮,打开服务器自带的接口文档(/docs)。数据目录的位置和其中的文件见数据目录与路径;命令行中可以用 hoshimi config path 查看配置文件的路径。
界面中没有的设置
少数配置只能在 config.json 中修改,例如 server.check_updates(是否向 PyPI 检查新版本)以及各渠道的 providers.<id>.options 中除网络线路和 Cline 登录方式以外的选项。用 hoshimi config set 修改后重启服务器:
hoshimi config set server.check_updates false全部配置键见配置文件。