Skip to content

SeveighTech/open-webui-gitaccess

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GitAccess

GitAccess Logo

GitAccess is a tool that enables LLM models to connect to GitHub repositories within a specified account or organization to fetch their contents, issues, pull requests, and more. This allows you to query the model about the current state of a project and stay up-to-date.

📦 Description

Key Updates by SeveighTech (Version 0.2.0):

  • Added support for fetching issues, pull requests, comments, and file changes in pull requests.
  • Implemented repository search by partial name.
  • Introduced configurable limits for the number of items and comments fetched.
  • Improved error handling and status updates.

🚀 Installation

To install GitAccess in your self-hosted OpenWebUI instance, you can follow these steps:

Via the Marketplace

  1. Open your OpenWebUI instance.
  2. Go to the Marketplace.
  3. Add the link to GitAccess: https://github.com/WhyWaitServices/open-webui-gitaccess.git.

Manual Installation

  1. Copy the code from the GitAccess.py file.
  2. Add the copied code to your OpenWebUI instance by creating a new tool under Workspace > Tools.
  3. Paste the copied code from the GitAccess.py file into the large input field and assign a name and a description.
  4. Save the tool.

⚙️ Configuration

Environment Variables (Valves)

  • Accessing the Valves: The environment variables for the tool are set within OpenWebUI. Click the gear button when you open the tool to configure the valves.

    • access_token: A personal access token from GitHub that has the necessary permissions to access the repository.
    • owner: The name of the GitHub account/organization (e.g., SeveighTech).

UserValves

  • Setting UserValves: If you have activated the tool in a chat or model, you can set the UserValves using the "Controls" button (located at the top right, directly left of the profile picture). A sheet will open where you can configure the UserValves of the tool.

    • max_files: Maximum number of files per directory to fetch.
    • truncate_content: Whether to truncate large files for better readability.
    • max_content_length: Maximum character length for file contents when truncation is enabled.
    • max_items: Maximum number of issues, pull requests, etc., to retrieve per state (open/closed).
    • max_comments: Maximum number of comments to retrieve for issues and pull requests.

🛠️ Usage

After installation, you can use GitAccess as follows:

  1. Ensure that you are correctly configured (access token and owner).

  2. Launch the tool in your OpenWebUI instance.

  3. Use simple prompts like:

    • "What are the pull requests, pull request comments, and the pull request file changes on the {repository_name} repository?"
    • "Tell me more about the {repository_name} repository."
    • "Give me all the comments on each issue on the {repository_name} repository."
    • "Are there any issues or pull requests in the repository: {repository_name}"
    • "Get all the information about all the pull requests on the {repository_name} repository. Using only that information, tell me which comments are on pull request number {PR_number}. Do not use the tool again."

The response might look like this: Example Screenshot

The status of actions will be displayed in the user interface through status messages.

🤖 Features

  • Fetching Repository Contents: Read the structure and files of a specified GitHub repository.
  • Dynamic Filters: Distinguish between directories and files to efficiently retrieve the desired data.
  • Event Emitter: Real-time feedback on the progression of queries and other actions.
  • Issue and Pull Request Analysis: Fetch and analyze issues, pull requests, and associated comments.
  • Repository Search: Find repositories by partial name within the configured owner.

📋 License

This project is licensed under the MIT License. For more information, please refer to the LICENSE file.

🤝 Contributing

Contributions are welcome! Please open an issue or a pull request to share suggestions or propose improvements.

📞 Contact

For questions or feedback, feel free to leave an issue.

Thank you for using GitAccess!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%