harness - 如何配置?
2026年4月22日 上午9:48:22
HarnessProperties 的配置示例:
HarnessProperties harnessProps = new HarnessProperties(".tmp/");
harnessProps.setSessionWindowSize(8);
harnessProps.setSummaryWindowSize(30);
harnessProps.setSummaryWindowToken(30_000);
harnessProps.addTools(ToolPermission.TOOL_ALL_FULL); //设定工具权限
可选配置:
1、核心配置项
| 配置项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
workspace | String | work | 工作区 |
tools | List<String> | / | 工具权限配置(** = 所有工具;* = 仅公域工具) |
models | List<ChatConfig> | / | 大模型配置(第一个为默认) |
maxSteps | int | 30 | 根代理最大循环步数 |
maxStepsAutoExtensible | bool | true | 最大步数自动续航(由 LLM 反思控制) |
sessionWindowSize | int | 8 | 会话历史窗口大小(新指令时使用几条历史消息) |
summaryWindowSize | int | 30 | 触发摘要压缩的消息条数阈值 |
summaryWindowToken | int | 30000 | 触发摘要压缩的内容长度阈值 |
models 模型配置参考:《模型配置与请求选项》
2、安全与行为配置
| 配置项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
sandboxMode | bool | true | 沙盒模式,启用时禁止访问绝对路径(只能访问工作区与用户主目录) |
thinkPrinted | bool | true | 是否打印 AI 的内心思考(建议关掉,关闭后输出更简洁) |
hitlEnabled | bool | false | 是否启用人工审核(危险操作需人工确认) |
subagentEnabled | bool | true | 是否启用子代理模式(自动委派任务给专家代理) |
3、扩展配置
| 配置项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
skillPools | Map<String, String> | / | 技能池配置 |
mcpServers | Map<String, McpServerParameters> | / | Mcp 服务配置 |
apiServers | Map<String, ApiSource> | / | We Api 服务配置 |
附录、工具权限配置选择(tools)
| 工具名 | 类型 | 描述 |
|---|---|---|
** | - | 所有公域 + 私域工具 |
* | - | 仅所有公域工具 |
pi | - | 微形命令行工具(包括工具:read, write, edit, bash) |
hitl | 私域 | 人工介入审核 |
generate | 私域 | 动态生成子代理 |
restapi | 私域 | Web 服务 API 接入 |
mcp | 私域 | MCP 服务接入 |
code | 公域 | 编码指引(自动分析项目类型、编译指令等) |
lsp | 公域 | LSP服务(提升代码编辑器的智能感知能力) |
codesearch | 公域 | 网络代码搜索 |
websearch | 公域 | 网络搜索 |
webfetch | 公域 | 网页内容抓取 |
todo | 公域 | 任务清单管理 |
skill | 公域 | 专家技能调用 |
task | 公域 | 子代理任务委派 |
bash | 公域 | Shell 命令执行 |
ls | 公域 | 列出目录内容 |
grep | 公域 | 递归内容搜索 |
glob | 公域 | 通配符文件搜索 |
edit | 公域 | 文件编辑(含 write、edit、read) |
read | 公域 | 读取文件内容 |