Skip to main content

General Agent Framework by LinXueyuan

Project description

AgentLin

通用 Agent 架构,支持多Agent协作和RPC远程调用。

主要特性

  • 🤖 多Agent系统: 基于RabbitMQ的消息队列支持多Agent协作
  • 🔗 RPC远程调用: 像本地函数一样调用远程Agent方法
  • 时间同步: 分布式时间协调机制
  • 🛠️ 工具集成: 丰富的工具生态系统
  • 📊 数据处理: 内置数据分析和可视化工具
  • 🔄 自动重连: 健壮的连接管理和故障恢复

开始使用

1. 安装

pip install agentlin

本地安装

pip install -e .
# plotly 需要额外下载 chrome 内核用于渲染图表
plotly_get_chrome

2. 创建 .env 文件

复制 .env.example 文件为 .env 并填写所需的环境变量。

环境变量定义了访问 o3 模型的 API 密钥和其他配置。

3. 创建软链接

将公共数据目录 /mnt/aime/datasets/agent/agent_data 软链接到你本地项目的 data 目录下

ln -s /mnt/aime/datasets/agent/agent_data data

4. 运行应用程序

streamlit run chart_o3_toolcall.py

注意:如果你不是在交互式建模的容器里运行的,需要挂一个代理服务将本地请求转发到北美:

cd tool_server
bash run_aime_proxy_server.sh

5. 运行 MCP 服务器

HOME_DIR=<your_home_directory> agentlin mcp-server --name file_system --host localhost --port 9999 --path /mcp --debug
agentlin mcp-server --name bash --host localhost --port 9999 --path /mcp --debug
agentlin mcp-server --name memory --host localhost --port 9999 --path /mcp --debug
agentlin mcp-server --name web --host localhost --port 9999 --path /mcp --debug
TODO_FILE_PATH=<your_todo_file_path> agentlin mcp-server --name todo --host localhost --port 7780 --path /mcp --debug

详细文档

参见 RPC消息队列使用指南

目录结构

agentlin/
├── core/                     # 核心架构组件   ├── agent_schema.py       # Agent 模式定义   ├── simulator.py          # 仿真器   ├── multimodal.py         # 多模态支持   └── types.py              # 数据类型定义
├── route/                    # 路由和代理管理   ├── client.py             # 客户端   ├── mcp_proxy_*.py        # MCP 代理相关   ├── session_manager.py    # 会话管理   └── *_task_manager.py     # 任务管理器
├── code_interpreter/         # 代码解释器   ├── client.py             # 解释器客户端   ├── jupyter_*.py          # Jupyter 集成   ├── tool_call_display.py  # 工具调用显示   └── ...                   # 其他组件
└── tools/                    # 工具集合
    ├── tool_aime.py          # AIME 工具
    ├── tool_code_interpreter.py # 代码解释器工具
    ├── tool_chart.py         # 图表工具
    └── tool_*.py             # 其他工具

chart_agent/                  # 图表 Agent
table_agent/                  # 表格 Agent
tool_server/                  # 工具服务器
docs/                        # 项目文档
assets/                      # 配置文件
data/                        # 数据文件,软链接到 /mnt/aime/datasets/agent/agent_data

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentlin-0.0.23.tar.gz (298.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentlin-0.0.23-py2.py3-none-any.whl (346.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file agentlin-0.0.23.tar.gz.

File metadata

  • Download URL: agentlin-0.0.23.tar.gz
  • Upload date:
  • Size: 298.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.10.9 Darwin/24.6.0

File hashes

Hashes for agentlin-0.0.23.tar.gz
Algorithm Hash digest
SHA256 e41c5e0b00dafc5852585b770982f1bb4ff60064f63e52e97d2f044c5bbe8791
MD5 e5023d098e47644a911f501ddec183cb
BLAKE2b-256 4a1c539d987de1a668ecc1c140a7503250c7e01e66d796a374c41f3550ccfdae

See more details on using hashes here.

File details

Details for the file agentlin-0.0.23-py2.py3-none-any.whl.

File metadata

  • Download URL: agentlin-0.0.23-py2.py3-none-any.whl
  • Upload date:
  • Size: 346.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.10.9 Darwin/24.6.0

File hashes

Hashes for agentlin-0.0.23-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5ea8696055d39e05c350ab7ff61e736b2f6e98ae12a7fe55b4f4e9ecf74e5456
MD5 3b950a9a1cfa2d05675e3678f333c183
BLAKE2b-256 7f551f270d6559292980a00ec923cf9bd721d386c31afd8e8f33e7bbcf4ddbea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page