# 框架功能
本章按模块逐条列出 Harness 框架当前的完整功能清单,逐条来自源码核对,可作为功能验收、对外介绍与回归测试的基线。
# 一、模块总览
| 序号 | 分组 | 定位 |
|---|---|---|
| 1 | 智能体引擎 | ReAct 引擎、任务生命周期、HITL、Steer、上下文压缩、38 类 SSE 事件流、多实例集群协同 |
| 2 | 工具框架 | 注解式 FC 工具框架、两级工具路由、Schema 推导校验、事件流模型、安全护栏 |
| 3 | 沙箱 | 容器化 Python 执行环境、会话文件读写、命令历史与清理 |
| 4 | 大模型对接 | 模型提供商/费率/默认配置、流式代理、Skill 脚本与引用、密钥与请求 Token |
| 5 | MCP | 自定义 MCP 工具(HTTP/内置/脚本)、远程 MCP 代理服务器、标准 tools/list 与 tools/call |
| 6 | 技能管理 | Agent Skill 包与专家套件(Expert Suite)全生命周期 |
| 7 | 知识库 | 知识库/文档/成员、多格式解析、长文自动分片、MeiliSearch 全文检索与 Outbox 索引同步 |
| 8 | 连接器 | MySQL/PostgreSQL/SSH/S3/GitLab/Kubernetes/邮箱七类外部系统接入,凭据加密、SSRF 管控、执行流水审计 |
| 9 | 定时任务 | Quartz 集群调度、cron/间隔/单次三类触发、执行器 SPI |
| 10 | 积分计费 | Token 费率换算积分、消费记录、远程扣费、充值订单与二维码 |
| 11 | 接口契约 | 跨模块 DTO / 实体 / 枚举 / 服务接口 |
| 12 | 领域实现 | 平台基础领域服务、对象存储(MinIO / 阿里云 OSS)适配 |
| 13 | 适配层 | 平台积分/云存储远程消费端、网关鉴权拦截、组织隔离统一定义 |
| 14 | 业务示例 | 业务模块接入框架的四类扩展点示例(雇员工具 + 定位器) |
| 15 | 启动装配 | Spring Boot 入口、线程池/Jackson/上传配置、功能开关与启动自检 |
| 16 | 前端界面 | Agent 会话工作台 + 20 个管理页面 |
上表 16 行 = 根
pom.xml中参与构建的 15 个 Maven 模块 + 1 个前端工程。其中alinesno-infra-harness-ui虽自带pom.xml(parent 为spring-boot-starter-parent),但未列入根 POM 的modules,而是由ui-publish.yml单独构建发布。 另:目录树里可见的alinesno-infra-harness-context不是本工程模块(见附录 C)。
# 二、功能列表
# 1. 智能体引擎与任务管理(copilot)
| 序号 | 功能 | 场景 |
|---|---|---|
| 1 | ReAct 推理-执行循环 | 开放式任务需模型自主多步调用工具完成 |
| 2 | 三种执行模式 | 闲聊问答用对话模式,需交付产物用任务模式 |
| 3 | 迭代与模型调用双保险丝 | 防止模型失控自转烧配额 |
| 4 | 空转检测与连续失败熔断 | 工具持续报错时快速止损并向用户说明 |
| 5 | 未知/缺失工具名引导回执 | 端点差异或模型猜工具名时自愈,避免反复重试 |
| 6 | 计划生成引擎 | 复杂任务先出计划再执行 |
| 7 | 计划项动态维护 | 执行中重排步骤、转向后调整旧计划 |
| 8 | 子代理委派 | 大任务拆分并行、隔离上下文 |
| 9 | 子代理事件透传 | 会话面板折叠展示子代理过程 |
| 10 | 会话附件预上传子代理 | 多代理协作处理同一批素材 |
| 11 | 后台任务注册表 | 长耗时子任务不阻塞主循环 |
| 12 | 人机交互挂起/恢复 | Agent 需要人确认或补信息 |
| 13 | 问题澄清 ask_user | 需求不明确时对齐 |
| 14 | 敏感操作确认 confirm_action | 写库、发信、执行命令前把关 |
| 15 | 业务页面交互 open_interaction_page | 需用户在业务系统里点选/审批的场景 |
| 16 | 定时任务确认卡 add_scheduled_task | 对话中说「每天 9 点跑一次」 |
| 17 | 注解式 HITL 门控 | 业务新增敏感工具零引擎改动 |
| 18 | 确认台账与免重复弹窗 | 连续同类操作减少打扰,同时保留严格基线 |
| 19 | 无主会话写操作策略 | 夜间无人值守的自动任务 |
| 20 | 确认风险下限抬升 | 防止「把外发邮件描述成月报」的语义欺骗 |
| 21 | Steer 运行时转向 | 任务跑偏时实时改令 |
| 22 | 转向三态回执与幂等 | 网络重试不重复生效 |
| 23 | 转向生效确认与审计轨迹 | 复盘谁在什么时候改了任务方向 |
| 24 | 创建并自动执行任务 | 会话工作台发起任务 |
| 25 | SSE 事件流订阅 | 实时查看执行过程 |
| 26 | 事件缓冲与重连回放 | 关页面→后台执行→重开继续看 |
| 27 | 事件分级落盘 | 跨重启的任务轨迹与审计 |
| 28 | 统一交互回答入口 | 前端统一「提交」按钮 |
| 29 | 待交互信息查询 | 刷新页面后恢复确认卡 |
| 30 | 任务列表与状态查询 | 历史会话与现场恢复 |
| 31 | 中止任务 | 取消长时间运行任务 |
| 32 | 追问开启新一轮 | 在结果上继续提要求 |
| 33 | 彻底删除任务 | 用户删除会话 |
| 34 | 多租户越权守卫 | 组织与账号双维度隔离 |
| 35 | SSE 运维指标 | 容量与故障排查 |
| 36 | 38 种结构化事件 | 前端按类型分发到各消息块组件 |
| 37 | 全量累积推送契约 | 避免前端拼装错位 |
| 38 | 上下文用量统计 | 前端进度条与成本可视化 |
| 39 | 自动上下文压缩 | 长会话不失忆、不超窗 |
| 40 | 手动压缩上下文 | 用户预感要超窗时主动腾空间 |
| 41 | 消息序列清理器 | 压缩/中断/回放后的历史一致性 |
| 42 | 会话内存态存储 | 单进程内的执行期状态 |
| 43 | 系统提示词分层装配 | 一次模型调用该带什么的唯一出口 |
| 44 | 多 Provider 路由与凭据解析 | 一个引擎对接多家模型服务 |
| 45 | 模型调用配置对象化 | 引擎与子代理共享同一份配置口径 |
| 46 | EventV2 流式客户端 | 流式解析只有一份实现 |
| 47 | 非流式 chat 通道 | 摘要与辅助生成 |
| 48 | 端点兼容处理 | 对接 OpenAI 兼容端点集合 |
| 49 | Token 用量与积分记账 | 成本核算不丢账 |
| 50 | 任务并发闸门 | 保护 LLM 配额、沙箱容器数与连接池 |
| 51 | 集群配额 | 多副本部署下的真实上限 |
| 52 | 执行节点身份与心跳 | 滚动发布不再误杀全平台在跑任务 |
| 53 | 孤儿任务清理 | 节点崩溃 / OOMKilled 后状态自愈 |
| 54 | 优雅关闭状态机 | 发布窗口减少状态错写 |
| 55 | 跨节点指令总线 | 请求被负载均衡到别的副本 |
| 56 | SSE 跨节点转发 | 任务在 A 节点跑、EventSource 连到 B 节点 |
| 57 | 文件产物发布 | 交付报告、图表、数据文件 |
| 58 | 产物下载链接重签 | 历史任务回放时链接过期 |
| 59 | 产物同源代理下载 | 图片/文档在页面内直接渲染 |
| 60 | 素材文件管理 | 复用历史上传的素材 |
| 61 | 沙箱预加载 | 任务一开工就有所需文件 |
| 62 | SOUL 人格与 USER 偏好 | 不同账号在不同组织下各有独立人格 |
| 63 | 长期记忆管理 | 让 Agent 记住稳定事实 |
| 64 | @ 定位器扩展点 | 业务数据被用户「@ 进」对话 |
| 65 | 模块列表 / 钻取 / 全局搜索 API | 浮层第一级与逐级下钻 |
| 66 | 结构化引用注入 | Agent 准确知道用户在说哪条数据 |
| 67 | # 界面定位与自然语言跳转 | 用户说「打开知识库管理页」 |
| 68 | 外部内容信任边界 | 防邮件、网页、文档里的提示注入劫持 |
| 69 | 安全留痕与取证查询 | 事后回答「有没有、从哪来、长什么样」 |
| 70 | Agent 定时任务执行器 | 每天定时跑一段 AI 指令 |
| 71 | 调度配置统一翻译层 | 对话中的自然语言调度描述 |
| 72 | 大结果落沙箱 | 防止大结果撑爆上下文 |
# 2. 工具框架(toolkit)
| 序号 | 功能 | 场景 |
|---|---|---|
| 73 | 注解式工具声明 | 新增工具不改框架任何文件 |
| 74 | 工具扫描与按域注册 | 一套 toolkit 同时服务 copilot 与 agent 引擎 |
| 75 | 条件注册 | 未开沙箱时不暴露沙箱工具 |
| 76 | 分组元数据聚合 | 目录标题与 load_tools 参数说明 |
| 77 | Schema 自动推导 | 少写样板、类型即文档 |
| 78 | Schema 强类型与转换 | 下发给 LLM 的参数定义合法 |
| 79 | 启动期工具自检 | 把线上才暴露的参数校验失败挡在启动期 |
| 80 | 两级工具路由注册中心 | 上百工具下的上下文预算控制 |
| 81 | 路由元工具 | 模型自己按需取工具 |
| 82 | 路由总开关回退 | 灰度与故障回滚 |
| 83 | 预载分组 | 高频工具免一次加载往返 |
| 84 | 统一执行器与超时 | 工具实现只写业务 |
| 85 | 方法适配器与返回值包装 | 同一套契约多种写法 |
| 86 | 工具产出结构化引用 | 引用可点击回溯到片段与原文 |
| 87 | 内容信任与确认卡支撑件 | 框架级安全能力一处实现 |
| 88 | 事件流代数模型(EventV2) | 从回调式迁移到事件流式 |
| 89 | SystemContext 上下文代数 | 预留的系统上下文抽象 |
# 3. Agent 内置工具集(框架自带 FC 能力)
| 序号 | 功能 | 场景 |
|---|---|---|
| 90 | 沙箱文件工具组 | 产出与检查文件 |
| 91 | 沙箱执行与环境工具 | 数据处理、图表与文档生成 |
| 92 | 知识库工具组 | RAG 问答与长文按需展开 |
| 93 | 时间与标识工具组 | 涉及「今天/30 天后」的判断 |
| 94 | 技能工具组 | 按任务临时获得专业能力 |
| 95 | 人格与记忆工具组 | Agent 自我设定与记忆沉淀 |
| 96 | 定时任务工具组 | 对话中管理与清理调度 |
| 97 | 视觉分析工具 | 截图识别、票据与图表解读 |
| 98 | 引擎内建交互原语 | 统一的「问 / 确认 / 配置 / 操作」入口 |
| 99 | 计划管理工具组 | 计划驱动执行 |
| 100 | 工具路由元工具组 | 按需取工具、控制上下文 |
| 101 | 页面与交互导航工具 | Agent 引导用户到正确页面 |
| 102 | 子代理委派工具 | 任务拆分 |
| 103 | MCP 动态工具注册 | 一个任务用上一组第三方能力 |
| 104 | 连接器工具组(引导) | 模型冷启动即会用连接器 |
| 105 | 连接器工具组(数据库) | 查数与受控改数 |
| 106 | 连接器工具组(SSH) | 服务器排障与巡检 |
| 107 | 连接器工具组(邮箱) | 工单与邮件自动化 |
| 108 | 连接器工具组(REST 透传) | 用模型已熟悉的路径写法直连 API |
| 109 | 业务示例工具 | 业务接入的照抄模板 |
# 4. 沙箱执行环境(sandbox)
| 序号 | 功能 | 场景 |
|---|---|---|
| 110 | 容器级隔离执行 | 让模型真正跑代码而非「想象输出」 |
| 111 | 会话级沙箱绑定 | 多轮追问共享工作区 |
| 112 | 生命周期与复活策略 | 容器不长期驻留占用配额 |
| 113 | 沙箱池与连接管理 | 高频任务复用已就绪环境 |
| 114 | 会话目录安全边界 | 防跨会话读写他人文件 |
| 115 | 文件读取面 | 沙箱产物浏览与批量下载 |
| 116 | 文件写入面 | 预置素材与工程文件 |
| 117 | Python 代码执行 | 数据处理、绘图、文档转换 |
| 118 | 运行环境查询 | 模型据环境选择可用库 |
| 119 | 命令执行历史 | 复盘 Agent 到底执行了什么 |
| 120 | 密文脱敏输出 | 防止密钥泄漏进对话 |
| 121 | 沙箱监控 REST | 会话右侧沙箱面板 |
| 122 | 清理策略配置化 | 按环境调容量 |
| 123 | 模块级开关 | 无 Docker 环境的降级部署 |
| 124 | 异常归一 | 失败原因能回给模型 |
# 5. 大模型对接层(llm)
| 序号 | 功能 | 场景 |
|---|---|---|
| 125 | 模型提供商 CRUD | 接入 OpenAI / 通义 / 本地模型端点 |
| 126 | 提供商启用与停用 | 临时下线故障端点 |
| 127 | 连通性测试 | 保存前验证 baseUrl/key |
| 128 | 远程模型列表拉取 | 免手工抄模型 ID |
| 129 | 可用模型清单与类型字典 | 下拉数据源 |
| 130 | 组织级凭据隔离 | 多租户模型资产隔离 |
| 131 | 模型费率配置 | 不同模型不同单价 |
| 132 | 默认配置中心 | 新建任务的初始选择 |
| 133 | 视觉模型独立配置 | 图片分析走专用多模态模型 |
| 134 | 模型配置解析工具 | 引擎与前端共用一套口径 |
| 135 | OpenAI 兼容协议模型 | 统一对接标准端点 |
| 136 | 高并发 HTTP 代理客户端 | 网关式模型代理 |
| 137 | 流式 Token 用量捕获 | 流式调用也能计费 |
| 138 | SSE 通道管理 | 服务端主动推送通道 |
| 139 | 全局密钥管理 | 集中保管第三方 API Key |
| 140 | 请求 Token 管理 | 对外开放接口的配额凭证 |
| 141 | 多模态上传契约 | 图片与文件附件回显 |
| 142 | Skill 基础信息管理 | 维护技能元数据 |
| 143 | Skill 分类管理 | 分类驱动的界面渲染 |
| 144 | Skill 脚本与工具关联 | 一键技能带一组工具 |
| 145 | Skill 参考文档 | 技能附带参考资料 |
| 146 | 技能工具调用链 | 技能驱动的执行编排 |
| 147 | 业务工具组件注册 | 老式按 Bean 名反射调用 |
| 148 | 通用分类管理 | 一张分类表管多处 |
| 149 | API 操作记录 | 操作留痕与日志治理 |
| 150 | 雪花 ID 生成 | 任务号、连接器编码等 |
| 151 | 账号归属解析 | 杜绝异步线程「隐式身份」 |
# 6. MCP 工具服务器(mcp)
| 序号 | 功能 | 场景 |
|---|---|---|
| 152 | 自定义工具 CRUD | 把内部接口注册成模型可用工具 |
| 153 | 三类工具执行器 | 按团队能力选实现方式 |
| 154 | 发布与归档 | 工具生命周期治理 |
| 155 | 单次调用扣点配置 | 贵接口按次回收成本 |
| 156 | 类型元数据统一查询 | 一个接口喂一个选择器 |
| 157 | 处理器元数据注解 | 零前端改动的内置工具扩展 |
| 158 | 图片生成处理器 | 海报与示意图生成 |
| 159 | OCR 文字识别处理器 | 票据与截图取字 |
| 160 | 文生语音处理器 | 播报与有声文档 |
| 161 | 文件上传处理器 | 外部文件落地为平台资产 |
| 162 | 天气查询处理器(示例) | 示例与模板 |
| 163 | 处理器清单与连通性测试 | 配置前先验一把 |
| 164 | 代理服务器 CRUD | 接第三方 MCP 服务 |
| 165 | 远程工具发现与导入 | 批量接入社区 MCP |
| 166 | 代理工具级治理 | 只开放其中的安全子集 |
| 167 | 连接测试与调试调用 | 排障与效果验证 |
| 168 | 标准 MCP 客户端 | 一份实现兼容两类服务端 |
| 169 | MCP 规范请求响应体 | 对外也是标准 MCP 服务 |
| 170 | 长耗时异步支持 | 慢工具不掉线 |
| 171 | 服务器与工具的组织过滤 | 防止跨组织借用他人端点 |
# 7. 技能与专家套件(skill)
| 序号 | 功能 | 场景 |
|---|---|---|
| 172 | 技能 CRUD 与归属口径 | 组织自建技能 |
| 173 | 技能包上传与解析 | 从社区直接搬技能 |
| 174 | URL 导入技能 | 批量分发与安装 |
| 175 | 技能文件在线查看 | 不改包先看内容 |
| 176 | 技能文件在线编辑 | 轻改即生效 |
| 177 | 发布 / 归档 / 已发布清单 | 灰度上线技能 |
| 178 | 内置技能标记 | 平台预置能力包 |
| 179 | 框架通用入口收敛 | 防止「白捡入口」造成越权 |
| 180 | 套件 CRUD 与组织隔离 | 一组技能打包交付 |
| 181 | 发布 / 归档 | 版本与上架治理 |
| 182 | 技能包工具集 | 技能包读写唯一实现 |
| 183 | 通用状态与内置枚举 | 跨模块统一字典 |
# 8. 知识库(knowledge)
| 序号 | 功能 | 场景 |
|---|---|---|
| 184 | 知识库管理与可见性 | 部门库与公共库并存 |
| 185 | 三级权限校验 | 只读分享与二次编辑 |
| 186 | 成员协作 | 多人共编一个知识库 |
| 187 | 目录树与分页清单 | 海量文档的按需加载 |
| 188 | 文档统计聚合 | 库级健康度视图 |
| 189 | 多文件上传与落库 | 一次拖一整个资料包 |
| 190 | 文档内容编辑与移动 | 上线后持续维护 |
| 191 | 多格式文本抽取 | 存量资料直接入库 |
| 192 | 异步解析与看门狗 | 上传失败可自证、不自愈卡死 |
| 193 | 自动分片策略 | 超长文档的检索粒度 |
| 194 | 片段与引用三段链路 | 答案可追溯到原文位置 |
| 195 | 码点坐标系分页读取 | 长文分段喂给模型 |
| 196 | 文档内关键词检索 | 超长文先定位再展开 |
| 197 | MeiliSearch 检索 | 自然语言找资料 |
| 198 | 单篇范围内检索 | 长文内定位章节 |
| 199 | Transactional Outbox | 索引与库不漂移 |
| 200 | 全量重建与对账 | 改过阈值后让存量生效 |
| 201 | 知识库管理三页 | 非技术同事也能维护 |
# 9. 外部系统连接器(connector)
| 序号 | 功能 | 场景 |
|---|---|---|
| 202 | 七类连接器类型 | 一套框架接异构系统 |
| 203 | 连接实例管理 | 凭据集中托管 |
| 204 | 连通性测试 | 保存前确认能连 |
| 205 | 凭据加密 | 凭据不以可猜形态落库 |
| 206 | 脱敏与「改名称不动密码」 | 读接口结构上不可能漏凭据 |
| 207 | 三级可见与只读分享 | 使用权可共享、管理权不共享 |
| 208 | SSRF 出网守卫 | 平台不替调用方访问内网 |
| 209 | DNS 重绑定防护 | 「校验返回公网 IP、连接换元数据地址」被堵住 |
| 210 | REST 透传通道 | 不包百个语义接口,直接用模型熟悉的路径写法 |
| 211 | 客户端缓存与失效自愈 | 服务端并发下不压垮生产库 |
| 212 | 读写分池与 SQL 护栏 | 误伤型改库被两层拦下 |
| 213 | 结果与响应截断 | 大结果不撑爆上下文 |
| 214 | 执行流水审计 | 事后复核到底执行了什么 |
| 215 | 流水仅本人可见 | 防止操作内容跨用户泄露 |
| 216 | 会话内连接器白名单 | 一次任务只碰该碰的系统 |
| 217 | 任务超时可配置 | 跨环境调参不猜单位 |
# 10. 定时任务调度(scheduler)
| 序号 | 功能 | 场景 |
|---|---|---|
| 218 | Quartz 持久化集群调度 | 滚动发布与多副本不重复触发 |
| 219 | 复用主数据源 | 一处凭据、少一类配置漂移 |
| 220 | 启动幂等自动建表 | 新环境零手工建表 |
| 221 | 三类调度类型 | 「9 点提醒我」与「每 30 分钟跑一次」 |
| 222 | cron 表达式归一化 | 模型给的「每周一 9 点」不会整体错一天 |
| 223 | 触发点不补跑 | 重启恢复后不引发集中重放风暴 |
| 224 | 时区显式指定 | 集群各节点同一 cron 算出同一触发点 |
| 225 | 最小间隔与任务数额度 | 防止把 Agent 与模型额度打满 |
| 226 | 定时任务 REST | 页面化管理调度 |
| 227 | 下次触发时间回填 | 一眼看出任务是否真的在排期 |
| 228 | 改配置保持暂停态 | 避免「改个名字就把任务放出去」 |
| 229 | 立即执行与手动标记 | 配置完成后先手工验一次 |
| 230 | 禁止同任务并发 | 长任务不自我叠加 |
| 231 | 启动对账注册 | 「库里启用、quartz 里没有」的自愈 |
| 232 | 执行器 SPI | 新类型任务接入零改调度模块 |
| 233 | AI 任务执行器 | 到点自动跑一段 AI 指令 |
| 234 | 运行结果回写 | 快速定位总在失败的任务 |
| 235 | 卡片到调度入参的唯一翻译 | 用户在确认卡上点一下即建成调度 |
| 236 | 调度线程不取请求上下文 | 无请求上下文时也不拿错身份 |
# 11. 积分与计费(point)
| 序号 | 功能 | 场景 |
|---|---|---|
| 237 | Token 积分换算 | 不同模型不同单价的成本回收 |
| 238 | 按提供商与模型双维度取费率 | 一个端点多档模型 |
| 239 | Token 消费记账 | 每轮模型调用可追溯成本 |
| 240 | MCP 工具调用扣点 | 贵的第三方接口按次回收 |
| 241 | 引擎侧调用点 | AI 任务与工具都进账 |
| 242 | 未开启时自动降级 | 不计费的内部部署 |
| 243 | 模块总开关 | 一键上下线计费 |
| 244 | 组织积分余额查询 | 充值页与菜单显示余额 |
| 245 | 充值下单 | 自助购买积分 |
| 246 | 订单与支付二维码 | 扫码支付 |
| 247 | 套餐与积分明细 | 对账与选型 |
| 248 | 余额与试用期检查口 | 预付费拦截的接入点(当前未接线,见附录 C) |
| 249 | 消费记录管理 | 平台侧核对扣费明细 |
| 250 | 积分页面三件套 | 用户自助看账与充值 |
# 12. 平台底座与安全隔离(boot / adapter / domain / facade)
| 序号 | 功能 | 场景 |
|---|---|---|
| 251 | 按「根包 + 识别标记」扫描 | 新增模块零改启动配置 |
| 252 | 框架能力开关装配 | 平台通用能力一键开启 |
| 253 | 排除 Quartz 自动装配 | 只有一个真调度器 |
| 254 | 虚拟线程执行器 | 高并发长任务不占平台线程 |
| 255 | Long 精度保护 | 前端全链路按字符串处理 id |
| 256 | 大文件上传上限 | 素材与技能包上传 |
| 257 | 功能开关下发 | 关掉的模块不在界面上留死入口 |
| 258 | 集中式配置装载 | 开关不会「静默不生效」 |
| 259 | 配置优先级明确 | 调参不靠猜谁赢 |
| 260 | 组织隔离统一定义 | 列表可见但详情说无权的矛盾消失 |
| 261 | 隔离开关与写入侧 | 本地/单测跑通链路、排障区分「被过滤」与「真无此行」 |
| 262 | 隔离启动自检 | 「我配的模型和 MCP 全不见了」有唯一集中提示 |
| 263 | 通用入口收敛 | 不写业务代码就不会白拿一张全表 |
| 264 | 越权统一出口 | 「把别人的资源挂到自己名下」结构上不可能 |
| 265 | 网关签名头透传 | 经网关访问平台内部服务 |
| 266 | 远程消费端抽象 | 计费与存储复用平台能力 |
| 267 | 多平台文件存储 | 无云凭据也能跑完整链路 |
| 268 | 预签名与降级约定 | 一份代码兼容多种存储 |
| 269 | 存储桶管理 | 按租户开桶 |
| 270 | 平台基础领域实现 | 业务模块只写自己的部分 |
| 271 | 图片与头像服务 | 头像与图片统一后端代理 |
| 272 | 跨模块接口契约 | 依赖方向单向、可独立编译 |
| 273 | 组织级配置读写 | 组织维度的全局偏好 |
# 13. 前端界面(ui,Vue3 + Element Plus)
| 序号 | 功能 | 场景 |
|---|---|---|
| 274 | Agent 对话主页 | 日常使用 Agent 的唯一入口 |
| 275 | 任务创建面板 | 一次把上下文选齐 |
| 276 | 12 个选择器 | 自然语言之外的精确指定 |
| 277 | 18 个消息块组件 | 执行过程结构化而非干文本 |
| 278 | 多格式内容渲染 | 图文、图表与网页产物就地看 |
| 279 | SSE 事件消费与重连 | 刷新/断网后不丢过程 |
| 280 | 上下文用量进度 | 接近满窗时心里有数 |
| 281 | 四类交互卡 | 关键动作由人拍板 |
| 282 | 运行时转向输入框 | 任务跑偏当场改令 |
| 283 | 工作区浏览器 | 不登服务器就能取产物 |
| 284 | 沙箱面板 | 复盘 Agent 到底跑了什么 |
| 285 | 引用面板与角标回溯 | 核源与验真 |
| 286 | 页面目录上报与跳转 | 用自然语言打开管理页 |
| 287 | 智能体设置页 | 把偏好沉淀给 Agent |
| 288 | 20 个管理页面 | 非技术人员可自助运维 |
| 289 | 连接器表单族 | 新类型不改主页 |
| 290 | 任务调试与预览页 | 开发与技术支持排障 |
| 291 | 仪表盘与引导 | 登录即可看到平台状态 |
| 292 | 登录与路由守卫 | 与企业账号体系打通 |
| 293 | 数据分析会话工作台 | 数据方向的 Agent 落地样板 |
| 294 | 业务组件库 | 管理页复用同一套组件与交互词汇 |
# 14. 部署与工程效能
| 序号 | 功能 | 场景 |
|---|---|---|
| 295 | Docker Compose 一键栈 | 本地与单节点快速拉起 |
| 296 | 健康检查与资源限额 | 启动顺序与容量边界可控 |
| 297 | 环境变量注入链 | 一份镜像跑多个环境 |
| 298 | 三份集群清单 | 测试环境可复现部署 |
| 299 | 堆与容器限额对齐 | 避免 OOM 与堆浪费 |
| 300 | UI 与门户镜像 | 前端独立发布 |
| 301 | Maven 构建与制品发布 | 依赖方可直接引用 |
| 302 | 镜像构建与远程部署 | 提交即上测试环境 |
| 303 | 前端发布与安全扫描 | 前后端各自的质量门 |
| 304 | 多模块与版本收敛 | 依赖矩阵不漂移 |
| 305 | 开发容器 | 新人快速上手 |
| 306 | 单元与契约测试 | 关键约束不靠人记 |
| 307 | 设计与运维文档 | 能力可追溯与对外介绍 |
# 15. 业务扩展接入面(business)
| 序号 | 功能 | 场景 |
|---|---|---|
| 308 | FC 工具提供者 | 把内部接口变成模型可用工具 |
| 309 | @ 快速定位贡献者 | 把业务对象「@ 进」对话 |
| 310 | 定时任务执行器 | 自定义周期任务类型 |
| 311 | 外部服务客户端 | 业务调三方系统 |
| 312 | 单向依赖与零侵入 | 平台升级不冲业务代码 |
| 313 | 可运行示例与清理约定 | 照抄模板而非读文档 |
| 314 | 条件注册与 HITL 同样适用 | 业务敏感工具不自行实现等待 |
# 三、附录
# 附录 A 配置开关与关键参数清单
来源:
alinesno-infra-harness-boot/src/main/resources/config/harness.yml(313 行)与同目录alinesno-scheduler.yml;默认值未写进 yml 的取代码内 Java 兜底值。
| 配置键 | 默认值 | 作用 | 备注 |
|---|---|---|---|
alinesno.sandbox.enabled | true(SANDBOX_ENABLED) | 沙箱模块与沙箱工具组是否注册 | @ConditionalOnProperty、matchIfMissing=false |
alinesno.point.enabled | true(POINT_ENABLED) | 计费与积分模块整体装载 | 同上;关闭时前端菜单同步隐藏 |
alinesno.web.close-inherited-base-entries | true | 启动时摘除 BaseController 零调用方通用入口 | 可整体回退 |
harness.org-isolation.enabled | true | 模型提供商与 MCP 资产的读取侧组织过滤 | 写入侧不受开关影响 |
agent.max-concurrent-tasks | 1000 | 全集群(或降级后单进程)同时进入任务执行体的个数上限 | 背压兜底 |
agent.max-concurrent-tasks-per-org | 10 | 单组织上限 | 配 0 或负数关闭租户级限制 |
agent.llm.base-url / api-key / model | dashscope 兼容端点 / 空 / qwen3.5-plus | 未配模型提供商时的兜底三要素 | 生产应用模型提供商表 |
agent.tool-routing.enabled | true | 两级工具路由总开关 | 关闭后注册即全激活(旧行为) |
agent.tool-routing.preload-categories | 空 | 额外常驻激活的工具分组 | 高频工具免一次加载往返 |
copilot.event-persist.enabled | true | 事件分级落盘 | 关闭退化为纯内存 |
copilot.event-persist.retention-days / queue-capacity / batch-size / load-limit / flush-interval-ms | 30 / 20000 / 200 / 5000 / 2000 | 保留天数、待写队列、批量、回放上限、冲刷间隔 | 每日凌晨 3 点分批清理 |
copilot.security-event.enabled / retention-days / max-rows-per-task-signal | true / 180 / 5 | 注入特征留痕与限量 | 凌晨 3:30 清理,与事件流错开 |
copilot.context.max-context-tokens | 200000 | 窗口估算与压缩判定同源 | 含 system 与 tools schema,估算口径 CJK 1 字≈1 token |
copilot.context.compress-ratio / keep-recent-tokens-ratio / compress-max-batch-messages | 0.75 / 0.25 / 80 | 压缩阈值、最近区预算、单批上限 | 超出则分批滚动摘要 |
copilot.react.max-model-calls-factor | 1.2 | 模型调用预算 = 迭代上限 × 本系数 | 迭代上限默认 100 |
copilot.steer.enabled / max-pending / stream-cancel | true / 5 / true | 转向开关、信箱容量、流式读前收割点 | 关闭后 /steer 一律 rejected |
copilot.steer.tool-batch-atomic / interrupt-tool / replan | false / false / false | 更激进的收割与重规划姿态 | 预留尚未接线(见附录 C) |
copilot.node.heartbeat-ttl-seconds / heartbeat-interval-ms | 60 / 20000 | 节点判活阈值与续期间隔 | TTL 约 3 倍于续期 |
copilot.orphan-sweep.interval-ms / batch-size / unstamped-stale-hours | 60000 / 200 / 24 | 孤儿任务清理节奏与无盖章兜底 | Redis 不可用整轮跳过 |
copilot.cluster.enabled / command-timeout-ms / command-max-age-ms / queue-ttl-seconds / queue-max-length | true / 3000 / 15000 / 300 / 200 | 跨节点指令总线 | 只用 StringRedisTemplate,不用 pub/sub |
copilot.cluster.sse-forwarding-enabled / sse-subscriber-ttl-ms / sse-target-cache-ms / sse-queue-max-length | true / 45000 / 1000 / 2000 | SSE 跳节点转发 | 队列满宁丢帧(重连有回放兜底) |
copilot.cluster.quota-enabled / quota-slot-ttl-seconds / quota-renew-interval-ms | true / 60 / 10000 | 集群配额 | 关掉后退回纯进程内信号量 |
toolkit.hitl.reuse-confirmation / confirm-window-seconds | false / 120 | 免重复弹窗与确认窗口 | 基线是每次都弹卡 |
toolkit.hitl.confirm-gate-enabled / confirm-per-target | true / true | 确认闸与目标粒度 | 两仓共用 ToolConfirmLedger,不要照抄其它仓的临时改法 |
toolkit.hitl.scheduled-write-policy | reject | 无主会话命中需确认工具的处置 | 兼容旧环境变量 CONNECTOR_SCHEDULED_WRITE_POLICY |
toolkit.tool.validate-on-startup | true | 启动期遍历工具 Schema,不过即阻止启动 | 仅排障时临时置 false |
alinesno.connector.secret-key | 空(回退内置口令并打 WARN) | 凭据 AES-GCM 密钥派生口令 | 有存量密文后不可再改 |
alinesno.connector.ssh.* / db.* / http.* / mail.* | 见文件注释 | 各类超时、池与截断阈值 | JDBC 驱动与 Jakarta Mail 单位不同,已逐项注释 |
alinesno.scheduler.cluster / thread-count / misfire-threshold / time-zone | true / 5 / 60000 / Asia/Shanghai | 调度集群与线程 | 集群下各节点实例名与表前缀必须一致 |
alinesno.scheduler.max-jobs / max-jobs-per-user / min-interval-seconds | 50 / 20 / 300 | 定时任务额度 | 防止打满 Agent 额度 |
meilisearch.host / master-key / index-name | 127.0.0.1:7700 / 占位 / harness_knowledge_documents | 知识库全文检索 | 不可用时捕获异常不阻断启动 |
dromara.x-file-storage.default-platform | qiniu-kodo(FILE_STORAGE_PLATFORM) | 对象存储默认平台 | 本地无凭据时置 local |
alinesno.thread-pool.chat.* | core 50 / max 200 / queue 500 / keepAlive 300s | 虚拟线程执行器参数 | 任务本体跑在虚拟线程 |
← Harness 开发 本地工程导入 →