Go to file
Meng Zhang a48823592a
feat: add repositoryGrep graphql api (#2182)
* refactor(schema): tabby-schema shouldn't depends on tabby-git

* feat: update repositorySearch API to include rev parameter

The `repositorySearch` API in the GraphQL schema now includes a new optional parameter `rev` which allows specifying a specific revision to search within a repository. This enhancement enables more precise file searching by allowing users to search for files at a specific revision in the repository history.

* feat(webserver): support new graphql api repositoryGrep

* fix(tabby-git): file patterns should be AND-ed for query

* fix-tabby-ui
2024-05-20 00:58:28 +00:00
.changes feat: support retrieve documents with serper.dev api (#2154) 2024-05-17 00:51:28 +00:00
.github feat(ci): add ci checking for the chat panel (#2157) 2024-05-17 04:35:51 +00:00
ci ci: split llama-server and tabby release (#2116) 2024-05-14 02:49:24 +00:00
clients feat(ui): add chat page and integrate with files (#2099) 2024-05-17 08:50:46 -07:00
crates feat: add repositoryGrep graphql api (#2182) 2024-05-20 00:58:28 +00:00
docker ci: fix dockerfile build, llama-server needs to be copied as well (#2117) 2024-05-13 21:01:43 -07:00
ee feat: add repositoryGrep graphql api (#2182) 2024-05-20 00:58:28 +00:00
experimental chore: remove demo deployment with modal 2024-05-03 00:03:09 -07:00
python feat(loadtest): add loadtest tools (#906) 2023-11-28 14:34:00 +08:00
rules refactor(webserver): simplify background job creation. (#2045) 2024-05-03 19:41:38 -07:00
website docs: add --no-webserver for installation flags until we add detailed documentation about setup the webserver (#2181) 2024-05-18 22:35:55 -07:00
.changie.yaml chore: adopt changie for automatic changelog management (#2092) 2024-05-10 15:11:25 -07:00
.dockerignore feat: Add rocm builds and documentation (#1012) 2023-12-13 15:59:04 +08:00
.env refactor(db): Rewrite database code to use sqlx instead of rusqlite (#1340) 2024-02-01 09:38:37 -08:00
.gitattributes chore: exclude ee/tabby-webserver/ui to language stats 2023-11-17 15:50:27 -08:00
.gitignore feat: support use experimental-http device for `--chat-model` (#1537) 2024-02-25 23:27:39 +00:00
.gitmodules feat(webserver, db): refactor gitlab and github integrations into unified integration / third party repository services (#2088) 2024-05-17 18:50:26 +00:00
.rustfmt.toml refactor: rust nightly format (#197) 2023-06-05 14:17:07 -07:00
CHANGELOG.md docs: update CHANGELOG.md for v0.11.1 2024-05-14 23:21:51 -07:00
CODE_OF_CONDUCT.md docs: Create CODE_OF_CONDUCT.md (#1228) 2024-01-24 00:18:32 -08:00
CONTRIBUTING.md docs: update documentation to reflect by default enabling of --webserver in 0.11 2024-05-10 15:31:32 -07:00
Cargo.lock feat: add repositoryGrep graphql api (#2182) 2024-05-20 00:58:28 +00:00
Cargo.toml refactor(git): extract tabby-search to OSS, rename to tabby-git (#2179) 2024-05-18 21:05:38 +00:00
LICENSE Update LICENSE 2024-01-10 23:16:11 -08:00
MODEL_SPEC.md feat(common): Migrate model path to "model.gguf" instead of "q8_0.v2.gguf" (#1847) 2024-04-17 19:38:38 +00:00
Makefile chore: upgrade axum 0.7, hyper 1.1, juniper 0.16. Remove oltp integration (will re-add in future release) (#2031) 2024-05-02 03:43:55 -07:00
README.md feat(ee): add `name` field for user model, add api to update it (#2100) 2024-05-16 09:38:22 -07:00
codecov.yml chore: update codecov.yml 2024-02-08 13:15:46 -08:00
package.json feat(lsp): add example VSCode client for Tabby agent LSP. (#1205) 2024-01-13 08:07:12 -08:00
sgconfig.yml refactor(webserver): ensure only services could rely on tabby_db dire… (#1407) 2024-02-07 19:15:53 +00:00
yarn.lock chore(agent): bump tabby-agent & vsce version to 1.6.0-dev. (#1972) 2024-04-26 17:29:03 +08:00

README.md

🐾 Tabby

📚 Docs💬 Slack Live Demo

latest release PRs Welcome Docker pulls codecov

Tabby is a self-hosted AI coding assistant, offering an open-source and on-premises alternative to GitHub Copilot. It boasts several key features:

  • Self-contained, with no need for a DBMS or cloud service.
  • OpenAPI interface, easy to integrate with existing infrastructure (e.g Cloud IDE).
  • Supports consumer-grade GPUs.

Open in Playground

Demo

🔥 What's New

  • 04/22/2024 v0.10.0 released, featuring the latest Reports tab with team-wise analytics for Tabby usage.
  • 04/19/2024 📣 Tabby now incorporates locally relevant snippets(declarations from local LSP, and recently modified code) for code completion!
  • 04/17/2024 CodeGemma and CodeQwen model series have now been added to the official registry!
Archived
  • 03/20/2024 v0.9 released, highlighting a full feature admin UI.
  • 12/23/2023 Seamlessly deploy Tabby on any cloud with SkyServe 🛫 from SkyPilot.
  • 12/15/2023 v0.7.0 released with team management and secured access!
  • 10/15/2023 RAG-based code completion is enabled by detail in v0.3.0🎉! Check out the blogpost explaining how Tabby utilizes repo-level context to get even smarter!
  • 11/27/2023 v0.6.0 released!
  • 11/09/2023 v0.5.5 released! With a redesign of UI + performance improvement.
  • 10/24/2023 Major updates for Tabby IDE plugins across VSCode/Vim/IntelliJ!
  • 10/04/2023 Check out the model directory for the latest models supported by Tabby.
  • 09/18/2023 Apple's M1/M2 Metal inference support has landed in v0.1.1!
  • 08/31/2023 Tabby's first stable release v0.0.1 🥳.
  • 08/28/2023 Experimental support for the CodeLlama 7B.
  • 08/24/2023 Tabby is now on JetBrains Marketplace!

👋 Getting Started

You can find our documentation here.

Run Tabby in 1 Minute

The easiest way to start a Tabby server is by using the following Docker command:

docker run -it \
  --gpus all -p 8080:8080 -v $HOME/.tabby:/data \
  tabbyml/tabby \
  serve --model TabbyML/StarCoder-1B --device cuda

For additional options (e.g inference type, parallelism), please refer to the documentation page.

🤝 Contributing

Full guide at CONTRIBUTING.md;

Get the Code

git clone --recurse-submodules https://github.com/TabbyML/tabby
cd tabby

If you have already cloned the repository, you could run the git submodule update --recursive --init command to fetch all submodules.

Build

  1. Set up the Rust environment by following this tutorial.

  2. Install the required dependencies:

# For MacOS
brew install protobuf

# For Ubuntu / Debian
apt-get install protobuf-compiler libopenblas-dev
  1. Install useful tools:
# For Ubuntu
sudo apt install make sqlite3 graphviz
  1. Now, you can build Tabby by running the command cargo build.

Start Hacking!

... and don't forget to submit a Pull Request

🌍 Community

  • 🎤 Twitter / X - engage with TabbyML for all things possible
  • 📚 LinkedIn - follow for the latest from the community
  • 💌 Newsletter - subscribe to unlock Tabby insights and secrets

🔆 Activity

Git Repository Activity

🌟 Star History

Star History Chart