Commit graph

55 commits

Author SHA1 Message Date
igardev
2535f5653e - launch commands fixed
- Agent chat is visualized on opening chat
2025-10-02 14:20:16 +03:00
igardev
fd964e708e
- Menu.ts refactored (#119)
- Bug with editing files by agent fixed
- Menu.ts refactored
2025-10-01 10:04:01 +03:00
igardev
c1edca02c4
Predefined lists and refactoring (#118)
- File menu.ts refactored
- Predefined lists added for completion models, chat models, embeddings models, tools models and for envs
- Bugfixes
- If chat model is not selected, but a tools model is selected, it is used for generating commit messages, editing code with AI and in search_source tool
2025-09-30 19:32:06 +03:00
igardev
1a38de5c3d
Documentation updated (#115)
- xAI Grog4 free (from OpenRouter) added to the initial models
- Chat with AI with project context removed (agent does it better)
- Chat with AI about llama-vscode is now with agent, not using webui
- Agent - new buttons "Tools Model" and "Agent" -  possibility to view the selected model and agent and to change them.
2025-09-21 15:32:57 +03:00
igardev
dff8c28e32
Resolve the problems with the new webui (#114)
- Chat with AI with project context removed (agent does it better)
- Chat with AI about llama-vscode is now with agent, not using webui
- Agent - new buttons "Tools Model" and "Agent" -  possibility to view the selected model and agent and to change them.
- xAI Grog4 free (from OpenRouter) added to the initial models
2025-09-21 12:36:06 +03:00
igardev
042d04df1b
Agent Rules and Commands (#112)
- Added rules - setting agent_rules or llama-vscode-rules.md
- Added agent commands - setting agent_commands/llama-vscode menu "agent commands...". (shortcut for often used prompts, in agent - press "/" and select agent command).
- Generate commit message now checks if there is a running chat model (or endpoint_chat)
2025-09-18 13:42:17 +03:00
igardev
cabf670882
Agent UI with stream (#111)
- In Agent UI the requests the tokens are shown immediately, no when the complete response is received
- Bug fixes for Edit with AI
- tools_custom and context_custom settings are added
- -fa option is removed from huggingface download command
- Add model menu command is replaced with two Add local model and Add external model
2025-09-15 11:49:46 +03:00
igardev
598fedaa3d
Add settings to disable the popups on startup for installing/upgrading llama.cpp (#109)
Setting ask_install_llamacpp added to control if llama-vscode should ask the user to install llama.cpp
Setting upgrade_llamacpp_hours added to control how often llama-vscode should ask the user to upgrade llama.cpp
If the user cancels the llama.cpp installation on startup - llama-vscode suggests to disable the future popups for installation
If the user cancels the llama.cpp upgrade on startup - llama-vscode suggests to disable the future popups for upgrade (sets upgrade_llamacpp_hours to more than 8 years)
2025-09-09 15:08:07 +03:00
igardev
bc39b95828
Environment UI (#106)
Environment UI added
-fa option removed from the llama-server calls
Env extended with agent and some settings (not only models anymore)
2025-09-05 00:59:21 +03:00
igardev
8af7f8ed6a
Fix the problem with endless cycle on refusing to install llama.cpp on startup
- Fix cycle on refusing to install llama.cpp
- Other UX changes
2025-08-28 14:25:08 +03:00
igardev
c26950cb2e
Chats, separate view (#100)
- Changes history added
- Chats could be selected, deleted, exported, imported
- llama-vscode UI (agent) is shown in a separate view now, not as part of Explorer view.
2025-08-27 12:48:37 +03:00
igardev
838311659a
fix for starting completion model twice (#98) 2025-08-18 23:38:53 +03:00
igardev
08c0a22a73
Agent entity added (#97)
- Agent entity added - agents with different system prompts and default tools could be selected
- Fixed showing tables in llama agent
- Local envs with gpt-oss 20B added (also available for import from here )
2025-08-18 10:48:55 +03:00
igardev
6e46e719af
Fixed bug in case no env selected
- Fixed a bug in case no env selected
- Docu updated
- Setting env_start_last_used added to start automatically the last used env on startup
2025-08-16 12:38:32 +03:00
igardev
6d5c3f0c79
Remove envs with gpt-oss agent local use (#94)
* Increase the space for llama agent, 

* fix a bug for showing llama-agent.

* Update the documentation for llama-vscode

* Envs with local gpt-oss for agent removed
2025-08-15 12:53:34 +03:00
igardev
3ed9ef7585
Improve llama agent (#93)
Llama Agent UI improved
Chat with AI about llama.vscode added
Markdown is used in llama agent for better visualization
Orchestra is renamed to env
2025-08-14 17:11:56 +03:00
igardev
d55a8c5c0a
Remove typescript module from the source code. (#91) 2025-08-11 18:32:37 +03:00
igardev
8e0531f906
Add models from huggingface (#89)
* Adding a model from huggingface implemented

* Tool llama_vscode_help is added
2025-08-11 17:40:11 +03:00
igardev
61d1de7a07
Improvements for Llama Agent, introduction of Orchestra concept. (#84)
Llama Agent UI improved - look and feel, statuc, etc.
New menus for managing completion models, chat models, embeddings models and tools models
Concept of selected models - for completion, chat, embeddings and tools
Orchestra concept introduced. Orchestra is a group of models. Starting(selecting)/stopping orchestra starts(selects)/stops all the models
Import/Export orchestra and models from/to file implemented
OpenAI gpt-oss 20B added as a local one in tools models and chat models
Predefined Orchestras for different use cases - only completion, chat + completion, chat + agent, etc.
2025-08-07 23:04:56 +03:00
igardev
e49bb9f128
Agent support added (#79)
- Llama Agent UI in Explorer view
- OpenRouter API model selection (assumes your OpenRauter key is in setting Api_key_tools)
- MCP Support
- 9 internal tools available for use
- custom_tool - returns the content of a file or a web page
- custom_eval_tool - write your own tool in Typescript/javascript
- Attach the selection to the context
- Configure maximum loops for Llama Agent
2025-08-01 15:59:16 +03:00
igardev
019f8a52b5
feat: improve completion function by handling tabs as well as spaces (#73)
- Enhanced the `removeLeadingSpaces` function to account for tabs in addition to spaces

Co-authored-by: igardev <ivailo.gardev@akros.ch>
2025-05-27 11:35:03 +03:00
igardev
b559e3d08f
feat: added RAG enable/disable setting and menu item (#70)
Co-authored-by: igardev <ivailo.gardev@akros.ch>
2025-05-20 14:48:36 +03:00
igardev
4e4a5ccb6a
Fixes and improvements (#67)
* feat: enhance text editor functionality
- Added methods to expand selection to full lines
- Implemented functions to remove leading spaces from text
- Added functions to add leading spaces to text

* fix: don't send requests for updating the context if the completions are disabled

* refactor: remove unused code and optimize performance
- Removed duplicate code and optimized performance in `architect.ts` and `text-editor.ts`

* feat: add RAG configuration option `rag_max_files` to limit the number of files indexed for RAG search
2025-05-20 06:33:08 +03:00
Georgi Gerganov
80808eb276
release : v0.0.11 2025-05-16 14:48:57 +03:00
igardev
6ab5113983
feat: reuse received embeddings (#64)
* fix: update cosine similarity logic

- Updated cosine similarity function to use chunk.embedding instead of getting embedding again
- Fixed edge case where chunk.embedding is empty

* feat: update menu items
- Added "Start all models" item with description
2025-05-15 18:06:14 +03:00
igardev
8be731ad7e
Add api key for chat server and embeddings server (#62)
* feat: update chat edit text prompt

- Improve formatting for instructions and original text
- Remove redundant chunks section
- Navigate to the first difference after opening diff panel

* feat: update configuration options for llama.cpp server API keys

- Added `llama-vscode.api_key_chat` and `llama-vscode.api_key_embeddings` configuration options
- Updated `llama-vscode.api_key` to use new key names
- Edit with AI - don't send chunks, navigate to the first change in the diff panel

* bug: update API key configuration
- Updated API key configuration for chat and embeddings endpoints

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>
2025-05-11 11:15:00 +03:00
adfnekc
3a5db548df
feat: add commit message generation feature (#58)
* feat: add commit message generation feature

- Implemented a new command to generate git commit messages using AI
- Added a new prompt template for generating commit messages
- Integrated the feature with the VS Code Git extension
![20250507143421_rec_](https://github.com/user-attachments/assets/25f5d1ae-3673-4416-ba52-7615969c1bb3)
2025-05-10 12:39:49 +03:00
igardev
903b3f43d9
fix: don't add --lora option on start llama server command if lora is undefined (#61)
* fix: don't add --lora option if lora_completion or lora_chat is undefined.

* fix: add a check for lora_completion and lora_chat settings not to be string "undefined" before using them.
2025-05-10 10:51:36 +03:00
igardev
d375aedd91
Add RAG search for Ask With AI with project conext (#56)
* Add RAG search for Ask With AI with project conext

* Remove duplicated call for getting context.

* Chat with project supports providing files as context with @ prefix (i.e. @test.cpp)

* Reindex files if rag settings are changed

* Add menu item for starting embedding server on mac.

* Improve excuding the files from .gitignore; reduce the memory usage by BM25 algorith.

* Update file chunks on save improvement, progress bar for calculating embeddings for RAG. search.

* Add prefix llama-vscode for the shortcut commands. This way it is easier to filter them.

* Removed senidng extra context chunks to the chat server.  Show error in case of problem with embeddings server. If embeddings server endpoint is not available - shows message and uses only BM25 filtering.

* Typing error fix in translations

* style : fix whitespaces + disable extra context for chat edit

* config : adjust params

* menu : fix embedding commands

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
2025-05-09 12:35:37 +03:00
igardev
05fcdd4380
Edit selected text (#49)
* Edit a selected text with a command - Ctrl+Shift+e for entering prompt, Tab for accepting the change.

* Code edits - reject the suggestion by pressing Escape

* Prompt for text edit is improved, context menu item for editing selected text added.

* Remove the context from the edit prompt as the output includes part of it; In the diff window show 25 lines before and after the change to facilitate comparison.

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>
2025-04-17 08:31:25 +03:00
igardev
de06d78dc8
Suggestion from the beginning of the line (#48)
If between the cursor and the start of the line there are only spaces and tabs - generate suggestion as if the cursor was at the start of the line.
2025-03-21 07:59:09 +02:00
igardev
e439630a8a
Model training properties (#47)
Training properties are added - launch_training_completion and launch_training_chat for commands for starting training the models.
Also properties lora_completion and lora_chat were added for the location of the .gguf lora files. If not empty - options for lora adapters are added on starting the server from properties launch_completion and launch_chat.
The chat with UI for now can't use Lora adapter. This will require a change in webui.
2025-03-20 10:53:14 +02:00
igardev
74da5804ce
Translate menus and UI messages to supported languages (#41)
* Translate the menu and messages of supported languages
2025-03-10 15:12:09 +02:00
igardev
98cb9937da
Chat with AI added with with webui (#38)
* Implement ask ai - open ai chat window from local model with or without project context - from menu or with Ctrl+; or Ctrl+Shift+; (with project context). New property endpoint_chat for the chat server endpoint.

* Add menu items for showing ask AI windows

* Reduce menu items - remove those with 0.5B models

* Remove default value for self-sert file

* various fixes

* Rename ask-ai to chat-with-ai, clear the sent chunks to ai in case the window is closed.

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
2025-03-02 19:09:17 +02:00
igardev
b8a7f39701 Code review issues fixed - removing inunstall for llama.cpp menu item, simplify .gitignore, fix identation in menu.ts. 2025-02-21 13:00:50 +02:00
igardev
a07865abf0 Shorten the menu commands for mac by using presets for fimQwen 2025-02-20 18:07:06 +02:00
igardev
6da3913276 Use the port from extension property "endpoint" when starting llama.cpp server from the menu 2025-02-20 18:07:06 +02:00
igardev
7d15f05fda - Add menu items for mac for only CPU cases
- Shortcut for showing menu - ctrl+shift+m
2025-02-20 18:07:06 +02:00
igardev
ade8e8ab4a Limit the execution of the shell commands to the VS Code terminal (no external terminal) 2025-02-20 18:07:06 +02:00
igardev
5f9b13f6cc Add interval in the template for mac shell commands. 2025-02-20 18:07:06 +02:00
igardev
82b584beed Add property external_terminal to determine if llama.cpp server should be started inside VS Code terminal or in external one. 2025-02-20 18:07:06 +02:00
igardev
7865745c8b Make menu items platform dependent. 2025-02-20 18:07:06 +02:00
igardev
1733658947 Add menu item for mac for installing, downloading the model and starting llama.cpp server 2025-02-20 18:07:06 +02:00
igardev
0cea36144e Draft version of starting llama.cpp server from vs code 2025-02-20 18:07:06 +02:00
igardev
6dde54307e Refactor Architect class - split it into serveral classes and move some methods elsewhere. 2025-02-10 08:00:45 +02:00
Georgi Gerganov
92efd37d81
core : fix extra-context requests (#26) 2025-02-08 16:58:14 +02:00
Georgi Gerganov
7139945e73
cont : cleanup (#16) 2025-02-08 09:10:21 +02:00
ohmeow
f2fc58306a
endpoints : add experimental OpenAI support (#16)
* initial openai compatible api endpoint integration

* fix watch

* added openAiClientModel to config; tested with local vllm server

* fixed config and completions to work with FIM models by default

* remove unnecessary try catch

* core : remove repeating suffix of a suggestion + fix speculative FIM (#18)

* Remove repeating suffix of a suggestion

* If linesuffix is empty - cut the repeating suffix of the suggestion.

* If there is a linesuffix, suggest only one line, don't make hidden second request

* Fix the caching of the future suggestion in case of max inputPrefix length.

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>

* core : disable trimming of suggestions

* release : v0.0.6

* readme : add CPU-only configs

* fixed configuration/settings UI

* fixed conflicts

* fix watch

* fixed

* fixes

* update version

* readme : add example

* core : fix cutting the lines of a suggestion (#22)

* Fix the problem with cutting the lines of a suggestion after the first one.

* Remove the less important checks on cutting the suggestion.

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>

* Fix manual trigger without cache + accept always on pressing a Tab (#25)

* Ensure Ctrl+Shift+L always makes a new request to the servers.

* If a suggestion is visible - pressing a Tab always accepts it.

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>

* fixed conflicts

* fix watch

* fixed

* fixes

* initial openai compatible api endpoint integration

* added openAiClientModel to config; tested with local vllm server

* fixed config and completions to work with FIM models by default

* fixed

* make api key optional for openai compatible endpoints as well

* updated to work with llama.cpp without api key

* removed this.handleOpenAICompletion() call from prepareLlamaForNextCompletion per @igardev

* updated package-lock.json after build

---------

Co-authored-by: igardev <49397134+igardev@users.noreply.github.com>
Co-authored-by: igardev <ivailo.gardev@akros.ch>
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
2025-02-08 08:50:42 +02:00
igardev
3ae637e908
Fix manual trigger without cache + accept always on pressing a Tab (#25)
* Ensure Ctrl+Shift+L always makes a new request to the servers.

* If a suggestion is visible - pressing a Tab always accepts it.

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>
2025-02-07 10:57:44 +02:00
igardev
f3ceafbfbc
core : fix cutting the lines of a suggestion (#22)
* Fix the problem with cutting the lines of a suggestion after the first one.

* Remove the less important checks on cutting the suggestion.

---------

Co-authored-by: igardev <ivailo.gardev@akros.ch>
2025-02-04 21:32:34 +02:00