367 Commits

Author SHA1 Message Date
Akarshan Biswas
267bbbf77b
feat: add model and mmproj paths to ImportOptions
The `ImportOptions` interface was updated to include `modelPath` and `mmprojPath`. These options are required for importing models and multi-modal projects.
2025-07-02 12:27:13 +07:00
Akarshan Biswas
07d76dc871
feat: Allow specifying mmproj path during model loading
The `loadOptions` interface in `AIEngine.ts` now includes an optional `mmprojPath` property.  This allows users to provide a path to their MMProject file when loading a model, which is required for certain model types.  The `llamacpp-extension/src/index.ts` has been updated to pass this option to the llamacpp server if provided.
2025-07-02 12:27:13 +07:00
Akarshan Biswas
da23673a44
feat: Add API key generation for Llama.cpp
This commit introduces API key generation for the Llama.cpp extension.  The API key is now generated on the server side using HMAC-SHA256 and a secret key to ensure security and uniqueness.  The frontend now passes the model ID and API secret to the server to generate the key. This addresses the requirement for secure model access and authorization.
2025-07-02 12:27:12 +07:00
Akarshan Biswas
31971e7821
(WIP)randomly generate api-key hash each session 2025-07-02 12:27:12 +07:00
Akarshan Biswas
7481fae0df
remove ununsed imports and remove n_ctx key from loadOptions 2025-07-02 12:27:11 +07:00
Thien Tran
d5c07acdb5
feat: add LlamacppConfig for llama.cpp extension to improve settings (#5121)
* add engine settings

* update load options

* rename variable
2025-07-02 12:27:11 +07:00
Akarshan Biswas
742e731e96
Add --reasoning_budget option 2025-07-02 12:27:10 +07:00
Thien Tran
cd36b423b6
add basic model list 2025-07-02 12:27:10 +07:00
Thien Tran
d523166b61
implement delete 2025-07-02 12:27:09 +07:00
Akarshan Biswas
587ed3c83c
refactor OAI request payload type to support image and audio 2025-07-02 12:27:09 +07:00
Thien Tran
ded9ae733a
feat: Model import (download + local import) for llama.cpp extension (#5087)
* add pull and abortPull

* add model import (download only)

* write model.yaml. support local model import

* remove cortex-related command

* add TODO

* remove cortex-related command
2025-07-02 12:27:09 +07:00
Akarshan Biswas
a7a2dcc8d8
refactor load/unload again; move types to core and refactor AIEngine abstract class 2025-07-02 12:27:09 +07:00
Akarshan Biswas
ee2cb9e625
remove override from localOAIEngine and OAIEngine 2025-07-02 12:27:09 +07:00
Akarshan Biswas
bbbf4779df
refactor load/unload 2025-07-02 12:27:08 +07:00
Louis
dc4e592de9
Merge branch 'dev' into release/v0.6.6 2025-07-02 10:43:12 +07:00
Louis
ccffe4ced5
Merge pull request #5669 from menloresearch/release/v0.6.4
Sync Release/v0.6.4 into dev
2025-07-02 10:42:07 +07:00
Faisal Amir
2a0597ff01
Merge branch 'dev' into release/v0.6.6 2025-07-02 10:26:32 +07:00
Louis
0b88d93e18
fix: top_k validation 2025-07-01 16:40:22 +07:00
Louis
db74f2cf3f
fix: check newValue not null 2025-07-01 13:28:30 +07:00
Louis
7b22ba8c54
fix: some of the model settings are not applied 2025-07-01 13:17:32 +07:00
Louis
1e8c9956cd
Merge pull request #5568 from menloresearch/fix/min_p-validation-on-model-load
fix: min p validation on model load
2025-07-01 11:15:35 +07:00
dependabot[bot]
c3b6a08ff3
chore(deps-dev): bump jest and @types/jest
---
updated-dependencies:
- dependency-name: jest
  dependency-version: 30.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: "@types/jest"
  dependency-version: 30.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 18:12:27 +00:00
dependabot[bot]
aa59a70b88
chore(deps-dev): bump rimraf from 3.0.2 to 6.0.1 in /core
---
updated-dependencies:
- dependency-name: rimraf
  dependency-version: 6.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 09:02:19 +00:00
Louis
6be9cb974c
Merge pull request #5395 from menloresearch/dependabot/npm_and_yarn/typescript-5.8.3
chore(deps-dev): bump typescript from 5.7.3 to 5.8.3
2025-06-27 23:35:00 +07:00
Louis
b49619b389
test: cover new changes 2025-06-27 10:41:34 +07:00
Louis
ba4a36dfb3
fix: min-p-validation-on-model-load 2025-06-27 10:34:43 +07:00
Louis
d407ebc4e9
fix: typo 2025-06-25 19:42:22 +07:00
Louis
a7c441ee58
🐛fix: default model settings for jan-nano-128k 2025-06-25 19:36:34 +07:00
dependabot[bot]
5185d19129
chore(deps-dev): bump typescript from 5.7.3 to 5.8.3
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.7.3 to 5.8.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.7.3...v5.8.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 5.8.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 07:56:32 +00:00
Louis
2899d58ad7
🐛fix: llama.cpp default NGL setting does not offload all layers to GPU (#5310)
* 🐛fix: llama.cpp default NGL setting does not offload all layers to GPU

* chore: cover more cases

* chore: clean up

* fix: should not show GPU section on Mac
2025-06-17 15:30:07 +07:00
Louis
1a0f643d87
refactor: clean up repo (#5165)
* chore: remove legacy themes

* refactor: clean up dependencies

* chore: remove cuda 11 dependency - fix linux LD_LIBRARY_PATH

* fix: load models issue on Linux

# Conflicts:
#	src-tauri/src/core/setup.rs

* chore: do not download cuda 11 by default

* chore: remove cuda 11 from installer

* fix: cuda lookup on Linux
2025-06-02 19:03:06 +07:00
Louis
646ba86de8
fix: extension settings are not retained in new sessions (#5154) 2025-05-31 21:28:08 +07:00
Louis
4672754b81
chore: persist assistants settings (#5127)
* chore: assistant settings

* chore: fix model sources issue after deleted models

* chore: assistants as files

* chore: clean up
2025-05-28 19:33:13 +07:00
Louis
942f2f51b7
chore: send chat completion with messages history (#5070)
* chore: send chat completion with messages history

* chore: handle abort controllers

* chore: change max attempts setting

* chore: handle stop running models in system monitor screen

* Update web-app/src/services/models.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* chore: format time

* chore: handle stop model load action

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-22 20:13:50 +07:00
Louis
0627f29059
chore: enable / disable proxy configrations (#5050)
* chore: enable / disable proxy configrations

* Update web-app/src/routes/settings/https-proxy.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update web-app/src/lib/completion.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-21 14:18:25 +07:00
Louis
6676e0ced8
chore: add relocate jan data folder function to new FE (#5043)
* chore: typo

* fix: linter issues

* chore: fix linter

* chore: fix linter

* chore: add relocate data folder
2025-05-21 10:48:10 +07:00
Louis
2dac53e9ca
feat: Jan supports multiple assistants (#5024)
* feat: Jan supports multiple assistants

* chore: persists current assistant to threads.json

* chore: update assistant persistence

* chore: simplify persistence objects
2025-05-20 00:57:26 +07:00
Louis
e9f37e98d1
refactor: remove hardcoded provider names (#4995)
* refactor: remove hardcoded provider names

* chore: continue the replacement
2025-05-15 22:10:43 +07:00
Faisal Amir
852ea84cd8
epic: Jan with new UI/UX (#4964)
* chore: initial new FE setup

* chore: update namespace text-left-panel foreground variable

* chore: enable dynamic mainview color

* chore: remove greetings new chat

* chore: fix chat input style

* chore: simplify hook useAppearance

* chore: enable internationalization

* chore: prepare vn locale

* chore: keyboardshortcut layout

* chore: update keyboard shortcut exclude pathname

* chore: update state active setting route

* chore: fix update theme by system

* chore: handle dynamic primary color

* chore: fix left panel navigation active state and styled item privacy analytic

* chore: reorder general setting being a first

* chore: add function reset appearance

* chore: update scrollbar

* chore: update delete thread with dialog confirmation

* chore: update state dialog inside dropdown menu

* chore: wip thread detail or chat page

* chore: wip model dropdown

* chore: prepare model dropdown select

* chore: update model providers setting

* chore: show provider on model dropdown based isActive toogle

* chore: update layout model provider

* chore: update state active on storage

* chore: update gap of item dropdown model

* chore: update select model base on id

* chore: update edit model capabilities

* chore: add dialog to add model

* chore: update sheet for model setting

* chore: add sheet setting each model

* chore: make dynamic syntax highlight

* chore: fix menu setting appearance theme

* chore: markdown render support emoji

* chore: markdown support latex

* chore: change codeblock default theme

* chore: update ui codeblock

* chore: custom render link taget new window

* chore: fix copy button codeblock

* chore: update accent and desctructive color

* chore: setup user chat message

* chore: prepare some page settings

* chore: simple list extension and prepare mcp, local api, and hardware

* chore: mcp-serve

* chore: MCP server UI

* chore: update local api server config

* chore: adjust chat input

* chore: update local api server log

* chore: prepare hub page

* chore: remove help page

* chore: update mock

* chore: prepare http proxy setting UI

* chore: adjust local api server and title every action

* fix: chore FE package (#4962)

* fix: update command which referred to non-existent web app

* fix: added commented out macos platform for now

* fix: remove the platform name as macos

* fix: remove unnecessary line for platform name in HeaderPage component

* fix: update dev script to specify port 3000 for Vite

* feat: model providers and chat completion

* enhancement: threads performance

* fix: thread content update

* chore: clean up threads

* fix: performance issue with streaming and state loop

* fix: streaming

* fix: react markdow

* feat: extension manager

* chore: add nodePolyfills include path

* chore: improve performance avoid unhandle rejection

* chore: update pre margin bottom

* chore: swith thread should be deafult scroll to bottom

* chore: wip scroll to bottom

* chore: add model loader

* chore: add platform utils

* feat: threads functionality

* chore: setup toaster

* chore: persist threads deletion

* fix: create thread with new message

* chore: create new thread should change route path

* chore: navigate after delet dialog thread

* chore: thread favorites and orders

* chore: dismiss deleting modal on delete

* chore: remove undefined properties

* chore: remove deprecated run step

* chore: fix delete thread

* chore: create empty thread content on started streaming

* chore: correct messages store key

* chore: stuck at generating state

* chore: preapre chat toolbar

* chore: introduce in-memory app state

* chore: update extensions migration logic

* chore: remove redundant extensions migration gate

* chore: message toolbar user and assistant

* chore: add logo gemini

* feat: remote providers with model capabilities

* chore: maintain provider settings

* chore: move speed token into chat input

* chore: temp harcoded model loader

* chore: make chat text selectable and truncate model list

* chore: update shortcut UI

* Feat/implement threads (#4977)

* chore: add fuse.js library for enhanced search functionality

* feat: implement thread filtering with Fuse.js for improved search capabilities

* fix: update the fuseOptions

* feat: add search functionality to LeftPanel and refactor thread retrieval logic

* refactor: optimize thread filtering and improve search functionality in LeftPanel

* fix: more edits

* refactor: remove duplicate import of useAppState in StreamingContent component

* chore: update navigate after delete all thread

* chore: pass prop speedToken from new chat input

* chore: persist provider general settings

* chore: styling search left panel

* chore: cleanup margin

* chore: update size icon

* chore: improve chat input

* chore: imprve list markdown

* chore: animate border

* feat: local model provider work

* chore: persist manually added model

* chore: prepare download management ui and show version on general setting

* chore: improve pre tag

* chore: remove buton install extension and improve light theme download

* chore: add missing hardware information handler

* chore: cleanup small ui

* chore: update default provider settings

* fix: missing fs commands

* chore: correct provider models

* chore: prepare delete model

* chore: handle thinking block

* chore: fix conditional message toolbar

* chore: pophover download select none

* enhancement: add prune mode

* chore: model settings

* chore: bump engine version tauri

* chore: update style thinking

* chore: add indicator and toogle mcp server

* chore: wip hub

* chore: update model settings

* chore: mvp hub

* chore: add function rename title

* chore: update function delete message

* chore: update rename title

* chore: update model settings

* chore: persist MCP configs

* refactor: clean up utils

* chore: add tools to completion request

* chore: clean up

* chore: ignore assets

---------

Co-authored-by: Ivan Leo <ivanleomk@gmail.com>
Co-authored-by: Louis <louis@jan.ai>
2025-05-15 19:38:59 +07:00
Thien Tran
dc23cc2716
Use token.js for non-tools calls (#4973)
* deprecate inference()

* fix tool_choice. only startModel for Cortex

* appease linter

* remove sse

* add stopInferencing support. temporarily with OpenAI

* use abortSignal in token.js

* bump token.js version
2025-05-15 17:11:19 +07:00
Louis
ea88b27593
Merge pull request #4900 from menloresearch/feat/jan-ui-with-tool-use
feat: jan UI with Tool use UX
2025-05-15 17:10:51 +07:00
Louis
cfc49c10ca
chore: fix tests 2025-05-15 17:10:21 +07:00
Louis
ed85ecb1e1
refactor: clean up assistant extension to remove node modules 2025-05-15 17:10:20 +07:00
Louis
1027059a6b
refactor: remove lagecy tools 2025-05-15 17:10:20 +07:00
Louis
72a7157509
feat: Jan Tool Use - MCP frontend implementation 2025-05-15 17:10:20 +07:00
Louis
a85a98f295
chore: fix tests 2025-05-15 17:10:01 +07:00
Louis
68d7dec23b
chore: maintain electron build 2025-05-15 17:10:01 +07:00
Louis
c65a8fde0c
chore: update tests 2025-05-15 17:10:00 +07:00
Louis
27e85010d4
chore: fix fs api 2025-05-15 17:09:59 +07:00
Louis
85389aec68
chore: update native apis 2025-05-15 17:09:59 +07:00