Cognotik: A New FOSS AI Coding Assistant. For JetBrains IDEs

3 days ago 1

Build Version Downloads License logo.svg

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.

# 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

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
  • 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)

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

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

The Cognotik platform follows a modular architecture:

  1. Core Services Layer: Provided by the Core module, handling AI interactions, session management, and data persistence.

  2. Application Layer: Consists of the Web UI Framework and Planning Framework, providing the building blocks for AI-powered applications.

  3. Client Applications: Desktop Application, Web Application, and IntelliJ Plugin, offering different interfaces to access the platform.

  4. 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
  • Java 17 or higher
  • Node.js 16+ (for web application)
  • Gradle 7.6+ (for building)
  • API keys for supported AI providers (OpenAI, Anthropic, etc.)
  1. Download the appropriate package for your platform:

  2. Run the installer and follow the instructions.

  3. Launch the application from your desktop or start menu.

  4. Configure your API keys in Settings → API Configuration.

  1. Clone the repository

  2. Install dependencies:

  3. Configure environment variables:

    cp .env.example .env # Edit .env with your API keys
  4. Start the development server:

  5. Open your browser and navigate to http://localhost:3000

  1. Install from the JetBrains Marketplace:
    • Open IntelliJ IDEA
    • Go to Settings/Preferences > Plugins
    • Search for "Cognotik"
    • Click Install and restart the IDE
  2. Configure API keys:
    • Go to Settings/Preferences > Tools > Cognotik
    • Enter your API keys for the providers you want to use
  1. Clone the repository

  2. Build using Gradle:

  3. For specific components:

    # Desktop application ./gradlew :desktop:build # IntelliJ plugin ./gradlew :intellij:buildPlugin # Web application cd webapp npm run build
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

The platform provides several extension points for customization:

  1. Actors: Create custom actors for specialized AI interactions
  2. Interpreters: Add support for new programming languages
  3. Storage Providers: Implement custom storage solutions
  4. Authentication Providers: Integrate with identity providers
  5. UI Components: Create custom UI components for the web interface

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

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

We welcome contributions! Please see our Contributing Guide for details on:

  • Code of Conduct
  • Development setup
  • Submitting pull requests
  • Reporting issues
  • Feature requests

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.

  • 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

See our public roadmap for upcoming features and improvements.


Made with ❤️ by the Cognotik Team

Read Entire Article