
# 🔍 Codetective - Multi-Agent Code Review Tool
A comprehensive code analysis tool that combines multiple scanning engines (SemGrep, Trivy, AI) with automated fixing capabilities using LangGraph orchestration.
# video
[](https://youtu.be/cmb_k1Je8zs)
## Features
- **Multi-Agent Scanning**: Combines SemGrep, Trivy, and AI-powered analysis
- **Automated Fixing**: AI-powered code fixes and explanatory comments
- **CLI Interface**: Command-line interface for automation and CI/CD integration
- **Web GUI**: Modern web interface with NiceGUI
- **LangGraph Orchestration**: Intelligent agent coordination and workflow management
- **Smart Comment Generation**: Concise TODO comments under 100 words
- **Intelligent Issue Filtering**: Removes fixed issues from GUI automatically
- **Configurable**: Flexible configuration via files and environment variables
## Installation
### Prerequisites
Before installing Codetective, ensure you have the following tools installed:
1. **Python 3.10+**
2. **SemGrep** (optional but recommended):
```bash
pip install semgrep
```
3. **Trivy** (optional but recommended):
- Follow installation instructions at: https://aquasecurity.github.io/trivy/latest/getting-started/installation/
4. **Ollama** (optional, for AI features):
- Download from: https://ollama.ai/download
- Install a code model: `ollama pull codellama`
- Start Ollama: `ollama start`
### Install Codetective
```bash
# Clone the repository
git clone https://github.com/codetective/codetective.git
cd codetective
# Install the package
pip install -e .
# OR
make install
# Or install from PyPI
pip install codetective
```
## Quick Start
### 1. Check System Compatibility
```bash
ollama start
```
```bash
codetective info
```
This will show you which tools are available and their versions.

### 2. Run a Code Scan
```bash
# Scan current directory with all agents
codetective scan .
# Scan specific paths with selected agents
codetective scan /path/to/code --agents semgrep,trivy --timeout 600
# Custom output file
codetective scan . --output my_scan_results.json
```


### 3. Apply Fixes
```bash
# Apply automatic fixes
codetective fix codetective_scan_results.json
```


```bash
# Add explanatory comments instead
codetective fix codetective_scan_results.json --agent comment
```


### 4. Launch Web GUI
```bash
# Launch NiceGUI interface (default)
codetective gui
# Custom host and port
codetective gui --host 0.0.0.0 --port 7891
```
Then open your browser to `http://localhost:7891` (NiceGUI)

## CLI Commands
### `codetective info`
Check system compatibility and tool availability.
### `codetective scan [paths]`
Execute multi-agent code scanning.
**Options:**
- `-a, --agents`: Comma-separated agents (semgrep,trivy,ai_review)
- `-t, --timeout`: Timeout in seconds (default: 900)
- `-o, --output`: Output JSON file (default: codetective_scan_results.json)
**Examples:**
```bash
codetective scan .
codetective scan src/ tests/ --agents semgrep,trivy --timeout 600
codetective scan . --output security_scan.json
```
### `codetective fix <json_file>`
Apply automated fixes to identified issues.
**Options:**
- `-a, --agent`: Fix agent (comment,edit) (default: edit)
- `--keep-backup`: Keep backup files after fix completion
- `--selected-issues`: Comma-separated list of issue IDs to fix
**Examples:**
```bash
codetective fix scan_results.json
codetective fix scan_results.json --agent comment
```
## Web GUI Usage
Codetective offers a modern web interface:
### NiceGUI Interface (Default)
A modern, responsive web interface with better state management and real-time updates.
### 1. Project Selection
- Enter or browse to your project path
- Select which agents to run
- Configure scan timeout
- Start the scanning process
### 2. Scan Results
- View results in tabbed interface (one tab per agent)
- See detailed issue information
- Select issues for fixing
- Export results
### 3. Fix Application
- Choose fix strategy (edit or comment)
- Configure backup options and keep-backup settings
- Select specific issues to fix or use "Select All"
- Apply fixes with progress tracking and button state management
- View fix results and modified files
- Fixed issues are automatically removed from the GUI
- Real-time progress updates with disabled button during operations
## JSON Output Format
Codetective always outputs results in a standardized JSON format:
```json
{
"timestamp": "2024-01-01T12:00:00",
"scan_path": "/path/to/project",
"semgrep_results": [
{
"id": "semgrep-rule-file-line",
"title": "Issue title",
"description": "Detailed description",
"severity": "high",
"file_path": "/path/to/file.py",
"line_number": 42,
"rule_id": "rule.id",
"fix_suggestion": "Suggested fix",
"status": "detected"
}
],
"trivy_results": [...],
"ai_review_results": [...],
"total_issues": 15,
"scan_duration": 45.2
}
```
## Agent Types
### Scan Agents
- **SemGrep Agent**: Static analysis using SemGrep rules
- **Trivy Agent**: Security vulnerability and misconfiguration scanning
- **AI Review Agent**: Intelligent code review using Ollama
### Output Agents
- **Comment Agent**: Generates concise TODO comments (under 100 words) for issues
- Handles None/empty line numbers by adding comments at file beginning
- Processes multiple issues in same file with proper line number tracking
- Ignores existing comments when generating new explanations
- **Edit Agent**: Automatically applies code fixes
- Focuses only on actual security vulnerabilities, not influenced by existing comments
- Maintains original code structure and functionality
## Architecture
Codetective uses a multi-agent architecture orchestrated by LangGraph:
```
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ CLI/GUI │ │ Orchestrator │ │ Config │
│ Interface │───▶│ (LangGraph) │◀───│ Management │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
┌───────────────┼───────────────┐
│ │ │
┌───────▼──────┐ ┌──────▼──────┐ ┌──────▼───────┐
│ Scan Agents │ │Output Agents│ │ Utils │
│ │ │ │ │ │
│ • SemGrep │ │ • Comment │ │ • File I/O │
│ • Trivy │ │ • Edit │ │ • Validation │
│ • AI Review │ │ │ │ • System │
└──────────────┘ └─────────────┘ └──────────────┘
```
## Contributing
Contributions to the Codetective are welcome. Follow the [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This application is open-source and is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See the [LICENSE](LICENSE) file for details.
Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
This work is licensed under a
[Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].
[![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
[cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
[cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg
## Acknowledgments
- [SemGrep](https://semgrep.dev/) for static analysis capabilities
- [Trivy](https://trivy.dev/) for security vulnerability scanning
- [Ollama](https://ollama.ai/) for local AI model serving
- [LangGraph](https://langchain-ai.github.io/langgraph/) for agent orchestration
- [NiceGUI](https://nicegui.io/) for the modern web interface
- [FOCUS--Context-Engineering](https://github.com/Eng-Elias/FOCUS--Context_Engineering) for AI IDEs (Windsurf, Cursor, etc.)
Raw data
{
"_id": null,
"home_page": null,
"name": "codetective",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": "code-review, security, static-analysis, ai, multi-agent",
"author": null,
"author_email": "\"Eng. Elias\" <elias@engelias.website>",
"download_url": "https://files.pythonhosted.org/packages/7d/e4/b48c6c0bd79e2aa7084ac78af861356da47bd93d1b2bc5e34e8fba984ac3/codetective-0.1.0b4.tar.gz",
"platform": null,
"description": "\r\n# \ud83d\udd0d Codetective - Multi-Agent Code Review Tool\r\n\r\nA comprehensive code analysis tool that combines multiple scanning engines (SemGrep, Trivy, AI) with automated fixing capabilities using LangGraph orchestration.\r\n\r\n# video\r\n[](https://youtu.be/cmb_k1Je8zs)\r\n\r\n## Features\r\n\r\n- **Multi-Agent Scanning**: Combines SemGrep, Trivy, and AI-powered analysis\r\n- **Automated Fixing**: AI-powered code fixes and explanatory comments\r\n- **CLI Interface**: Command-line interface for automation and CI/CD integration\r\n- **Web GUI**: Modern web interface with NiceGUI\r\n- **LangGraph Orchestration**: Intelligent agent coordination and workflow management\r\n- **Smart Comment Generation**: Concise TODO comments under 100 words\r\n- **Intelligent Issue Filtering**: Removes fixed issues from GUI automatically\r\n- **Configurable**: Flexible configuration via files and environment variables\r\n\r\n## Installation\r\n\r\n### Prerequisites\r\n\r\nBefore installing Codetective, ensure you have the following tools installed:\r\n\r\n1. **Python 3.10+**\r\n2. **SemGrep** (optional but recommended):\r\n ```bash\r\n pip install semgrep\r\n ```\r\n3. **Trivy** (optional but recommended):\r\n - Follow installation instructions at: https://aquasecurity.github.io/trivy/latest/getting-started/installation/\r\n4. **Ollama** (optional, for AI features):\r\n - Download from: https://ollama.ai/download\r\n - Install a code model: `ollama pull codellama`\r\n - Start Ollama: `ollama start`\r\n\r\n### Install Codetective\r\n\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/codetective/codetective.git\r\ncd codetective\r\n\r\n# Install the package\r\npip install -e .\r\n# OR\r\nmake install\r\n\r\n# Or install from PyPI\r\npip install codetective\r\n```\r\n\r\n## Quick Start\r\n\r\n### 1. Check System Compatibility\r\n\r\n```bash\r\nollama start\r\n```\r\n\r\n```bash\r\ncodetective info\r\n```\r\n\r\nThis will show you which tools are available and their versions.\r\n\r\n\r\n\r\n### 2. Run a Code Scan\r\n\r\n```bash\r\n# Scan current directory with all agents\r\ncodetective scan .\r\n\r\n# Scan specific paths with selected agents\r\ncodetective scan /path/to/code --agents semgrep,trivy --timeout 600\r\n\r\n# Custom output file\r\ncodetective scan . --output my_scan_results.json\r\n```\r\n\r\n\r\n\r\n\r\n\r\n### 3. Apply Fixes\r\n\r\n```bash\r\n# Apply automatic fixes\r\ncodetective fix codetective_scan_results.json\r\n```\r\n\r\n\r\n\r\n\r\n\r\n```bash\r\n# Add explanatory comments instead\r\ncodetective fix codetective_scan_results.json --agent comment\r\n```\r\n\r\n\r\n\r\n\r\n\r\n### 4. Launch Web GUI\r\n\r\n```bash\r\n# Launch NiceGUI interface (default)\r\ncodetective gui\r\n\r\n# Custom host and port\r\ncodetective gui --host 0.0.0.0 --port 7891\r\n```\r\n\r\nThen open your browser to `http://localhost:7891` (NiceGUI)\r\n\r\n\r\n\r\n## CLI Commands\r\n\r\n### `codetective info`\r\nCheck system compatibility and tool availability.\r\n\r\n### `codetective scan [paths]`\r\nExecute multi-agent code scanning.\r\n\r\n**Options:**\r\n- `-a, --agents`: Comma-separated agents (semgrep,trivy,ai_review)\r\n- `-t, --timeout`: Timeout in seconds (default: 900)\r\n- `-o, --output`: Output JSON file (default: codetective_scan_results.json)\r\n\r\n**Examples:**\r\n```bash\r\ncodetective scan .\r\ncodetective scan src/ tests/ --agents semgrep,trivy --timeout 600\r\ncodetective scan . --output security_scan.json\r\n```\r\n\r\n### `codetective fix <json_file>`\r\nApply automated fixes to identified issues.\r\n\r\n**Options:**\r\n- `-a, --agent`: Fix agent (comment,edit) (default: edit)\r\n- `--keep-backup`: Keep backup files after fix completion\r\n- `--selected-issues`: Comma-separated list of issue IDs to fix\r\n\r\n**Examples:**\r\n```bash\r\ncodetective fix scan_results.json\r\ncodetective fix scan_results.json --agent comment\r\n```\r\n\r\n## Web GUI Usage\r\n\r\nCodetective offers a modern web interface:\r\n\r\n### NiceGUI Interface (Default)\r\nA modern, responsive web interface with better state management and real-time updates.\r\n\r\n### 1. Project Selection\r\n- Enter or browse to your project path\r\n- Select which agents to run\r\n- Configure scan timeout\r\n- Start the scanning process\r\n\r\n### 2. Scan Results\r\n- View results in tabbed interface (one tab per agent)\r\n- See detailed issue information\r\n- Select issues for fixing\r\n- Export results\r\n\r\n### 3. Fix Application\r\n- Choose fix strategy (edit or comment)\r\n- Configure backup options and keep-backup settings\r\n- Select specific issues to fix or use \"Select All\"\r\n- Apply fixes with progress tracking and button state management\r\n- View fix results and modified files\r\n- Fixed issues are automatically removed from the GUI\r\n- Real-time progress updates with disabled button during operations\r\n\r\n## JSON Output Format\r\n\r\nCodetective always outputs results in a standardized JSON format:\r\n\r\n```json\r\n{\r\n \"timestamp\": \"2024-01-01T12:00:00\",\r\n \"scan_path\": \"/path/to/project\",\r\n \"semgrep_results\": [\r\n {\r\n \"id\": \"semgrep-rule-file-line\",\r\n \"title\": \"Issue title\",\r\n \"description\": \"Detailed description\",\r\n \"severity\": \"high\",\r\n \"file_path\": \"/path/to/file.py\",\r\n \"line_number\": 42,\r\n \"rule_id\": \"rule.id\",\r\n \"fix_suggestion\": \"Suggested fix\",\r\n \"status\": \"detected\"\r\n }\r\n ],\r\n \"trivy_results\": [...],\r\n \"ai_review_results\": [...],\r\n \"total_issues\": 15,\r\n \"scan_duration\": 45.2\r\n}\r\n```\r\n\r\n## Agent Types\r\n\r\n### Scan Agents\r\n\r\n- **SemGrep Agent**: Static analysis using SemGrep rules\r\n- **Trivy Agent**: Security vulnerability and misconfiguration scanning\r\n- **AI Review Agent**: Intelligent code review using Ollama\r\n\r\n### Output Agents\r\n\r\n- **Comment Agent**: Generates concise TODO comments (under 100 words) for issues\r\n - Handles None/empty line numbers by adding comments at file beginning\r\n - Processes multiple issues in same file with proper line number tracking\r\n - Ignores existing comments when generating new explanations\r\n- **Edit Agent**: Automatically applies code fixes\r\n - Focuses only on actual security vulnerabilities, not influenced by existing comments\r\n - Maintains original code structure and functionality\r\n\r\n## Architecture\r\n\r\nCodetective uses a multi-agent architecture orchestrated by LangGraph:\r\n\r\n```\r\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n\u2502 CLI/GUI \u2502 \u2502 Orchestrator \u2502 \u2502 Config \u2502\r\n\u2502 Interface \u2502\u2500\u2500\u2500\u25b6\u2502 (LangGraph) \u2502\u25c0\u2500\u2500\u2500\u2502 Management \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n \u2502\r\n \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n \u2502 \u2502 \u2502\r\n \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n \u2502 Scan Agents \u2502 \u2502Output Agents\u2502 \u2502 Utils \u2502\r\n \u2502 \u2502 \u2502 \u2502 \u2502 \u2502\r\n \u2502 \u2022 SemGrep \u2502 \u2502 \u2022 Comment \u2502 \u2502 \u2022 File I/O \u2502\r\n \u2502 \u2022 Trivy \u2502 \u2502 \u2022 Edit \u2502 \u2502 \u2022 Validation \u2502\r\n \u2502 \u2022 AI Review \u2502 \u2502 \u2502 \u2502 \u2022 System \u2502\r\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n```\r\n\r\n## Contributing\r\n\r\nContributions to the Codetective are welcome. Follow the [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.\r\n\r\n1. Fork the repository\r\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\r\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\r\n4. Push to the branch (`git push origin feature/amazing-feature`)\r\n5. Open a Pull Request\r\n\r\n## License\r\n\r\nThis application is open-source and is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See the [LICENSE](LICENSE) file for details.\r\n\r\nShield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]\r\n\r\nThis work is licensed under a\r\n[Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].\r\n\r\n[![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]\r\n\r\n[cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/\r\n[cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png\r\n[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg\r\n\r\n## Acknowledgments\r\n\r\n- [SemGrep](https://semgrep.dev/) for static analysis capabilities\r\n- [Trivy](https://trivy.dev/) for security vulnerability scanning\r\n- [Ollama](https://ollama.ai/) for local AI model serving\r\n- [LangGraph](https://langchain-ai.github.io/langgraph/) for agent orchestration\r\n- [NiceGUI](https://nicegui.io/) for the modern web interface\r\n- [FOCUS--Context-Engineering](https://github.com/Eng-Elias/FOCUS--Context_Engineering) for AI IDEs (Windsurf, Cursor, etc.)\r\n",
"bugtrack_url": null,
"license": "Copyright (c) 2025 Eng. Elias Owis\r\n \r\n Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International\r\n \r\n You are free to:\r\n - Share \u2014 copy and redistribute the material in any medium or format.\r\n - Adapt \u2014 remix, transform, and build upon the material.\r\n \r\n Under the following terms:\r\n - Attribution \u2014 You must give appropriate credit.\r\n - NonCommercial \u2014 You may not use the material for commercial purposes.\r\n - ShareAlike \u2014 If you remix, transform, or build upon the material, you must distribute your contributions under the same license.\r\n \r\n Full license: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode\r\n ",
"summary": "Multi-Agent Code Review Tool",
"version": "0.1.0b4",
"project_urls": {
"Bug Tracker": "https://github.com/Eng-Elias/codetective/issues",
"Documentation": "https://github.com/Eng-Elias/codetective/blob/main/README.md",
"Homepage": "https://github.com/Eng-Elias/codetective",
"Repository": "https://github.com/Eng-Elias/codetective"
},
"split_keywords": [
"code-review",
" security",
" static-analysis",
" ai",
" multi-agent"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5026f9e1c2e7a0309a05484533406dbf74e7ba2916b554a212c19d153775c2a3",
"md5": "70107f6853e4e2beebd92b394a6fb0a7",
"sha256": "d1d8e2d5e48e18984d58d25256c64dba32efd0b02c329855df619c59b648d30b"
},
"downloads": -1,
"filename": "codetective-0.1.0b4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "70107f6853e4e2beebd92b394a6fb0a7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 58886,
"upload_time": "2025-09-02T15:00:37",
"upload_time_iso_8601": "2025-09-02T15:00:37.534072Z",
"url": "https://files.pythonhosted.org/packages/50/26/f9e1c2e7a0309a05484533406dbf74e7ba2916b554a212c19d153775c2a3/codetective-0.1.0b4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7de4b48c6c0bd79e2aa7084ac78af861356da47bd93d1b2bc5e34e8fba984ac3",
"md5": "0ac794d61f7d654a3bbd8524865cd84e",
"sha256": "823e24c2f3c4d06515a3038f84b076bb2aaa0155006b1f3f93041c7766dde1d3"
},
"downloads": -1,
"filename": "codetective-0.1.0b4.tar.gz",
"has_sig": false,
"md5_digest": "0ac794d61f7d654a3bbd8524865cd84e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 53027,
"upload_time": "2025-09-02T15:00:39",
"upload_time_iso_8601": "2025-09-02T15:00:39.282664Z",
"url": "https://files.pythonhosted.org/packages/7d/e4/b48c6c0bd79e2aa7084ac78af861356da47bd93d1b2bc5e34e8fba984ac3/codetective-0.1.0b4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-02 15:00:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Eng-Elias",
"github_project": "codetective",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "click",
"specs": [
[
">=",
"8.0.0"
]
]
},
{
"name": "langgraph",
"specs": [
[
">=",
"0.0.40"
]
]
},
{
"name": "nicegui",
"specs": [
[
">=",
"2.22.2"
]
]
},
{
"name": "pydantic",
"specs": [
[
">=",
"2.0.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.28.0"
]
]
},
{
"name": "PyYAML",
"specs": [
[
">=",
"6.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
">=",
"13.0.0"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
">=",
"4.0.0"
]
]
},
{
"name": "ddgs",
"specs": [
[
">=",
"4.0.0"
]
]
},
{
"name": "langchain",
"specs": [
[
">=",
"0.1.0"
]
]
},
{
"name": "langchain-community",
"specs": [
[
">=",
"0.0.10"
]
]
},
{
"name": "langchain-ollama",
"specs": [
[
">=",
"0.1.0"
]
]
},
{
"name": "langgraph",
"specs": [
[
">=",
"0.2.0"
]
]
},
{
"name": "beautifulsoup4",
"specs": [
[
">=",
"4.12.0"
]
]
}
],
"lcname": "codetective"
}