# agent-rt **Repository Path**: openkylin/agent-rt ## Basic Information - **Project Name**: agent-rt - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-06-01 - **Last Updated**: 2026-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Agent RT Agent RT 是一个紧凑的 Agent 运行时项目,参考 Hermes Agent 的运行时结构逐步重建,但保持更小的代码边界和更清晰的测试面。 当前仓库地址: ```text https://gitee.com/openkylin/agent-rt.git ``` 项目围绕可复用的对话循环、受控工具执行、模型请求/响应归一化、显式 provider adapter 和轻量配置层展开。 ## 当前能力 - 同步 model-call / tool-call 对话循环,便于测试和嵌入; - 使用小型数据对象表达请求、响应、工具调用和循环结果; - 暴露轻量生命周期事件,便于日志、指标和 UI 活动展示; - 模型错误可按需转成结构化 `LoopResult`; - 同一模型轮次内重复工具调用会被跳过; - registry 工具 schema 会随模型请求传入 adapter; - `ModelRequest` 会携带消息快照、模型名、metadata 和工具 schema; - 可从 `ModelRequest` 构造 provider 调用参数; - 提供 OpenAI 兼容 `ChatCompletionsAdapter`; - 提供延迟导入的 OpenAI 兼容客户端工厂; - 可从配置直接构建 OpenAI 兼容 client + adapter; - adapter 支持默认 kwargs、请求级模型覆盖、重试退避和 timeout 透传; - 配置层支持默认配置、覆盖合并、JSON 文件、环境变量和组合加载; - provider 原始响应会归一化为 `ModelTurn`; - 工具调用参数支持 `arguments`、`input`、`parameters` 等输入形态; - 工具结构化返回值会在进入 transcript 前序列化; - content parts 会归一化为 assistant 文本; - assistant 消息和循环结果保留 `finish_reason`; - 响应 metadata 会保留 provider 暴露的 reasoning 字段; - length 截断响应会标记为 `truncated`; - 循环结果暴露 usage、总耗时、模型调用次数、工具调用次数、工具错误数和错误明细; - registry 工具支持基础 schema 校验:必填、类型、enum、数值范围、数组元素类型; - registry 工具支持从 schema default 填充缺省参数; - registry 工具支持在导出和校验时应用动态 schema 覆盖; - 不可用工具会从 schema 和 dispatch 中隐藏; - 重复注册同名工具默认抛错,只有显式 `overwrite=True` 才允许覆盖; - registry 支持动态移除工具,并用 generation 标记变更; - provider、tool、memory、UI 等边界保持分离; - 新增依赖必须有上界,沿用 Hermes 的供应链约束。 更多迁移背景见 [`docs/runtime-porting.md`](docs/runtime-porting.md)。运行时代码位于 [`src/`](src/)。 ## 快速开始 ```bash git clone https://gitee.com/openkylin/agent-rt.git cd agent-rt python3 -m pip install -e . python3 -m unittest discover -s tests ``` ## 公开接口 公开基础能力从 `src` 导出: - `ConversationLoop` - `ChatCompletionsAdapter` - `ModelRequest` - `LoopResult` - `ToolRequest` - `ToolRegistry` - `build_openai_chat_completions_adapter` - `build_openai_client` - `load_config` - `load_config_env` - `load_config_file` - `load_runtime_config` ## 贡献说明 请使用 Gitee 仓库提交补丁和 issue: ```bash git clone https://gitee.com/openkylin/agent-rt.git ``` 测试套件不访问网络,使用 fake model adapter 覆盖运行时行为。新增功能应优先补充本地单元测试。 ## 许可证 MIT,见 [LICENSE](LICENSE)。