AI-Powered Penetration Testing Command Center
wish is a workflow-aware AI command center designed to accelerate penetration testers' thinking and reduce context-switching costs.
pip install wish-sh
wish requires an OpenAI API key for AI functionality. Configure it using one of these methods:
Option 1: Configuration File (Recommended)
# Initialize configuration file
wish-ai-validate --init-config
# Set your API key
wish-ai-validate --set-api-key "your-openai-api-key-here"
Option 2: Environment Variable
export OPENAI_API_KEY="your-openai-api-key-here"
Option 3: Manual Configuration
Edit ~/.wish/config.toml
:
[llm]
api_key = "your-openai-api-key-here"
model = "gpt-4o"
- Visit OpenAI API Platform
- Sign in or create an account
- Go to "API Keys" section
- Click "Create new secret key"
- Copy the generated key and set it as shown above
wish
Note: On first launch, wish will download and index the HackTricks knowledge base. This may take a few minutes but only happens once.
To verify your API key is configured correctly:
Option 1: Using wish-ai validation tool
# Install wish-ai package and run validation
pip install ./packages/wish-ai
wish-ai-validate
Option 2: Using main application
# The application will validate the API key on startup
wish --version
If you see authentication errors, double-check your OPENAI_API_KEY environment variable.
# 1. Clone and navigate to the project
git clone <repository-url>
cd wish
# 2. Install dependencies
uv sync --all-packages --dev
# 3. Set up OpenAI API key
export OPENAI_API_KEY="your-openai-api-key-here"
# 4. Run wish-cli directly
uv run wish
# Setup development environment
make dev-setup
# Run tests
make test
# Format code
make format
# Run linting
make lint
# Run specific package tests
cd packages/wish-cli && uv run pytest
# Run E2E tests
uv run pytest e2e-tests/
# Work on specific package
cd packages/wish-cli
# Install package in development mode
uv sync --dev
# Run package-specific tests
uv run pytest tests/
# Build package
uv build
# Solution: Use uv run instead of direct execution
uv run wish
# Or install in development mode
pip install -e .
# Check your API key is set
echo $OPENAI_API_KEY
# Verify API key configuration
wish-ai-validate --check-env
# Re-initialize configuration
wish-ai-validate --init-config
wish-ai-validate --set-api-key "your-key-here"
# Reinstall all dependencies
uv sync --reinstall --all-packages --dev
# Clear uv cache
uv cache clean
# Check Python version (requires 3.11+)
python --version
# Ensure you're in the correct directory
cd wish
# Install all workspace packages
uv sync --all-packages --dev
# Verify installation
uv run python -c "import wish_cli; print('β
Installation successful')"
- Cause: OpenAI API key validation
- Solution: Use cached configuration or environment variables
- Cause: Rich console history retention
- Solution: Limit history size in configuration
- Cause: Blocking operations in main thread
- Solution: All operations are async by design
- GitHub Issues: Report bugs
- Documentation: Check
docs/
directory for detailed guides - Community: Join our development discussions
wish supports integration with Sliver C2 framework for post-exploitation workflows.
- Sliver server installed and running
- Valid operator configuration file
- Active implants/beacons (for command execution)
See Sliver Setup Guide for detailed instructions.
- wish-models: Core data models and validation
- wish-core: Business logic and state management
- wish-ai: LLM integration and plan generation
- wish-tools: Tool integrations and parsers
- wish-knowledge: RAG and knowledge base integration
- wish-c2: C2 framework connectors
- wish-cli: Main CLI application
We welcome contributions! Please see our Contributing Guide for details.
- π Code of Conduct
- π Report Issues
- π‘ Request Features
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.