TabbyML / tabby

Self-hosted AI coding assistant
https://tabby.tabbyml.com/
Other
18.32k stars 774 forks source link

Local docker is running, but no suggestion in VSCode #308

Closed islent closed 11 months ago

islent commented 11 months ago

Status of tabby: image image image image image

There is no suggestions from tabby: image

icycodes commented 11 months ago

Hi, could you please try the following:

  1. Test if the server can give a response as expected: Open http://localhost:8080, select localhost server, expand v1/completion click Try it out then Execute. Wait for response.
  2. Enable VSCode extension debugging log for trouble shotting: Create a $HOME\.tabby\agent\config.toml and add settings:
    [logs]
    level = "debug"

    Reproduce the problem and you will find debug logs in the path $HOME\.tabby\agent\logs\.

islent commented 11 months ago

API response is working: image

I'm following step-2 image and find the log telling me that the config was missing yesterday. However, the problem still exist since I've already copy the config file to .tabby/agent/ image

Here's my full debuggnig log: image It seems code completion request is not triggered in VSCode.

By the way, in the documentation the config file is under .tabby/. Should that be updated? image

icycodes commented 11 months ago

File ~/.tabby/config.toml is for server, and ~/.tabby/agent/config.toml is for client agent(IDE plugins). They are not the same file.
The config file is optional. The error Failed to load config file can be ignored safely.

If there is no log about API request to v1/completion, the problem is likely why VSCode is not triggering completion.
Tabby completion is based on VSCode inline completion engine. In most cases, completion should be trigger after you stop typing. I am not sure if there is any other settings change this behavior.
Could you check settings about inline completion or any other extensions that provide or modify inline completion? You can search them in settings by completion, suggestion or inline. Such as this config may result inline completion not triggering:

Screenshot 2023-07-23 223809
John-H-Smith commented 11 months ago

Hi @icycodes, same issue persists for me. I executed a curl from my computer, there's a response. While typing in VSCode, no request is logged to my access log of the reverse proxy, but with the curl it is. So, the extension is not firing the POST for sure. As I am using other extensions which will suggest (but not for JS in my case), I cannot disable all of them. Can you ensure the current version of the extension is working? (my version is v0.2.1)

icycodes commented 11 months ago

Hi @icycodes, same issue persists for me. I executed a curl from my computer, there's a response. While typing in VSCode, no request is logged to my access log of the reverse proxy, but with the curl it is. So, the extension is not firing the POST for sure. As I am using other extensions which will suggest (but not for JS in my case), I cannot disable all of them. Can you ensure the current version of the extension is working? (my version is v0.2.1)

Hi, @John-H-Smith.

Version 0.2.1 is the latest version and should work as intended.

It is not very recommended to use Tabby and other code suggestion providers together, but Tabby can still work with them. I tested Tabby extension in my environment with GitHub Copilot enabled at the same time, and they all worked.

I am still looking into this problem, trying to find what causes the completion request not to be triggered. Could you please provide more information, such as agent debugging logs, and which other extensions and their config you are using?

John-H-Smith commented 11 months ago

@icycodes thanks for your answer! Here you go with the agent debug log:

