Louis afbb94f083
efactor app directories and enforce ts strict mode (#201)
* refactor: move Electron app to main directory and enforce ts strict mode

* chore: add pre-install plugins

* remove duplicated initModel function

Signed-off-by: James <james@jan.ai>

* chore: correct module path

* fix: dynamic import does not work with ts

* chore: web should be able to run on target host browser

* fix: history panel, should display conversations rather just blank state

* chore: init default model

* chore: pluggin in ts

* fix: pre-pack model management

* fix: compiled core should not include plugins

* chore: refactor - invoke plugin function

* refactor download/delete file

Signed-off-by: James <james@jan.ai>

* update prebuild lib

Signed-off-by: James <james@jan.ai>

* chore: yarn workspace

* chore: update yarn workspace

* chore: yarn workspace with nohoist

* fix: llama-cpp-import

* chore: fix data-plugin wrong module path

* chore: correct build step

* chore: 	- separate inference service (#212)

- remove base-plugin

Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>

* chore: update core plugins

* chore: hide installation prompt and fix model load - management plugin

* chore: remove legacy files; update readme

* fix: refresh page lost the download state

Signed-off-by: James <james@jan.ai>

* fix: ai prompt not passed to plugin

Signed-off-by: James <james@jan.ai>

* chore: module import fix for production

* chore: auto updater

* chore: package is public

* chore: fix yarn workspace config

* update: model management uses Q4_K_M

* chore: fix yarn scripts for publishing

* chore: app updater - progress update message

* chore: user confirms update action

* adding some state for changing page
store downloaded model to database

Signed-off-by: James <james@jan.ai>

* chore: refactor plugins into yarn workspace - a single command to publish all base plugins

* chore update readme (#218)

Co-authored-by: Hien To <tominhhien97@gmail.com>

* change app name and app icon

Signed-off-by: James <james@jan.ai>

* remove: go-to-nowhere actions

* chore: bundle core plugins from root and scan default plugins

* fix: app crashes on different field name lookup

* chore: css fix

* chore: bind download progress to app ui

* chore: bind active model

* chore: simplify app splash-screen only centered jan icon

* feature: system monitoring plugin (#196)

* feat: Add function for system monitoring

* chore: register plugin functions

* chore: move to corresponding directory

* chore: bind system monitoring data to UI

---------

Co-authored-by: Louis <louis@jan.ai>

* chore: add build:plugins step to README

* chore: model searching and fix model name

* fix: plugin file selected appearance

* fix: create new conversation does not work

* fix: delete conversation not update state - messages still exist

* chore: fix asset path prefix

* Add CICD for macos (#221)

Co-authored-by: Hien To <tominhhien97@gmail.com>

* chore: fix production plugin path

* chore: add shell open url in external browser

---------

Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>
Co-authored-by: NamH <NamNh0122@gmail.com>
Co-authored-by: 0xSage <n@pragmatic.vc>
Co-authored-by: hiento09 <136591877+hiento09@users.noreply.github.com>
Co-authored-by: Hien To <tominhhien97@gmail.com>
Co-authored-by: namvuong <22463238+vuonghoainam@users.noreply.github.com>
2023-09-28 18:15:18 +07:00
2023-08-22 16:57:42 +08:00
2023-09-28 15:13:55 +08:00
2023-09-06 12:39:10 +08:00
2023-08-22 16:57:42 +08:00

Jan - Run your own AI

janlogo

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

Getting Started - Docs - Changelog - Bug reports - Discord

⚠️ Jan is currently in Development: Expect breaking changes and bugs!

Jan lets you run AI on your own hardware, with helpful tools to manage models and monitor your hardware performance.

In the background, Jan runs Nitro, a C++ inference engine. It runs various model formats (GGUF/TensorRT) on various hardware (Mac M1/M2/Intel, Windows, Linux, and datacenter-grade Nvidia GPUs) with optional GPU acceleration.

See the Nitro codebase at https://nitro.jan.ai.

Demo

Jan Web GIF

Plugins

Jan supports core & 3rd party extensions:

  • LLM chat: Self-hosted Llama2 and LLMs
  • Model Manager: 1-click to install, swap, and delete models
  • Storage: Optionally store your conversation history and other data in SQLite/your storage of choice
  • 3rd-party AIs: Connect to ChatGPT, Claude via API Key (in progress)
  • Cross device support: Mobile & Web support for custom shared servers (in progress)
  • File retrieval: User can upload private and run a vectorDB (planned)
  • Multi-user support: Share a single server across a team/friends (planned)
  • Compliance: Auditing and flagging features (planned)

Hardware Support

Nitro provides both CPU and GPU support, via llama.cpp and TensorRT, respectively.

  • Nvidia GPUs (accelerated)
  • Apple M-series (accelerated)
  • Linux DEB
  • Windows x64

Not supported yet: Apple Intel, Linux RPM, Windows x86|ARM64, AMD ROCm

See developer docs for detailed installation instructions.

Installation and Usage

Pre-requisites

  • node >= 20.0.0
  • yarn >= 1.22.0

Use as complete suite (in progress)

For interactive development

Note: This instruction is tested on MacOS only.

  1. Clone the Repository:

    git clone https://github.com/janhq/jan
    git checkout feature/hackathon-refactor-jan-into-electron-app
    cd jan
    
  2. Install dependencies:

    yarn install
    
    # Packing base plugins
    yarn build:plugins
    
  3. Run development and Using Jan Desktop

    yarn dev
    

    This will start the development server and open the desktop app. In this step, there are a few notification about installing base plugin, just click OK and Next to continue.

For production build

# Do step 1 and 2 in previous section
git clone https://github.com/janhq/jan
cd jan
yarn install
yarn build:plugins

# Build the app
yarn build

This will build the app MacOS m1/m2 for production (with code signing already done) and put the result in dist folder.

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file

# From the root, run:
yarn install

yarn build:plugins

yarn dev

See developer docs for guidelines on how to contribute to this project.

License

Jan is free, open core, and Sustainable Use Licensed.

Acknowledgements

Jan builds on top of other open-source projects:

Contact

  • Bugs & requests: file a Github ticket
  • For discussion: join our Discord here
  • For business inquiries: email hello@jan.ai
  • For jobs: please email hr@jan.ai
Description
Languages
TypeScript 54.9%
JavaScript 34.1%
Rust 8.6%
Python 1.5%
Shell 0.4%
Other 0.5%