mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-01 16:31:56 +08:00
Merged main's latest changes including: - New hermes_cli/ unified CLI commands - File operations tools, fuzzy match, patch parser - RL training tools and tinker-atropos submodule - Enhanced batch_runner and run_agent - Gateway improvements (Telegram, Discord) - Cron job management - Installation scripts Preserved our branch-specific features: - Modal backend (atropos/backends/modal_backend.py) - Modal terminal tool integration (ModalProfile, _ModalSandboxPool, etc.) - Singularity/Apptainer support - Atropos AgentEnv Modal config fields - Combined pyproject.toml extras (atropos + messaging + cron + cli) Conflict resolution: - cli.py, model_tools.py, README.md: accepted main (newer features) - pyproject.toml: combined both extras and package lists - tools/terminal_tool.py: accepted main's base + re-inserted Modal integration
81 lines
1.9 KiB
TOML
81 lines
1.9 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "hermes-agent"
|
|
version = "0.1.0"
|
|
description = "AI agent with advanced tool-calling and toolsets"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
authors = [{ name = "Nous Research" }]
|
|
license = { text = "MIT" }
|
|
dependencies = [
|
|
# Core
|
|
"openai",
|
|
"python-dotenv",
|
|
"fire",
|
|
"httpx",
|
|
"rich",
|
|
"tenacity",
|
|
"pyyaml",
|
|
"prompt_toolkit",
|
|
"requests",
|
|
"jinja2",
|
|
"pydantic>=2.0",
|
|
# Interactive CLI (prompt_toolkit is used directly by cli.py)
|
|
"prompt_toolkit",
|
|
# Tools
|
|
"firecrawl-py",
|
|
"fal-client",
|
|
# mini-swe-agent deps (terminal tool)
|
|
"litellm>=1.75.5",
|
|
"typer",
|
|
"platformdirs",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
modal = ["swe-rex[modal]>=1.4.0"]
|
|
dev = ["pytest", "pytest-asyncio"]
|
|
messaging = ["python-telegram-bot>=20.0", "discord.py>=2.0", "aiohttp>=3.9.0"]
|
|
cron = ["croniter"]
|
|
cli = ["simple-term-menu"]
|
|
# Install Atropos from source (PyPI is often stale for this internal dependency).
|
|
atropos = [
|
|
"atroposlib @ git+https://github.com/NousResearch/atropos.git",
|
|
# Atropos integration runtime deps (kept optional for Hermes-only users)
|
|
"aiohttp",
|
|
"fastapi",
|
|
"uvicorn",
|
|
"pyte",
|
|
]
|
|
all = [
|
|
"hermes-agent[modal]",
|
|
"hermes-agent[messaging]",
|
|
"hermes-agent[cron]",
|
|
"hermes-agent[cli]",
|
|
"hermes-agent[dev]",
|
|
]
|
|
|
|
[project.scripts]
|
|
hermes = "hermes_cli.main:main"
|
|
hermes-agent = "run_agent:main"
|
|
hermes-atropos-sandbox-smoke = "atropos.envs.sandbox_terminal_smoke_env:SandboxTerminalSmokeEnv.cli"
|
|
hermes-atropos-toolserver-smoke = "atropos.envs.toolserver_smoke_env:ToolServerSmokeEnv.cli"
|
|
|
|
[tool.setuptools]
|
|
py-modules = [
|
|
"run_agent",
|
|
"model_tools",
|
|
"toolsets",
|
|
"batch_runner",
|
|
"trajectory_compressor",
|
|
"toolset_distributions",
|
|
"atropos_compatible_agent",
|
|
"local_server",
|
|
"cli",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["tools", "hermes_cli", "gateway", "cron", "atropos", "atropos.*"]
|