Agent智体代理
一句话生成ai-agent智体代理、以及立即热加载它
加载agent智体的api说明如下
HTTP API 文档
概述
该代码文件定义了一个基于 Express.js 的 HTTP API 系统,主要用于动态加载和管理 Agent(插件)。系统支持通过多种方式加载 Agent,包括直接加载 JavaScript 模块和通过 JSON 配置文件加载。
路由分组:rtagent
基础信息
- 路由前缀:
/rtagent - 描述:Agent 管理和文档相关接口
API 端点
| HTTP 方法 | 路由路径 | 描述 | 请求参数 | 响应格式 | 状态码 |
|---|---|---|---|---|---|
| ALL | /rtagent/reame |
获取 Agent 系统的说明文档 | 无 | {ret: boolean, msg: string, content?: string} |
200 |
| ALL | /rtagent/load |
动态加载新的 Agent(JavaScript 模块) | path: Agent 文件路径name: Agent 名称 |
{ret: boolean, msg: string, app_cnt?: number} |
200 |
| ALL | /rtagent/load/jsons |
批量加载 agents 文件夹下的所有 JSON 配置文件 | 无 | {ret: boolean, msg: string, data?: {totalFiles: number, loaded: number, skipped: number, agentsDir: string}, error?: string} |
200 |
| ALL | /rtagent/load/json |
从指定路径加载单个 JSON 配置文件 | file_path: JSON 配置文件路径 |
{ret: boolean, msg: string, config?: object} |
200 |
业务数据存储格式说明
Agent JSON 配置文件格式
{
"agent_name": "agent_identifier",
"agent_path": "./path/to/agent/module"
}
响应数据格式
所有 API 端点返回统一的 JSON 响应格式:
成功响应:
{
"ret": true,
"msg": "success",
"data": { /* 可选,具体数据 */ }
}
失败响应:
{
"ret": false,
"msg": "错误信息",
"error": "详细错误信息(可选)"
}
数据库/存储说明
- Agent 配置存储:JSON 文件存储在
agents/目录下 - Agent 元数据:
agent_info_meta.md文件存储系统说明文档 - Agent 注册:加载的 Agent 注册到
window全局对象中 - 应用实例管理:所有 Express 应用实例存储在
agent_router_apps数组中
文件系统结构
项目根目录/
├── agents/ # Agent JSON 配置文件目录
│ ├── agent1.json
│ ├── agent2.json
│ └── ...
├── agent_info_meta.md # 系统说明文档
└── 各种 Agent 模块目录/
├── user-agent/
├── shop-agent/
├── www_agent/
└── ...
注意事项
- 所有路由都支持 ALL 方法(GET、POST、PUT、DELETE 等)
- Agent 加载后会自动注册到所有已存在的 Express 应用实例
- 系统支持热加载 Agent,无需重启服务
- 加载 Agent 时需要相应的权限验证
元数据
{
"sourceFile": "",
"generatedAt": "2026-02-04T03:14:16.572Z",
"endpointCount": 8,
"hasHttpApis": true
}
API端点表格
系统命令执行
| HTTP方法 | 路由路径 | 描述 | 请求参数 | 响应格式 | 状态码 |
|---|---|---|---|---|---|
| ALL | /systemcmd/run-sync |
同步执行系统命令(一次性返回结果) | cmd: 命令字符串cwd: 工作目录ostype: 操作系统类型timeout: 超时时间(毫秒,默认300000) |
{ret: boolean, msg: string, data: {output: string, error: string, exitCode: number, success: boolean}} |
200 |
同步命令执行响应格式
{
"ret": true,
"msg": "success",
"data": {
"output": "标准输出内容",
"error": "错误输出内容",
"exitCode": 0,
"success": true
}
}
| HTTP方法 | 路由路径 | 描述 | 请求参数 | 响应格式 | 状态码 |
|---|---|---|---|---|---|
| ALL | /http-api-doc/scan-and-generate |
扫描并生成HTTP API文档 | target_path (可选, 默认"."): 扫描目标路径output_dir (可选, 默认"api_docs"): 输出目录 |
JSON格式: - ret: boolean, 操作是否成功- msg: string, 操作结果消息- data: object, 包含处理结果详情 |
200: 成功 400: 参数错误 |
查询参数/请求体参数
target_path(string, 可选): 要扫描的Node.js文件路径,默认为当前目录output_dir(string, 可选): API文档输出目录,默认为"api_docs"
生成agent的技能说明
一句话生成智体代理agent.js代码的步骤和规范
- 你是T100级开发工程师,擅长使用linux命令cp、sed等实现代码和json文件的读写。必要时创建目标路径。
- 参考:/home/agents/user-agent.js这个agent.js案例
- 规范:智体agent建议数据保存到它的当前目录的data目录下,以JSON格式保存
- 规范:智体agent命名:英文字符和_下划线构成,一般为:xxx_c
- 规范:智体agent.js代码的保存路径:/home/agents/目录下
- 规范:智体agent.json保存路径与agent.js相同,以.json文件保存,包含agent_path这个智体agent的代码路径,还有agent_name智体agent的名称
- 规范:各种命令行须使用/systemcmd/run-sync这个api实现
- 规范:agent.js只包含数据和业务的api,不实现网页html功能
- 架构: 对于定时任务或异步任务/并行任务的执行,需要保存启动定时任务的用户user_id和会话s_id,以便调用callEndpointAPI函数时正确传递这两个参数
- 架构: 对于地图工具的每一个返回的结果,均需要使用AI解析结果--使用talkAgent函数来处理地图工具得到的结果,转换化目标JSON,以获得正确的结果值.
- 第二步:根据案例agent.js,实现一个目标的agent.js和agent.json,生成的文件内容保存在目标文件夹下
- 第三步:调用/rtagent/load/json实现该新生成的agent.js的热加载,以便这个agent.js提供的api能提供访问服务
- 最后一步:调用/http-api-doc/scan-and-generate来对agent.js文件进行处理,生成agent.js的skill-md文档(本质上就是api文档)。
参考的agent.json
{ "agent_path":"/home/agents/form_agent.js", "agent_name":"form_agent_c" }
agent.js的强制规范
参考代码:/home/agents/user-agent.js
其中规范为:
window[{agent_name}] = {}
window[{agent_name}].routers = async function(app) { if (!app) return;
//用于内部api调用
apps.push(app)
// 任务指令执行接口
app.all('/rtagent/{agent_name}/api_path, urlParser, session_filter, ${agent_name}$.api);
};
...以下是api的函数实现