{"level":50,"time":1690195877077,"pid":39499,"hostname":"fhw","component":"ConfigFile","client":"Visual Studio Code desktop 1.80.1, TabbyML.vscode-tabby 0.2.1","error":{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/john/.tabby/agent/config.toml"},"msg":"Failed to load config file"}
{"level":20,"time":1690196022376,"pid":39499,"hostname":"fhw","component":"TabbyAgent","client":"Visual Studio Code desktop 1.80.1, TabbyML.vscode-tabby 0.2.1","api":"health","request":{},"msg":"API request"}
{"level":20,"time":1690196022447,"pid":39499,"hostname":"fhw","component":"TabbyAgent","client":"Visual Studio Code desktop 1.80.1, TabbyML.vscode-tabby 0.2.1","api":"health","response":{"model":"TabbyML/SantaCoder-1B","device":"cpu","compute_type":"auto"},"msg":"API response"}

Those are my extensions:

ajmnz.swagger-jsdoc-indent-0.0.7
bmewburn.vscode-intelephense-client-1.9.5
brapifra.phpserver-3.0.2
chakrounanas.turbo-console-log-2.9.6
christian-kohler.npm-intellisense-1.4.4
codeium.codeium-1.2.53
dbaeumer.vscode-eslint-2.4.2
eliean.vscode-svn-0.1.0
esbenp.prettier-vscode-9.19.0
extensions.json
github.copilot-1.98.275
github.vscode-pull-request-github-0.68.1
gitlab.gitlab-workflow-3.68.4
johnstoncode.svn-scm-2.17.0
keno.uikit-3-snippets-1.4.4
mintlify.document-2.2.1
ms-ceintl.vscode-language-pack-de-1.80.2023071209
ms-playwright.playwright-1.0.15
ms-vsliveshare.vsliveshare-1.0.5877
pranaygp.vscode-css-peek-4.4.1
redhat.java-1.20.0-linux-x64
redhat.vscode-yaml-1.14.0
remcohaszing.schemastore-1.0.83
ritwickdey.liveserver-5.7.9
stansw.vscode-odata-0.1.0
tabbyml.vscode-tabby-0.2.1
tabnine.tabnine-vscode-3.6.77
vincaslt.highlight-matching-tag-0.11.0
visualstudioexptteam.intellicode-api-usage-examples-0.2.7
visualstudioexptteam.vscodeintellicode-1.2.30
vivaxy.vscode-conventional-commits-1.25.0
vscjava.vscode-java-debug-0.52.0
vscjava.vscode-java-dependency-0.23.0
vscjava.vscode-java-pack-0.25.12
vscjava.vscode-java-test-0.39.0
vscjava.vscode-maven-0.41.0
wongjn.php-sniffer-1.3.0
xabikos.javascriptsnippets-1.8.0

But as far as I can see, the extensions do not have to do anything with this issue (all but tabby are disabled but same problem still).

This is my vscode settings.json:

{
    "git.confirmSync": false,
    "editor.inlineSuggest.enabled": false,
    "bracketPairColorizer.depreciation-notice": false,
    "github.copilot.enable": {
        "*": false,
        "yaml": false,
        "plaintext": true,
        "markdown": false
    },
    "http.systemCertificates": false,
    "workbench.colorCustomizations": {},
    "files.autoSave": "afterDelay",
    "html.format.indentInnerHtml": true,
    "javascript.updateImportsOnFileMove.enabled": "always",
    "tabnine.experimentalAutoImports": true,
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "liveServer.settings.donotVerifyTags": true,
    "githubPullRequests.pullBranch": "never",
    "prettier.singleQuote": true,
    "prettier.bracketSameLine": true,
    "php.validate.executablePath": "/usr/bin/php",
    "redhat.telemetry.enabled": false,
    "prettier.configPath": "/home/john/.prettierrc",
    "githubPullRequests.createOnPublishBranch": "never",
    "[jsonc]": {
        "editor.defaultFormatter": "vscode.json-language-features"
    },
    "[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features"
    },
    "typescript.updateImportsOnFileMove.enabled": "always",
    "explorer.confirmDragAndDrop": false,
    "typescript.format.semicolons": "insert",
    "typescript.preferences.quoteStyle": "single",
    "editor.insertSpaces": false,
        "editor.detectIndentation": false,
        "tabby.api.endpoint": "http://localhost:8080",
        "tabby.usage.anonymousUsageTracking": true,
        "tabby.codeCompletion": true,
        "accessibility.verbosity.inlineChat": false,
        "editor.tabCompletion": "on"
}

Btw, I am running VSCode on Linux if that matters.

icycodes commented 11 months ago

"editor.inlineSuggest.enabled": false,

@John-H-Smith Thank you for your information. It seems that this configuration disables the inline suggest feature. Tabby relies on the VSCode inline completion engine. Please try to enable this option and see if Tabby works.

John-H-Smith commented 11 months ago

"editor.inlineSuggest.enabled": false,

@John-H-Smith Thank you for your information. It seems that this configuration disables the inline suggest feature. Tabby relies on the VSCode inline completion engine. Please try to enable this option and see if Tabby works.

Alright, seems to work for me. Thanks!

islent commented 11 months ago

"editor.inlineSuggest.enabled": false,

Thank you all very much! My problem is solved!

image