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": "详细错误信息(可选)"
}

数据库/存储说明

  1. Agent 配置存储:JSON 文件存储在 agents/ 目录下
  2. Agent 元数据agent_info_meta.md 文件存储系统说明文档
  3. Agent 注册:加载的 Agent 注册到 window 全局对象中
  4. 应用实例管理:所有 Express 应用实例存储在 agent_router_apps 数组中

文件系统结构

项目根目录/
├── agents/                    # Agent JSON 配置文件目录
│   ├── agent1.json
│   ├── agent2.json
│   └── ...
├── agent_info_meta.md        # 系统说明文档
└── 各种 Agent 模块目录/
    ├── user-agent/
    ├── shop-agent/
    ├── www_agent/
    └── ...

注意事项

  1. 所有路由都支持 ALL 方法(GET、POST、PUT、DELETE 等)
  2. Agent 加载后会自动注册到所有已存在的 Express 应用实例
  3. 系统支持热加载 Agent,无需重启服务
  4. 加载 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的函数实现