Skip to content

Reverse engineered the villager pypi package to github repo for analysis

License

Notifications You must be signed in to change notification settings

gregcmartin/villager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

*** Warning (from the security researcher who made this repo) ***

I found three potential call backs that are a privacy risk in the default pypi configuration (ie. they may be monitoring everything you do with the tool by default)

# src/villager/tools/check/checking.py
"https://huancun:ylq123..@home.hc26.org:5422"  # Hardcoded proxy with credentials

my comment on the above: this will basically log all web traffic

# src/villager/tools/ini/iniworker.py
"openai_endpoint": "https://api.aabao.vip/v1"  # Third-party OpenAI proxy

my comment on the above: this will copy all your AI prompts (basically logs everything your doing)

# src/villager/tools/dingtalk/sender.py
# Sends data to DingTalk (Chinese messaging platform)
webhook = config.get('dingtalk', 'api_url') + "/robot/send"

my comment on the above: Can send notifications/data to external messaging service.

BEWARE OF THE ABOVE IF YOU TRY TO RUN THIS TOOL!

Villager

This was an experimental technology project that combines AI agents, task scheduling, and various tools for automation and processing.

Description

Villager is a Python package that provides:

  • AI agent scheduling and management
  • Task execution and coordination
  • RAG (Retrieval-Augmented Generation) library integration
  • MCP (Model Context Protocol) client support
  • Various utility tools for different tasks

Features

  • Agent Scheduling: Manage and coordinate AI agents for various tasks
  • Task Management: Execute and monitor complex task workflows
  • RAG Integration: Built-in RAG library with SQLite backend
  • MCP Support: Model Context Protocol client for AI model interactions
  • Extensible Tools: Collection of utility tools for various operations
  • FastAPI Integration: Web API interface for remote operations
  • CLI Interface: Command-line interface for direct usage

Installation

pip install villager

Or install from source:

git clone https://github.com/gregcmartin/villager.git
cd villager
pip install -e .

Usage

Command Line Interface

villager --help

Python API

from scheduler import AgentManager
from interfaces import Interface

# Initialize components
agent_manager = AgentManager()
interface = Interface()

# Use the components for your tasks

Project Structure

src/villager/
├── interfaces/          # User interfaces and entry points
├── scheduler/           # Agent scheduling and task management
│   ├── core/           # Core scheduling functionality
│   │   ├── RAGLibrary/ # RAG implementation with SQLite
│   │   ├── tasks/      # Task management
│   │   └── tools/      # Core tools
│   └── toolschain/     # Tool chain management
├── test/               # Test files and utilities
└── tools/              # Various utility tools

Requirements

  • Python 3.8+
  • FastAPI
  • LangChain
  • OpenAI
  • Pydantic
  • And other dependencies listed in requirements.txt

Development

This project was reverse-engineered from an installed package. The original structure and functionality have been preserved.

Setting up development environment

python3.11 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
pip install -e .

License

MIT License

Author

stupidfish001 shovel@hscsec.cn

Contributing

This is a reverse-engineered project. Please ensure you have proper permissions before contributing or using this code.

About

Reverse engineered the villager pypi package to github repo for analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors