pm-copilot-engine
AI Agent Engine for Project Management — a focused fork of Hermes by NousResearch, packaged as a reusable Python library.
Repository: https://github.com/wx528/pm-copilot-engine
What it is
pm-copilot-engine exposes the core agent runtime from Hermes as a pip-installable package. It is intended to be embedded in project-management systems that need an LLM agent with tool calling, file/terminal/browser tools, memory, and skill management — without shipping the full Hermes CLI, gateway, TUI, or web dashboard.
Install
pip install pm-copilot-engine
Development (uv)
This repo uses uv for dependency management.
# Install uv, then:
uv sync --group dev
uv run pytest tests/ -v
Real-model integration tests
To test against a real LLM API (OpenAI, MiniMax, Moonshot, DeepSeek, or any
OpenAI-compatible endpoint), copy .env.example to .env and fill in your
credentials:
cp .env.example .env
# edit .env
Example for MiniMax M3:
PMCE_API_KEY=your-minimax-key
PMCE_BASE_URL=https://api.minimax.chat/v1
PMCE_MODEL=minimax-m3
PMCE_PROVIDER=minimax
Then run:
uv run pytest tests/ -m integration -v
Integration tests are skipped when PMCE_API_KEY is not set, and they are
excluded from the default uv run pytest tests/ run.
In CI, set the secrets PMCE_API_KEY, PMCE_BASE_URL, PMCE_MODEL, and
PMCE_PROVIDER (the last three are optional and default to OpenAI).
Quick start
from pm_copilot_engine import AIAgent, registry, TOOLSETS
agent = AIAgent(
base_url="https://api.openai.com/v1",
api_key="sk-...",
model="gpt-4o",
)
response = agent.chat("Summarize the project status from ./README.md")
print(response)
Package layout
pm_copilot_engine/ # Public package
__init__.py # Exports AIAgent, registry, TOOLSETS
run_agent.py # AIAgent class
model_tools.py # Tool dispatch
toolsets.py # Built-in toolsets
tools/ # Tool implementations
agent/ # Agent internals
providers/ # Provider adapters
_internal/hermes_cli/ # Internalized config/auth/helpers from Hermes
plugins/ # Browser/web/memory providers required by core tools
cron/ # Cron helpers required by core tools
Differences from upstream Hermes
- Repackaged under
pm_copilot_engine.*namespace. - Removed CLI entry points (
hermes,hermes-agent,hermes-acp). - Removed gateway, TUI, web dashboard, Docker, ACP adapter, and optional skills.
- Kept the internal Hermes config/auth layer as
pm_copilot_engine._internal.hermes_cli. - Preserved bundled browser/web/memory/cron providers needed by the core tool registry.
License
MIT — see LICENSE.
Metadata
Release files for pm-copilot-engine 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pm_copilot_engine-0.2.0.tar.gz | 4.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pm_copilot_engine-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.3 MB
Release files / pm_copilot_engine-0.2.0.tar.gz
| Download URL | pm_copilot_engine-0.2.0.tar.gz |
|---|---|
| Size | 4.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f08ecde94622d437957b6312ac95e3fbcca7355a47fd38c1668db22f5d8ac883
|
|
BLAKE2b-256 checksum How to use checksums |
8a7c527a116055b6b1cffeeb1164c8c3a6c71a3d35aad4c7cceb1a31c084a62b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / pm_copilot_engine-0.2.0-py3-none-any.whl
| Download URL | pm_copilot_engine-0.2.0-py3-none-any.whl |
|---|---|
| Size | 4.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3002cc008502721bca824d768b5f5596726e70718a4c842499c3a4caa0ab22a3
|
|
BLAKE2b-256 checksum How to use checksums |
8f2069fca5454e2da2885c4bc3a114ecf44d8f0a3124b5b8fb42bd00e02b3669
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|