Skip to main content

The AI Workflow Cross-Platform Engine

Project description

Hermes

The AI Workflow Cross-Platform Engine

English | 简体中文

PyPI version License MIT

Table of Contents

Why Choose Hermes?

Hermes is a revolutionary AI workflow cross-platform engine that allows you to freely convert workflows between different AI platforms through a unified API. Like Hermes delivering messages between the divine and mortal realms, Hermes helps you seamlessly navigate through complex AI ecosystems.

  • Zero Learning Curve: Unified API design - learn once, use everywhere
  • Type Safety: Complete type validation based on Pydantic, ensuring secure workflow transmission
  • Platform Compatibility: Supports mainstream platforms like Dify, Agentify, with continuous expansion
  • Intelligent Conversion: Automatic node type recognition and conversion, as precise as divine prophecy

Quick Start

System Requirements

  • Python 3.11+
  • pip or poetry

Installation & Setup

# 1. Clone the repository
git clone https://github.com/Hehua-Fan/Hermes.git
cd Hermes

# 2. Install dependencies
pip install -r requirements.txt

# 3. Quick experience
cd playground/text2workflow
python test_text2workflow.py

Basic Usage

Hermes provides three main usage patterns:

Text2Workflow - Cross-Platform Converter

from src.Text2Workflow import Text2Workflow
from src.dify import DifyStartState, DifyLLMState, DifyEndState, START, END

# Create Dify platform workflow
workflow = Text2Workflow(
    platform="dify",
    app_name="Smart Assistant"
)

# Add nodes
workflow.add_node(id=START, state=DifyStartState(title="Start"))
workflow.add_node(id="ai", state=DifyLLMState(title="AI Response"))
workflow.add_node(id=END, state=DifyEndState(title="End"))

# Compile workflow
workflow.compile()

FlowGraph - Agentify Native Builder

from src.agentify import FlowGraph, QuestionInputState, AiChatState

# Create Agentify workflow
flow = FlowGraph(
    personal_auth_key="your_key",
    personal_auth_secret="your_secret"
)

# Build intelligent conversation flow
flow.add_node("input", QuestionInputState(inputText=True))
flow.add_node("ai", AiChatState(model="doubao-deepseek-v3"))
flow.add_edge("input", "ai")

# Publish to platform
flow.publish_app("Smart Chat Assistant")

Running Examples

# Test Agentify platform functionality
cd playground/agentify
python test.py

# Test Dify platform integration
cd playground/dify
python test_dify.py

# Test cross-platform conversion
cd playground/text2workflow
python test_text2workflow.py

Architecture

Core Components

Hermes/
├── src/                        # Core source code
│   ├── agentify/              # Agentify platform engine
│   │   ├── FlowGraph.py       # Workflow graph builder
│   │   ├── NodeRegistry.py    # Node registry
│   │   └── types/             # Node type definitions
│   ├── dify/                  # Dify platform adapter
│   │   ├── DifyGraph.py       # Dify workflow builder
│   │   └── DifyTypes.py       # Dify node types
│   └── Text2Workflow.py       # Cross-platform converter
└── playground/                 # Examples and tests
    ├── agentify/              # Agentify platform examples
    ├── dify/                  # Dify platform examples
    └── text2workflow/         # Cross-platform examples

Design Philosophy

  • Unified Abstraction: Workflows from different platforms unified as node-edge graph models
  • Intelligent Adaptation: Automatic node type recognition and cross-platform conversion
  • Modular Design: Each platform independently implemented for easy extension and maintenance
  • Type Safety: Complete type system ensuring compile-time error detection

Supported Node Types

Agentify Platform Nodes

  • QuestionInputState - User input node
  • AiChatState - AI conversation node
  • ConfirmReplyState - Confirmation reply node
  • KnowledgeSearchState - Knowledge base search node

Dify Platform Nodes

  • DifyStartState - Start node
  • DifyLLMState - LLM node
  • DifyKnowledgeRetrievalState - Knowledge retrieval node
  • DifyEndState - End node

Contributing

We welcome community contributions! Please check the contribution guidelines for detailed processes.

Development Workflow

  1. Fork this project
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Create a Pull Request

Contribution Types

  • Bug fixes
  • New feature development
  • Documentation improvements
  • Test cases
  • Platform adapters

License

This project is licensed under the MIT License - see the LICENSE file for details.

If you have any questions or suggestions, please contact us through Issues.

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

autoagents_graph-0.1.0.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

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

autoagents_graph-0.1.0-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file autoagents_graph-0.1.0.tar.gz.

File metadata

  • Download URL: autoagents_graph-0.1.0.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.9

File hashes

Hashes for autoagents_graph-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6fc50dac2c08400ef3825dfd9909f149f47392a51f237854a4e7ed0ff9c9643f
MD5 2175fe42aaa21e66c67a3102fc30b320
BLAKE2b-256 436794075ae743f408271df64d0a8a1b7d73e7a72df939771999557ad341affe

See more details on using hashes here.

File details

Details for the file autoagents_graph-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for autoagents_graph-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f67fbaa4b9f1dbdc626e9304750752f210991c8043b3d18432b864a2978bf36d
MD5 f1198ad1e21f132d8270cfcd5c960cea
BLAKE2b-256 30a4d8bc7bd3ec35de9f816a6e8dc4c57d93777a1c044cfb8b8a793c1bff8d3d

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