必须延长读取超时并启用分片机制:将HTTP客户端connect设为60秒、read/write设为1800秒,启用keepalive;为非HTTP Connector单独配置timeout_ms=3600000及part_size_mb≥50;离线环境需设PYTHONHTTPSREQ_TIMEOUT环境变量、验证分片上传、指定足够空间的state_file路径。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Qoder在执行大文件上传、代码库全量扫描或批量知识索引时频繁报Read Timeout,说明当前网络超时阈值已无法匹配实际IO耗时,必须针对性延长读取等待窗口并启用分片机制。
调整QoderWake全局HTTP客户端超时配置
这一步直接修改底层通信层的等待上限,适用于所有通过HTTP协议发起的大数据传输任务。
1、打开QoderWake配置目录下的config/http-client.yaml文件。
2、定位timeout区块,将connect设为60秒,read与write同步设为1800秒(30分钟),避免网络抖动或服务端慢响应导致提前断连。
3、确认enable_keepalive为true,并设置keepalive_idle为45秒——【不启用keepalive会导致每次传输都重建TCP连接,大文件场景下极易触发read timeout】。
4、保存后执行qoderctl http reload热加载配置,检查日志中是否出现HTTP client timeout updated: connect=60s, read=1800s提示。
为GitHub/OSS/SFTP等Connector单独配置超时参数
全局配置对这些非HTTP直连的Connector无效,它们各自使用独立SDK,必须注入底层超时控制。
方法一:通过管理控制台配置
进入QoderWake管理控制台→「Connector管理中心」→选择目标Connector(如oss-v2.1)→点击「高级参数」→在JSON编辑区添加:
{"timeout_ms": 3600000, "max_retries": 3, "retry_delay_ms": 2000}
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
方法二:CLI命令行快速覆盖
执行qoder connector config oss-v2.1 --set timeout_ms=3600000 --set part_size_mb=100,该命令会自动启用分片上传开关并设定单片大小为100MB。
注意:part_size_mb必须设为整数且不小于50,否则分片逻辑不会触发,仍走单次上传路径。
离线环境强制启用分片与断点续传
当QoderWake部署在无外网访问能力的私有环境中,无法依赖在线配置中心下发参数,需从运行时环境或代码层注入。
第一步:设置Python环境变量
在启动QoderWake前,执行export PYTHONHTTPSREQ_TIMEOUT="60,3600",该变量会被requests库自动识别为(connect, read)元组。
第二步:验证分片状态
运行qoder connector test oss-v2.1 --upload-test-file /tmp/test_512mb.bin,观察输出中是否包含uploading in 5 parts字样——若显示uploading as single object,说明part_size_mb未生效或state_file路径不可写。
第三步:指定断点续传持久化位置
在Connector高级参数中追加"state_file": "/data/qoder/oss-upload-state.json",确保该路径所在磁盘剩余空间≥512MB,【state_file损坏或满盘将导致后续所有分片上传失败且无法恢复】。













