Cognotik: Comprehensive AI-Powered Development Platform
Overview
Cognotik is a comprehensive AI-powered development platform that combines intelligent planning, code generation, and interactive interfaces to streamline software development workflows. The platform consists of multiple integrated components that work together to provide a complete solution for AI-assisted development.
π Quick Start
# Clone the repository
git clone https://github.com/SimiaCryptus/Cognotik.git
cd Cognotik
# Build the project
./gradlew build
# Run the desktop application
./gradlew :desktop:run
For detailed installation instructions, see the Installation Guide.
Open Source & Bring Your Own Key
Cognotik is 100% open source software, released under the Apacheβ¦
Cognotik: Comprehensive AI-Powered Development Platform
Overview
Cognotik is a comprehensive AI-powered development platform that combines intelligent planning, code generation, and interactive interfaces to streamline software development workflows. The platform consists of multiple integrated components that work together to provide a complete solution for AI-assisted development.
π Quick Start
# Clone the repository
git clone https://github.com/SimiaCryptus/Cognotik.git
cd Cognotik
# Build the project
./gradlew build
# Run the desktop application
./gradlew :desktop:run
For detailed installation instructions, see the Installation Guide.
Open Source & Bring Your Own Key
Cognotik is 100% open source software, released under the Apache 2.0 license. The platform follows a βBring Your Own Keyβ (BYOK) model, meaning you provide your own API keys for AI services (OpenAI, Anthropic, etc.). This gives you complete control over:
- Which AI providers and models you use
- Your data privacy and security
- Your usage costs and billing
- Service configuration and customization
API Keys and Usage
Cognotik uses a βBring Your Own Keyβ (BYOK) model for all AI service integrations:
- You must provide your own API keys for services like OpenAI, Anthropic, Google AI, etc.
- All API usage costs are billed directly to your accounts with these providers
- No data is shared with any third parties without your explicit configuration
- The software includes usage tracking tools to help you monitor your API consumption
Supported AI Providers
- OpenAI (GPT-4, GPT-3.5, DALL-E)
- Anthropic (Claude 3, Claude 2)
- Google (Gemini, PaLM)
- AWS Bedrock (Various models)
- Azure OpenAI (GPT models)
- Groq (Fast inference)
- Mistral AI (Mistral models)
- DeepSeek (Coding models)
- Perplexity (Search-optimized models)
- Local Models (Ollama, LM Studio)
Core Components
1. Cognotik Core (core)
The foundation of the platform, providing essential services and utilities for AI interactions.
Key Features:
- Actor system for AI model interactions (SimpleActor, CodingActor, ImageActor)
- Session management and data persistence
- Authentication and authorization
- Code patch generation and application utilities
- Extensible interpreter framework for code execution
- Token counting and cost estimation
- Rate limiting and retry logic
2. Web UI Framework (webui)
A framework for building interactive web applications with real-time communication.
Key Features:
- Chat system with real-time communication
- Session management and state persistence
- Interactive UI components (links, inputs, tasks, file handling)
- Application framework for building web interfaces
- Local storage management
- File upload and download capabilities
- Session history and management
3. Planning Framework (plan)
AI-assisted task planning and execution framework.
Key Features:
- Task types for file modifications, code generation, and web searches
- Plan coordination with dependency management
- Plan visualization tools
- Multiple cognitive modes (AutoPlanMode, PlanAheadMode, GoalOrientedMode, TaskChatMode, GraphOrderedPlanMode)
- Self-healing task execution
4. Desktop Application (desktop)
A standalone desktop application that hosts the Cognotik platform.
Key Features:
- System tray integration for easy access
- Background daemon process
- Socket-based communication for remote control
- Cross-platform support (Windows, macOS, Linux)
- Auto-update functionality
5. Web Application (webapp)
A React-based chat application interface with real-time messaging.
Key Features:
- WebSocket connectivity for real-time updates
- Multiple themes with dynamic switching
- Markdown support with syntax highlighting
- Tab system with state persistence
- Event-driven architecture for real-time updates
6. IntelliJ Plugin (intellij)
An IntelliJ-based plugin that integrates Cognotik capabilities into the IDE.
Key Features:
- Smart code operations (paste, transformations)
- Contextual AI chat with code understanding
- Intelligent workflows for multi-step changes
- Test result autofix and problem analysis
- Code review and documentation generation
- Refactoring suggestions
7. JOpenAI (jo-penai)
A unified, type-safe model registry and API for working with AI models.
Key Features:
- Type-safe referencing of models by name or provider
- Centralized pricing and quota logic
- Support for multiple providers (OpenAI, Anthropic, Google, AWS, etc.)
- Unified API for text, chat, embedding, image, and audio models
Architecture
The Cognotik platform follows a modular architecture:
Core Services Layer: Provided by the Core module, handling AI interactions, session management, and data persistence. 1.
Application Layer: Consists of the Web UI Framework and Planning Framework, providing the building blocks for AI-powered applications. 1.
Client Applications: Desktop Application, Web Application, and IntelliJ Plugin, offering different interfaces to access the platform. 1.
Model Integration Layer: JOpenAI provides a unified interface to various AI models and providers.
Communication between components:
- RESTful APIs and WebSockets for client-server communication
- Socket-based communication for desktop application components
- File-based storage for session data and generated content
Getting Started
Prerequisites
- Java 17 or higher
- Node.js 16+ (for web application)
- Gradle 7.6+ (for building)
- API keys for supported AI providers (OpenAI, Anthropic, etc.)
Installation Options
Desktop Application
Download the appropriate package for your platform:
- Windows: Download MSI installer
- macOS: Download DMG package
- Linux: Download DEB/RPM package
Run the installer and follow the instructions. 1.
Launch the application from your desktop or start menu. 1.
Configure your API keys in Settings β API Configuration.
Web Application
Clone the repository 1.
Install dependencies:
cd webapp
npm install
Configure environment variables:
cp .env.example .env
# Edit .env with your API keys
Start the development server:
npm start
Open your browser and navigate to http://localhost:3000
IntelliJ Plugin
- Install from the JetBrains Marketplace:
- Open IntelliJ IDEA
- Go to Settings/Preferences > Plugins
- Search for βCognotikβ
- Click Install and restart the IDE
- Configure API keys:
- Go to Settings/Preferences > Tools > Cognotik
- Enter your API keys for the providers you want to use
Building from Source
Clone the repository 1.
Build using Gradle:
./gradlew build
For specific components:
# Desktop application
./gradlew :desktop:build
# IntelliJ plugin
./gradlew :intellij:buildPlugin
# Web application
cd webapp
npm run build
Project Structure
cognotik/
βββ core/ # Core services and utilities
βββ webui/ # Web UI framework
βββ plan/ # Planning framework
βββ desktop/ # Desktop application
βββ webapp/ # Web application (React)
βββ intellij/ # IntelliJ plugin
βββ jo-penai/ # JOpenAI model registry
βββ gradle/ # Gradle configuration
βββ docs/ # Documentation
βββ examples/ # Example projects
Extension Points
The platform provides several extension points for customization:
- Actors: Create custom actors for specialized AI interactions
- Interpreters: Add support for new programming languages
- Storage Providers: Implement custom storage solutions
- Authentication Providers: Integrate with identity providers
- UI Components: Create custom UI components for the web interface
Use Cases
1. AI-Assisted Development
Use the IntelliJ plugin or web interface to:
- Generate code from natural language descriptions
- Refactor existing code with AI assistance
- Get explanations and documentation for complex code
- Fix bugs and implement features with AI guidance
2. Automated Task Planning
Use the planning framework to:
- Break down complex development tasks into manageable steps
- Generate implementation plans with proper dependencies
- Execute tasks with AI assistance
- Visualize and track progress
3. Knowledge Management
Use the platformβs knowledge tools to:
- Extract structured data from documentation
- Create searchable knowledge indexes
- Generate documentation from code
- Visualize document relationships
4. Code Analysis and Review
Leverage AI for:
- Security vulnerability detection
- Performance optimization suggestions
- Code quality metrics
- Architecture analysis
- Dependency management
Support and Resources
- π Documentation: Full documentation
- π‘ Examples: Sample projects and use cases
- **π¬ Community **: Discord Server | GitHub Discussions
- π Issue Tracking: GitHub Issues
- π§ Contact: Email Support
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Code of Conduct
- Development setup
- Submitting pull requests
- Reporting issues
- Feature requests
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details. As open source software, you are free to use, modify, and distribute the code according to the terms of the license.
Acknowledgments
- OpenAI, Anthropic, and other AI providers for their powerful models
- JetBrains for the IntelliJ platform
- The open-source community for various libraries and tools used in the project
- All contributors who have helped improve Cognotik
Roadmap
See our public roadmap for upcoming features and improvements.
Made with β€οΈ by the Cognotik Team