Skip to content

A modern, feature-rich SSH terminal application built with Electron and React. KEMENT combines traditional SSH functionality with AI-powered assistance to enhance productivity and streamline remote server management.

License

Notifications You must be signed in to change notification settings

enisgetmez/Kement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ KEMENT - AI-Powered SSH Terminal

KEMENT Logo

Version License Linux Electron React

Next-generation SSH terminal with AI assistance

๐Ÿš€ Download โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿค Contributing โ€ข ๐Ÿ’ก Features


โœจ Features

๐Ÿค– AI-Powered Assistant

  • Multi-Provider Support: Integration with Ollama, OpenAI, Google Gemini, and Anthropic Claude
  • Intelligent Command Generation: AI suggests commands based on natural language descriptions
  • Command Explanation: Get detailed explanations for any terminal command
  • Context-Aware Assistance: AI understands your current directory and system state

๐Ÿ” Secure SSH Connections

  • Multiple Authentication Methods: Password, SSH keys, and certificate-based auth
  • Connection Profiles: Save and manage multiple server configurations
  • Session Persistence: Maintain connections across application restarts
  • Encrypted Credential Storage: Secure local storage for sensitive data

๐Ÿ“ Advanced SFTP File Management

  • Drag & Drop File Transfer: Intuitive file upload/download
  • Remote Directory Navigation: Browse remote filesystems with ease
  • Real-time Transfer Progress: Track file operation status
  • Integrated File Editing: Edit remote files directly in the terminal

๐Ÿ’ป Modern Terminal Experience

  • Tabbed Interface: Multiple simultaneous connections
  • Syntax Highlighting: Enhanced readability for commands and outputs
  • Customizable Themes: Cyberpunk aesthetics with dark mode support
  • Responsive Design: Works seamlessly across different screen sizes

โšก Performance & Reliability

  • Real-time Command Execution: Instant feedback and streaming output
  • Session Recovery: Automatic reconnection and state restoration
  • Memory Efficient: Optimized for long-running sessions
  • Cross-platform Compatibility: Built with Electron for Linux support

๐ŸŽจ Screenshots

Main Interface

KEMENT Main Interface

AI Assistant in Action

AI Assistant

SFTP File Manager

SFTP Manager


๐Ÿš€ Installation

Prerequisites

  • Node.js: Version 18 or higher
  • npm: Version 8 or higher
  • Linux: Ubuntu 20.04+ or equivalent

Quick Install (AppImage)

  1. Download the latest AppImage from Releases
  2. Make it executable: chmod +x KEMENT-2.0.0.AppImage
  3. Run: ./KEMENT-2.0.0.AppImage

Build from Source

# Clone the repository
git clone https://github.com/enisgetmez/kement.git
cd kement

# Install dependencies
npm install

# Build the application
npm run build

# Start KEMENT
npm start

Development Setup

# Install development dependencies
npm install

# Start in development mode
npm run dev

# Run tests
npm test

# Build for production
npm run build

# Create AppImage distribution
npm run dist

๐Ÿ”ง Configuration

AI Provider Setup

KEMENT supports multiple AI providers. Configure them through the AI Settings modal:

๐Ÿฆ™ Ollama (Local AI)

{
  "enabled": true,
  "endpoint": "http://localhost:11434",
  "model": "llama3.2:latest"
}

๐Ÿค– OpenAI

{
  "enabled": true,
  "apiKey": "sk-your-openai-key",
  "model": "gpt-4"
}

๐Ÿ”ฎ Google Gemini

{
  "enabled": true,
  "apiKey": "AIza-your-gemini-key",
  "model": "gemini-pro"
}

๐Ÿง  Anthropic Claude

{
  "enabled": true,
  "apiKey": "sk-ant-your-claude-key",
  "model": "claude-3-sonnet-20240229"
}

SSH Connection Profiles

Create and manage connection profiles:

  1. Click the "+" button to add a new connection
  2. Fill in connection details:
    • Name: Friendly name for the connection
    • Host: Server hostname or IP address
    • Port: SSH port (default: 22)
    • Username: SSH username
    • Authentication: Choose password or key-based auth
  3. Save and connect with a double-click

๐Ÿ“š Usage

Basic Operations

Connecting to a Server

  1. Create a new connection profile
  2. Double-click the profile to connect
  3. Start working in the terminal

Using AI Assistant

  1. Click the AI button (๐Ÿค–) on the right side
  2. Type your request in natural language
  3. Get command suggestions and explanations
  4. Execute commands directly from AI responses

File Transfer via SFTP

  1. Right-click on a connection and select "Open SFTP"
  2. Navigate remote directories
  3. Drag files from your local system to upload
  4. Double-click remote files to download or edit

Command Examples with AI

Generate Commands:

  • "show disk usage"
  • "find large files in home directory"
  • "create a backup of nginx config"
  • "monitor system resources"

Get Explanations:

  • Ask AI to explain any command output
  • Understand complex shell scripts
  • Learn about system administration tasks

Advanced Features

Keyboard Shortcuts

  • Ctrl+T: New terminal tab
  • Ctrl+W: Close current tab
  • Ctrl+Shift+F: Open SFTP browser
  • Ctrl+AI: Toggle AI assistant
  • Ctrl+,: Open settings

Session Management

  • Connections persist between application restarts
  • Multiple tabs per connection
  • Automatic reconnection on network issues

๐Ÿ› ๏ธ Development

Architecture

KEMENT is built with modern web technologies:

  • Frontend: React 19 with styled-components
  • Backend: Electron main process with Node.js
  • SSH: ssh2 library for secure connections
  • AI Integration: REST APIs for multiple providers
  • Storage: electron-store for configuration persistence

Project Structure

kement/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/          # React components
โ”‚   โ”œโ”€โ”€ services/           # Business logic and AI providers
โ”‚   โ”œโ”€โ”€ styles/             # Global styles and themes
โ”‚   โ””โ”€โ”€ utils/              # Helper functions
โ”œโ”€โ”€ assets/                 # Images and icons
โ”œโ”€โ”€ dist/                   # Built application
โ””โ”€โ”€ main.js                 # Electron main process

API Integration

KEMENT's AI service architecture supports:

  • Provider Abstraction: Unified interface for all AI providers
  • Configuration Management: Secure credential storage
  • Error Handling: Graceful fallbacks and user feedback
  • Testing Framework: Built-in connection testing

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Start for Contributors

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and test thoroughly
  4. Commit with conventional commits: git commit -m "feat: add amazing feature"
  5. Push to your branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Development Guidelines

  • Follow React best practices and hooks conventions
  • Use TypeScript for new features when possible
  • Write tests for new functionality
  • Maintain the existing code style
  • Update documentation for user-facing changes

๐Ÿ› Bug Reports & Feature Requests

Found a bug or have a feature idea? We'd love to hear from you!


๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • ssh2 library for secure SSH connections
  • Electron framework for cross-platform desktop apps
  • React for the modern user interface
  • AI Providers for intelligent assistance capabilities
  • Open Source Community for inspiration and contributions

๐ŸŒŸ Star History

Star History Chart

If you find KEMENT useful, please give it a โญ on GitHub!


Made with โค๏ธ by Enis Getmez

About

A modern, feature-rich SSH terminal application built with Electron and React. KEMENT combines traditional SSH functionality with AI-powered assistance to enhance productivity and streamline remote server management.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published