Skip to content

Multi-agent collaboration framework based on phidata for workflow automation and intelligent tool integration

License

Notifications You must be signed in to change notification settings

ovenzeze/nimship-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nimship Agent

Python Version License GitHub Repo Status

A multi-agent collaborative development framework built on phidata, supporting configurable workflows and intelligent toolchains

Features β€’ Quick Start β€’ Documentation β€’ Contributing β€’ License


Main Features

πŸ€– Multi-Agent Collaboration System

  • Pre-configured Professional Roles: Product Manager, Tech Lead, Senior Engineer, QA Engineer
  • Workflow-based Collaboration: Clear state transitions and task flow
  • Well-defined Role Responsibilities: Each Agent focuses on specific domains, improving collaboration efficiency

βš™οΈ Flexible Configuration System

  • JSON Configuration Files: Define agents and workflows through configuration files without code changes
  • Standardized Validation: Ensures correctness and completeness of configuration files
  • Multi-model Support: Supports multiple language models (via phidata), including AWS Bedrock (Claude)

πŸ› οΈ Tool Integration

  • Core Tools:
    • FileManager: Unified file operation interface
    • DevOps: Environment management and deployment operations
    • DuckDuckGo: Web search capabilities
  • Extensible Architecture: Tool configuration separated from implementation, easy to extend new tools
  • Permission Control: Supports tool-level permission management

πŸ“‹ Workflow Management

  • State-driven Engine: Workflow execution based on state machines
  • Configurable State Transitions: Define state transition rules through configuration files
  • Complete Validation: Ensures correct workflow execution
  • Serial and Parallel Execution: Supports complex workflow scenarios

Project Structure

nimship-agent/
β”œβ”€β”€ agents/                    # Agent implementations
β”‚   └── base_agent.py         # Agent base class
β”œβ”€β”€ config/                   # Configuration files
β”‚   β”œβ”€β”€ agents/              # Agent configurations
β”‚   β”œβ”€β”€ workflows/           # Workflow configurations
β”‚   β”œβ”€β”€ tools/               # Tool configurations
β”‚   └── system.config.json   # System configuration
β”œβ”€β”€ docs/                     # Documentation
β”‚   β”œβ”€β”€ workflow_developer.md
β”‚   └── AGENT_DESIGN.md
β”œβ”€β”€ tests/                    # Test cases
β”‚   β”œβ”€β”€ integration/         # Integration tests
β”‚   └── tools/               # Tool tests
β”œβ”€β”€ tools/                    # Tool implementations
β”œβ”€β”€ utils/                    # Utility functions
β”œβ”€β”€ workflows/                # Workflow implementations
β”œβ”€β”€ main.py                   # Main entry point
β”œβ”€β”€ requirements.txt          # Dependencies
└── README.md                 # Project documentation

Quick Start

Requirements

  • Python 3.9+
  • Virtual environment management tool (recommended: venv)

Installation

  1. Clone the repository

    git clone https://github.com/ovenzeze/nimship-agent.git
    cd nimship-agent
  2. Create a virtual environment

    python3.9 -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Environment configuration

    Create a .env file and configure necessary environment variables:

    # AWS configuration (for Bedrock)
    AWS_ACCESS_KEY_ID=your_access_key
    AWS_SECRET_ACCESS_KEY=your_secret_key
    AWS_REGION=us-east-1
    
    # Phidata API Key (if needed)
    PHI_API_KEY=your_phi_api_key

Usage

CLI Mode

python main.py

Run with a specific workflow

python main.py --workflow developer

Web UI Mode

python main.py --mode ui

Development Guide

Agent Configuration Specification

  • Configuration file location: config/agents/ directory
  • File suffix: .agent.json
  • Required fields: name, description, model, tools

Example configuration structure:

{
  "name": "engineer",
  "description": "Senior Engineer",
  "model": "anthropic.claude-instant-v1",
  "tools": ["file_manager", "git"]
}

Workflow Configuration Specification

  • Configuration file location: config/workflows/ directory
  • File suffix: .workflow.json
  • Required definitions: State transitions and conditions

Testing Specification

  • Unit tests: tests/ directory
  • Integration tests: tests/integration/ directory
  • Run tests:
    pytest tests/

For more development guidelines, please refer to DEV_GUIDE.md

Documentation

Development Status

The project is currently in active development:

  • βœ… Completed basic configuration system
  • βœ… Completed workflow framework design
  • βœ… Implemented core functional modules
  • 🚧 Improving test coverage
  • 🚧 Performance optimization
  • πŸ“‹ Documentation improvements

Notes

Remote Development Environment Configuration

To use remote development features, you need to configure:

  • VSCode Server
  • SSH key authentication
  • Git and GitHub configuration

Dependencies

Main dependencies:

  • phidata - AI application framework
  • boto3 - AWS SDK (for Bedrock)
  • paramiko - SSH connections (for remote operations)
  • pytest - Testing framework
  • python-dotenv - Environment variable management
  • rich - Terminal output formatting

Contributing

We welcome all forms of contributions! Please check CONTRIBUTING.md for detailed contribution guidelines.

Quick start:

  1. Fork the 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. Open a Pull Request

License

This project is licensed under the MIT License.

Acknowledgments

  • Built on the phidata framework
  • Thanks to all contributors for their support

If this project helps you, please give it a ⭐ Star!

Made with ❀️ by the Nimship Agent Team

About

Multi-agent collaboration framework based on phidata for workflow automation and intelligent tool integration

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages