Devseeker
What is DevSeeker?
DevSeeker is a lightweight command-line interface (CLI) coding agent designed to help developers manage, create, and improve code. Inspired by Claude Code and Codex, DevSeeker supports a wide range of AI models and offers various operational modes to cater to different coding needs. It assists in managing code files and folders, creating and editing code, storing code in short-term memory, reviewing code changes, running code files, calculating token usage, and more.
Benefits
DevSeeker offers several key advantages for developers:
- Efficient Code Management: Easily manage code files and folders with a simple command-line interface.
- AI-Powered Assistance: Leverage AI models to create, edit, and improve code, making the development process faster and more efficient.
- Multiple Operational Modes: Choose from various modes such as Standard, Improve, Clarify, Lite, and Self-Heal to suit different coding needs.
- Extensive Customization: Customize behavior with numerous command-line options and environment variables.
- Cross-Platform Support: Works on different operating systems, including Windows, with specific instructions provided for each.
Use Cases
DevSeeker is versatile and can be used in various scenarios:
- Creating New Projects: Generate complete projects from natural language prompts.
- Improving Existing Code: Modify and enhance existing codebases with interactive terminal UI.
- Clarifying Requirements: Discuss specifications before implementation to ensure accuracy.
- Faster Code Generation: Use Lite mode for quick code generation using only the main prompt.
- Auto-Fixing Code: Enable Self-Heal mode to automatically fix code when it fails during execution.
Installation
DevSeeker can be installed via pip, the recommended method:
pip install devseekerFor development installation, you can clone the repository and use poetry:
git clone https://github.com/iBz-04/devseeker.gitcd devseekerpoetry installpoetry env activateConfiguration
DevSeeker requires an OpenAI API key, which can be set in three ways:
- Environment Variable:
export OPENAI_API_KEY=your_api_key.envFile: Create a.envfile in your project directory:
OPENAI_API_KEY=your_api_key- Custom Configuration: Create a
devseeker.tomlfile in your project for advanced configuration:
[run]build = "npm run build"test = "npm run test"lint = "quick-lint-js"[paths]base = "./src" # base directory to operate inBasic Usage
Creating a New Project
- Create an empty directory for your project.
- Inside the directory, create a file named
promptcontaining your instructions. - Run DevSeeker:
devseeker projects/my-new-projectWhen you run this command, DevSeeker will:* Present a welcome interface.* Read your prompt (or ask for one if not found).* Generate code files based on your description.* Create an entrypoint file for running the project.* Ask if you want to execute the generated code.
Improving Existing Code
devseeker projects/my-existing-project -iWhen you run DevSeeker in improve mode with the-iflag, it provides an interactive terminal UI that allows you to:1. Describe how you want to improve your application through natural language prompts.2. Select which files should be modified (through an interactive file selection interface).3. Review proposed changes in a diff view (showing what will be added/removed).4. Accept or reject the changes before they're applied to your codebase.
You can also use the--skip-file-selectionor-sflag to bypass the interactive file selection:
devseeker projects/my-existing-project -i -sOperational Modes
DevSeeker supports several operational modes that change how it processes your prompts and generates code:
- Standard Mode (Default): Generates complete projects following your prompt.
devseeker projects/my-project- Improve Mode: Modifies existing code according to your instructions.
devseeker projects/my-project -i- Clarify Mode: Discusses specifications with you before implementing them.
devseeker projects/my-project -c- Lite Mode: Generates code using only your main prompt, without additional steps.
devseeker projects/my-project -l- Self-Heal Mode: Automatically fixes code when it fails during execution.
devseeker projects/my-project -shCLI Options Reference
DevSeeker offers numerous command-line options to customize its behavior. Some common options include:
--model,-m: The AI model to use (default: gpt-4o).--temperature,-t: Controls randomness in outputs (0.0-1.0).--improve,-i: Improves existing project.--lite,-l: Runs using only the main prompt.--clarify,-c: Discusses specifications before implementation.--self-heal,-sh: Auto-fixes failing code.--azure,-a: Azure OpenAI endpoint URL.--use-custom-preprompts: Uses custom prompts from project workspace.--llm-via-clipboard: Uses clipboard for AI communication.--verbose,-v: Enables verbose logging.--debug,-d: Enables debug mode.--prompt_file: Path to text file with prompt.--entrypoint_prompt: Path to file with entrypoint requirements.--image_directory: Path to folder with images.--use_cache: Caches LLM responses to save tokens.--skip-file-selection,-s: Skips interactive file selection in improve mode.--no_execution: Runs setup without calling LLM or writing code.--sysinfo: Outputs system information for debugging.--diff_timeout: Timeout for diff regexp searches.--help,-h: Shows help information.
Environment Variables
DevSeeker recognizes these environment variables:
OPENAI_API_KEY: Your OpenAI API key.MODEL_NAME: Default model to use (e.g., "gpt-4o").OPENAI_API_BASE: Alternative API endpoint.LOCAL_MODEL: Set to "true" when using local models.EDITOR: Your preferred text editor.LANGCHAIN_WANDB_TRACING: Enable W&B tracing (set to "true").WANDB_API_KEY: Weights & Biases API key.
Using Alternative Models
Local Models with llama.cpp
export OPENAI_API_BASE="http://localhost:8000/v1"export OPENAI_API_KEY="sk-your_local_key"export MODEL_NAME="CodeLlama"export LOCAL_MODEL=trueAzure OpenAI
devseeker --azure https://<your-resource-name>.openai.azure.com my-projectProject Configuration
DevSeeker can be configured with adevseeker.tomlfile in your project root:
[run]build = "npm run build"test = "npm run test"lint = "quick-lint-js"[paths]base = "./frontend" # base directory for monorepossrc = "./src" # source directory for context[devseeker-app] # used for devseeker.app integrationproject_id = "..."File Selection
When improving code, DevSeeker needs to know which files to include in its context. The file selection process:1. DevSeeker scans your project directory.2. Creates a TOML file with file paths.3. Opens this file in your text editor.4. You uncomment lines for files you want to include.5. Save and close the file to continue.
The selection interface supports:* Color-coded file types.* Intelligent defaults based on language.* Filtering of common directories likenode_modules.
Troubleshooting
Common Issues
API Key Not Found
Error: OpenAI API key not foundSolution: Set yourOPENAI_API_KEYas described in Configuration.
Token Limit Exceeded
Error: This model's maximum context length is exceededSolution: Select fewer files in improve mode or use a model with higher token limits.
Execution Errors
If generated code fails to run, try:* Using self-heal mode:devseeker path/to/project -sh.* Checking dependency installation.* Inspecting generated logs in the project's.devseeker/logsdirectory.
Windows-Specific Instructions
Windows users should consult the documentation for key differences:* Usesetinstead ofexportfor environment variables.* Path separators use backslashes.* Some commands may require PowerShell.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
About
DevSeeker is a lightweight CLI coding agent designed to streamline the coding process by leveraging AI models to manage, create, and improve code. It supports various operational modes and offers extensive customization options to cater to different development needs.
This content is either user submitted or generated using AI technology (including, but not limited to, Google Gemini API, Llama, Grok, and Mistral), based on automated research and analysis of public data sources from search engines like DuckDuckGo, Google Search, and SearXNG, and directly from the tool's own website and with minimal to no human editing/review. THEJO AI is not affiliated with or endorsed by the AI tools or services mentioned. This is provided for informational and reference purposes only, is not an endorsement or official advice, and may contain inaccuracies or biases. Please verify details with original sources.
Comments
Please log in to post a comment.