+
Skip to content

gdmka/jan

 
 

Repository files navigation

Jan - Local AI Assistant

This fork supports text file attachments.

Jan AI

GitHub commit activity Github Last Commit Github Contributors GitHub closed issues Discord

Getting Started˛ - Docs - Changelog - Bug reports - Discord

Jan is an AI assistant that can run 100% offline on your device. Download and run LLMs with full control and privacy.

Installation

The easiest way to get started is by downloading one of the following versions for your respective operating system:

Platform Download
macOS jan.dmg
Windows and Linux builds coming soon

Download from jan.ai or GitHub Releases.

Features

  • Local AI Models: Download and run LLMs (Llama, Gemma, Qwen, etc.) from HuggingFace
  • Cloud Integration: Connect to OpenAI, Anthropic, Mistral, Groq, and others
  • Custom Assistants: Create specialized AI assistants for your tasks
  • OpenAI-Compatible API: Local server at localhost:1337 for other applications
  • Model Context Protocol: MCP integration for enhanced capabilities
  • Privacy First: Everything runs locally when you want it to

Build from Source

For those who enjoy the scenic route:

Prerequisites

  • Node.js ≥ 20.0.0
  • Yarn ≥ 1.22.0
  • Make ≥ 3.81
  • Rust (for Tauri)

Run with Make

git clone https://github.com/menloresearch/jan
cd jan
make dev

This handles everything: installs dependencies, builds core components, and launches the app.

Available make targets:

  • make dev - Full development setup and launch
  • make build - Production build
  • make test - Run tests and linting
  • make clean - Delete everything and start fresh

Run with Mise (easier)

You can also run with mise, which is a bit easier as it ensures Node.js, Rust, and other dependency versions are automatically managed:

git clone https://github.com/menloresearch/jan
cd jan

# Install mise (if not already installed)
curl https://mise.run | sh

# Install tools and start development
mise install    # installs Node.js, Rust, and other tools
mise dev        # runs the full development setup

Available mise commands:

  • mise dev - Full development setup and launch
  • mise build - Production build
  • mise test - Run tests and linting
  • mise clean - Delete everything and start fresh
  • mise tasks - List all available tasks

Manual Commands

yarn install
yarn build:tauri:plugin:api
yarn build:core
yarn build:extensions
yarn dev

System Requirements

Minimum specs for a decent experience:

  • macOS: 13.6+ (8GB RAM for 3B models, 16GB for 7B, 32GB for 13B)
  • Windows: 10+ with GPU support for NVIDIA/AMD/Intel Arc
  • Linux: Most distributions work, GPU acceleration available

For detailed compatibility, check our installation guides.

Troubleshooting

If things go sideways:

  1. Check our troubleshooting docs
  2. Copy your error logs and system specs
  3. Ask for help in our Discord #🆘|jan-help channel

Contributing

Contributions welcome. See CONTRIBUTING.md for the full spiel.

Contributions

The following contributions are attributed to @gdmka.

  • Contribution window: 2025-09-01 02:47:34 +0200 – 2025-09-01 21:33:47 +0200
  • Summary by type (areas):
    • Features/Enhancements: 2 areas (3 commits)
      • File attachments in chat input and message pipeline
      • Full-width display for model names (UI readability)
    • Bug fixes: 1
      • Revert debug behavior in model provider onOpenChange

Detailed entries:

  • 2025-09-01 21:33:47 +0200 — “naive implementation of file attachment”

    • Type: feature
    • Commit: 1dd198a (full: 1dd198ae2be6fec11cdfb9c9b57802a268f7d7aa)
    • Files: 4 | +265 / -96
      • web-app/src/containers/ChatInput.tsx (+238 / -87)
      • web-app/src/hooks/useChat.ts (+4 / -2)
      • web-app/src/lib/completion.ts (+14 / -3)
      • web-app/src/lib/messages.ts (+9 / -4)
    • Key areas: chat composer UI; chat state and completion plumbing; message serialization
    • Significance: enables file uploads from the composer; foundational integration across UI and pipeline
  • 2025-09-01 19:02:30 +0200 — “revert debug setOpen to original onOpenChange”

    • Type: bugfix
    • Commit: c4897b3 (full: c4897b392e84ea7a95e6476acfa73b03ae707141)
    • Files: 1 | +1 / -1
      • web-app/src/containers/DropdownModelProvider.tsx (+1 / -1)
    • Key areas: provider dropdown event handling
    • Significance: restores expected open/close behavior; prevents UI misbehavior introduced by debug code
  • 2025-09-01 02:47:34 +0200 — “add full-width model names” (two commits)

    • Type: enhancement (UI)
    • Commits:
      • 64d12d6 (full: 64d12d6dcbbe5943c074396a8453060992db9701)
      • 35cab335 (full: 35cab3350c3658cfbfe2099a7bef9fbd49acdfe9)
    • Files per commit: 2 | (+9 / -10) each
      • web-app/src/containers/ChatInput.tsx (+2 / -2)
      • web-app/src/containers/DropdownModelProvider.tsx (+7 / -8)
    • Key areas: chat input presentation; provider dropdown layout
    • Significance: improves readability and reduces truncation for long model names

Notes:

  • Counts are derived from git numstat for the specified email.
  • Enhancements are grouped by area for clarity (model name readability delivered via two commits).

Links

Contact

License

Apache 2.0 - Because sharing is caring.

Acknowledgements

Built on the shoulders of giants:

About

Fork of FOSS Jan that supports text file attachments 📝

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 73.6%
  • Rust 10.5%
  • MDX 10.1%
  • Python 2.7%
  • JavaScript 1.7%
  • Shell 0.6%
  • Other 0.8%
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载