AHI (Agent-Human Interface) 是一个具有自主能力的智能系统,包含消息队列管理、Python代码执行、命令解析与执行、数据持久化和安全监控等功能。该系统提供了 RESTful API 接口,可通过前端页面或直接调用 API 与系统进行交互。
RollarTimerAHI/
├── api/ # API 相关代码
│ ├── __init__.py
│ └── main.py
├── templates/ # 前端页面模板
│ └── index.html # 主页面
├── api_server.py # FastAPI 服务器
├── app.py # Flask 应用
├── main.py # AHI 核心逻辑
├── requirements.txt # 项目依赖
└── README.md # 项目文档
-
用户消息管理
- 发送消息到 AHI 系统
- 显示用户发送的消息历史
-
AI 消息管理
- 实时显示 AI 发送给用户的消息
- 消息去重,避免重复显示
-
系统状态管理
- 显示系统运行状态
- 显示循环状态和唤醒间隔
-
循环控制
- 启动、停止、暂停、恢复循环
- 设置唤醒间隔
-
日志输出
- 显示系统日志信息
- 记录操作历史
- 后端:Python 3.10+, FastAPI, Flask
- 前端:HTML5, CSS3, JavaScript
- API:RESTful API
- 通信:HTTP 请求,轮询方式更新数据
| 端点 | 方法 | 功能 |
|---|---|---|
/api/messages |
POST | 向用户消息队列中添加消息 |
/api/user-outputs |
GET | 获取 AI 发送给用户的消息 |
/api/loop/start |
POST | 启动 Agent 循环 |
/api/loop/stop |
POST | 停止 Agent 循环 |
/api/loop/pause |
POST | 暂停 Agent 循环 |
/api/loop/resume |
POST | 恢复 Agent 循环 |
/api/loop/interval |
PUT | 设置 Agent 唤醒间隔 |
/api/loop/status |
GET | 获取 Agent 循环状态 |
/api/status |
GET | 获取系统状态 |
/api/status/agent |
GET | 获取 Agent 状态 |
/api/status/queue |
GET | 获取队列状态 |
/api/commands |
POST | 执行 AHI 命令 |
/api/execute-python |
POST | 执行 Python 代码 |
/api/stop-python-command |
POST | 停止 Python 命令执行 |
/api/python-shell-status |
GET | 获取 Python shell 状态 |
/api/python-shell |
GET | 获取 Python shell 输出 |
前端页面分为三个主要部分:
- 左侧面板:用户消息列表和消息输入区域
- 右侧面板:AI 消息列表、系统状态显示和循环控制按钮
- 底部面板:系统日志输出区域
前端页面采用轮询方式更新数据,轮询间隔设置为 3000 毫秒(3 秒)。轮询的内容包括:
- 系统状态
- AI 消息
项目依赖项在 requirements.txt 文件中定义,主要包括:
- FastAPI
- uvicorn
- Flask
- pydantic
-
运行安装脚本:
- Linux/macOS:
chmod +x install.sh && ./install.sh - Windows:
install.bat
- Linux/macOS:
-
按照提示完成安装过程:
- 系统会自动检测并替换系统提示词中的平台信息
- 系统会提示你输入
memories目录路径 - 系统会自动安装所有依赖项
-
启动服务:
- 安装完成后,系统会自动启动 API 服务器和 Flask 应用
-
安装依赖:
pip install -r requirements.txt
-
启动 API 服务器:
python api_server.py
-
启动 Flask 应用:
python app.py
-
访问前端页面: 打开浏览器,访问
http://localhost:5000
- API 服务器默认运行在端口 8000
- Flask 应用默认运行在端口 5000
- 轮询间隔可根据实际需求调整
- 消息队列有最大容量限制(1000)
- 实现 WebSocket 实时通信,替代轮询方式
- 添加用户认证和授权功能
- 增加消息历史记录和搜索功能
- 优化前端界面,添加更多交互功能
本项目采用 MIT 许可证。详见 LICENSE 文件。
当前版本:v1.0