Relay To Agent

🤖 任意 OpenAI 端点的智能代理中继

OpenAI 兼容 API 的通用代理中继工具,支持多轮对话与会话管理,可对接任意 Chat Completions 端点

收藏
11.8k
安装
2.8k
版本
1.0.0
CLS 安全性认证2026-06-04
点击查看完整报告 >

使用说明

核心用法

relay-to-agent 是一个 Node.js 脚本工具,用于向任何 OpenAI 兼容的 API 端点发送消息并与 AI 代理进行交互。其工作流分为三步:

1. 配置代理:在 agents.json 中定义代理 ID、名称、描述和模型映射
2. 环境准备:设置 RELAY_API_KEY 等环境变量

3. 执行交互:通过 CLI 发送消息、管理会话、查看代理列表

关键功能

  • 多轮对话:默认保持会话上下文(最多 50 条消息),支持 --reset 清空历史
  • 会话隔离:通过 --session 参数实现同一代理的并行多线对话
  • 广泛兼容:支持 Connect Chat、OpenRouter、LiteLLM、vLLM、Ollama 等主流服务
  • 灵活输出--json 标志输出原始 API 响应便于脚本集成

显著优点

| 维度 | 优势 |
|------|------|
| **生态兼容** | 不绑定特定平台,任何实现 Chat Completions API 的服务均可接入 |
| **轻量无依赖** | 纯 Node.js 实现,无需 Docker 或复杂运行时 |
| **会话持久化** | 本地缓存机制实现"断点续聊",优于纯无状态调用 |
| **配置驱动** | JSON 配置文件便于团队共享代理定义和端点设置 |

潜在局限

  • 本地状态风险:会话存储于 ~/.cache/relay-to-agent/,多设备使用会导致状态不同步
  • 无内置加密:敏感对话历史以明文形式存储于本地文件系统
  • 调试能力有限:未提供日志级别控制或请求/响应详细追踪选项
  • Node.js 绑定:依赖特定运行时版本,对纯 Python/Go 生态团队不够友好

适合人群

  • AI 应用开发者:需要快速验证多个 OpenAI 兼容端点的行为差异
  • 运营团队:通过统一 CLI 调用不同平台的专用代理(如 LinkedIn 文案生成、数据分析)
  • 隐私敏感用户:倾向本地会话管理而非云端记忆功能的场景

常规风险

  • API 密钥泄露RELAY_API_KEY 以环境变量传递,存在 shell history 记录风险
  • 配置注入agents.json 若被恶意修改可能导致请求重定向至攻击者服务器
  • 缓存膨胀:长期使用的会话文件可能占用磁盘空间,需手动清理
  • 模型漂移:上游服务商模型更新可能导致代理行为变化而无感知

> 建议:生产环境使用时配合 direnv 或密钥管理服务隔离敏感配置,定期审计 ~/.cache/relay-to-agent/ 目录。

安全解读

核心用法

relay-to-agent 是一款轻量级 Node.js CLI 工具,用于将消息中继转发至任何 OpenAI 兼容的 Chat Completions API。用户通过 --agent 参数指定目标 Agent,即可发送单条或多轮对话请求;会话上下文自动保存在本地缓存目录,支持 --reset 重置或 --session 创建并行会话。

核心命令示例:

# 列出可用 Agent
node relay.mjs --list

# 单条消息
node relay.mjs --agent <id> "你的问题"

# 多轮对话(自动保持上下文)
node relay.mjs --agent <id> "跟进问题"

# 重置会话
node relay.mjs --agent <id> --reset "新话题"

配置通过 agents.json 管理,支持自定义 baseUrl、Agent 名称、描述及模型映射。环境变量 RELAY_API_KEY 为必填项,可通过 RELAY_BASE_URLRELAY_CONFIG 覆盖默认配置。

显著优点

  • 生态兼容性极强:原生支持 Connect Chat、OpenRouter、LiteLLM、vLLM、Ollama 等主流 OpenAI 兼容服务,无需修改代码即可切换后端。
  • 会话管理完善:自动维护多轮对话上下文(默认保留 50 条消息),支持自定义 Session ID 实现并行多会话。
  • 零依赖部署:仅依赖 Node.js 运行时与 openai-fetch 单库,体积小、启动快。
  • 安全设计合理:代码无 eval/exec/system 等危险函数,网络请求严格限制在用户配置端点,会话数据仅本地存储。

潜在缺点与局限性

  • 需手动管理配置agents.json 与 API 密钥需用户自行维护,缺乏图形化配置界面。
  • 错误信息过滤不足:当前版本可能将原始 API 错误直接输出,存在 API 密钥片段意外泄露的理论风险(建议用户自行重定向日志)。
  • 无内置速率限制:高频调用可能快速消耗 API 配额,需用户在外部或脚本层自行控制。
  • 依赖第三方服务稳定性:功能完全依赖外部 OpenAI 兼容端点的可用性与响应质量。

适合人群

  • 需要统一 CLI 入口管理多个 AI Agent 的开发者与 DevOps 工程师
  • 使用 LiteLLM、vLLM 或 Ollama 自建模型服务的团队
  • 希望快速集成 OpenRouter 等聚合平台以切换模型的高级用户
  • 对 Node.js 生态熟悉、偏好轻量工具而非重量级平台的用户

常规风险

1. API 密钥泄露风险RELAY_API_KEY 为敏感凭证,需避免硬编码于配置文件或版本控制中。
2. 配置文件篡改风险:建议对 agents.json 设置 0600 文件权限,防止未授权修改。

3. 数据隐私边界:虽然会话本地存储,但消息内容会发送至用户配置的第三方 API 端点,需确保该端点可信。

4. 会话数据残留:本地缓存目录 ~/.cache/relay-to-agent/sessions/ 需定期清理,防止敏感对话长期留存。

Relay To Agent 内容

scripts文件夹
手动下载zip · 4.7 kB
relay.mjstext/javascript
请选择文件