84653bec61
文件功能: - 新增 file_read / file_write / file_stat 工具(文本/base64/图片,分块读取,原子替换写入,SHA-256) - 新增 file_link 工具与 GET/PUT /files 端点:HMAC 签名限时链接或 Bearer 认证, 支持 Range、HEAD、chunked、Expect: 100-continue,大文件不经过模型上下文 - 新增 --file-root / --max-upload;配置白名单但未限定目录时文件功能自动禁用 安全: - 白名单改为程序名精确匹配,shell 模式禁止元字符,shell_write 输入逐行受检;黑名单检查每一段 - HTTP 签发 Mcp-Session-Id,按会话隔离 shell 会话与取消,支持 DELETE 终止会话 - HTTP 客户端不能再用 notifications/exit 关停服务;token 常量时间比较 正确性: - 后台进程占用输出管道时 run_command 不再挂起(detached=true) - shell_read 改用绝对偏移,修复缓冲裁剪后错位;被信号杀死的会话能报告退出;阻塞读可取消 - 输出与分块读取不再切断 UTF-8 多字节字符 - shell_* 结果改为标准 content + structuredContent - POST + SSE 的 tools/call 在同一响应流中推送进度与结果 - /mcp 支持 Expect: 100-continue(curl 发送大请求时不再白等 1 秒) - CLI 参数优先于环境变量;SIGTERM 在 stdio 模式下也能清理退出;Windows 支持 Ctrl+C 清理与优雅退出 资源:并发工具调用 / HTTP 连接 / shell 会话数量上限,空闲会话自动回收 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 lines
1.1 KiB
Bash
32 lines
1.1 KiB
Bash
# bolt 服务配置文件(EnvironmentFile)
|
|
# 修改后: systemctl restart bolt
|
|
#
|
|
# 注意:这是远程命令执行入口,监听公网时务必设置 BOLT_TOKEN!
|
|
# 启动参数(监听地址)在 /etc/systemd/system/bolt.service 的 ExecStart 中修改。
|
|
|
|
# 认证令牌(必填,若监听 0.0.0.0 对外暴露)
|
|
#BOLT_TOKEN=请改成强随机串
|
|
|
|
# 命令白名单(按程序名精确匹配,逗号分隔;非空时 shell 模式禁止管道/重定向/命令串联等元字符)
|
|
#BOLT_ALLOW=git,docker,curl
|
|
|
|
# 命令黑名单(按程序名精确匹配命令中每一段;尽力而为,不能替代白名单)
|
|
#BOLT_DENY=rm,mkfs
|
|
|
|
# 文件工具与 /files 允许访问的目录(逗号分隔;设置了 BOLT_ALLOW 时必须配置,否则文件功能禁用)
|
|
#BOLT_FILE_ROOT=/srv/data,/tmp
|
|
|
|
# PUT /files 单次上传上限(支持 K/M/G,默认 2G)
|
|
#BOLT_MAX_UPLOAD=2G
|
|
|
|
# 默认命令超时毫秒(0 = 无限)
|
|
#BOLT_TIMEOUT_MS=30000
|
|
|
|
# 默认工作目录
|
|
#BOLT_CWD=/root
|
|
|
|
# 单流输出捕获上限(支持 K/M/G)
|
|
#BOLT_MAX_OUTPUT=1M
|
|
|
|
# 额外允许的 HTTP Origin(默认仅 localhost/127.0.0.1)
|
|
#BOLT_ALLOW_ORIGIN=https://example.com |