2.9 KiB
Contributors guide
Prerequisites
- Python 3.8 or higher
- Ollama installed (for local model execution)
- Basic familiarity with Python and AI models
Contribution Guidelines
We welcome contributions in the following areas:
- Code Improvements: Optimize existing code, fix bugs, or add new features.
- Documentation: Improve the README, write tutorials, or add inline comments.
- Testing: Write unit tests, integration tests, or help with debugging.
- New Features: Implement new tools, agents, or integrations.
Steps to Contribute
Fork the project to your GitHub account.
Create a Branch:
git checkout -b feature/your-feature-name
Make Your Changes.
Write your code, add documentation, or fix bugs.
Test Your Changes.
Ensure your changes work as expected and do not break existing functionality.
Push your changes to your fork and submit a pull request to the main branch of this repository. Provide a clear description of your changes and reference any related issues.
Coding Philosophy
-
Privacy First, Always Local
- All core functionality must be able to run 100% locally
- Cloud services should only be optional alternatives, clearly defined with a warning message.
- User data privacy is non-negotiable
-
Agent-Based Architecture
- Each agent should have a clear, single responsibility
- Agents should be modular and independently testable
- New agents should solve specific use cases
-
Tool-Based Extensibility
- Tools should be self-contained and follow the Tools base class
- Each tool should do one thing well
- Tools should provide clear feedback on success/failure
-
User Experience
- Provide meaningful feedback for all operations
- Support multiple languages (chinese, french, english for now)
- Text to speech with short response.
- Keep responses concise
-
Code Quality
- Write clear, self-documenting code
- Include type hints and docstrings
- Follow existing patterns in the codebase
- Add a if name == "main" at the bottom of each class file for individual testing.
- Ideally had automated tests.
-
Error Handling
- Fail gracefully with meaningful messages
- Include recovery mechanisms where possible
- Log errors appropriately without exposing sensitive data
Areas Needing Help
Here are some high-priority tasks and areas where we need contributions:
- Web Browsing: Implement autonomous web browsing capabilities for the assistant.
- Multi-Agent System: Enhance the multi-agent functionality on the dev branch.
- Memory & Recovery: Improve conversation compression.
- New Tools: Add support for additional programming languages or APIs.
- Testing: Write comprehensive tests for existing and new features.
If you're unsure where to start, feel free to reach out by opening an issue or joining our community discussions.
Code of Conduct
See CODE_OF_CONDUCT.md
Thank You!