An AI-powered code agent for workspace operations
Project description
OpenCursor
An AI-powered code agent for workspace operations.
Features
- Chat with an AI coding agent in autonomous or interactive mode
- Direct LLM chat without tools
- File context management (add, drop, clear)
- Repository mapping
- Focus on specific files
- Workspace directory selection
Installation
Using Poetry (recommended)
# Clone the repository
git clone https://github.com/yourusername/opencursor.git
cd opencursor
# Install with Poetry
poetry install
Using pip
pip install git+https://github.com/yourusername/opencursor.git
Usage
Once installed, you can use OpenCursor from the command line:
# Basic usage
opencursor -q "Create a simple Flask app"
# Specify a workspace directory
opencursor -w /path/to/workspace -q "Fix the bug in app.py"
# Use a different model
opencursor -m "gpt-4" -q "Refactor the authentication module"
# Run in interactive mode
opencursor -i -q "Create a React component"
Command-line Options
-w, --workspace: Path to the workspace directory (default: current directory)-q, --query: Query to process (required)-m, --model: LLM model to use (default: qwen3_14b_q6k:latest)-H, --host: Ollama API host URL (default: http://192.168.170.76:11434)-i, --interactive: Run in interactive mode (one tool call at a time)
Development
Setup
# Clone the repository
git clone https://github.com/yourusername/opencursor.git
cd opencursor
# Install dependencies
poetry install
# Run tests
poetry run pytest
Project Structure
opencursor/
├── code_agent/
│ ├── src/
│ │ ├── agent.py # Main agent implementation
│ │ ├── llm.py # LLM client
│ │ ├── prompts.py # System prompts
│ │ ├── tools.py # Tool implementations
│ │ └── ...
│ ├── cli.py # Command-line interface
│ └── __init__.py
├── tests/
├── pyproject.toml
└── README.md
License
MIT
UI Components
- Chat History: Shows the conversation between you and the AI
- Message Input: Type your messages here
- Tool Selection: Choose which tool to use for processing your message
- Workspace Path: Set the directory to work with
- Context Information: Shows which files are currently in context
- Update Context: Refreshes the context information
- Clear Chat: Clears the chat history
Available Tools
- agent (autonomous): Agent works step-by-step without user interaction
- agent (interactive): Agent performs one tool call at a time, waiting for user input
- chat (LLM only): Chat with the LLM directly without using tools
- add file: Add a file to the context (provide file path in message)
- drop file: Remove a file from the context (provide file path in message)
- clear context: Remove all files from the context
- repo map: Show the files in the current workspace
- focus on file: Add a file to context and show its contents
Customization
You can modify the model and host settings in the main() function of gradio_ui.py.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
opencursor-0.0.6.tar.gz
(24.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file opencursor-0.0.6.tar.gz.
File metadata
- Download URL: opencursor-0.0.6.tar.gz
- Upload date:
- Size: 24.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.12 Linux/6.8.0-59-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb2c590fe97e895c1360bdffd1c7edbd35b04ad280b04b52c357555339408f08
|
|
| MD5 |
34675df2fbdf8097aadce407fe063fc8
|
|
| BLAKE2b-256 |
6d463a9c803b7d838849204e824e85f16ad41233e2d02d6f2b0dea034e647746
|
File details
Details for the file opencursor-0.0.6-py3-none-any.whl.
File metadata
- Download URL: opencursor-0.0.6-py3-none-any.whl
- Upload date:
- Size: 27.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.12 Linux/6.8.0-59-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27ce69f61345f960d9cadf47045e10431bfae1b0b4a914dea4ad8d93e1ca154a
|
|
| MD5 |
3631f415b0faf5d4c690d6ccfbf7d824
|
|
| BLAKE2b-256 |
491ac9929385b8202a757578cd4b42c76e8e864b5e5aa8aad8330fd47e857700
|