DBX CLI
Kurulum
npm
npm install -g @dbx-app/cliHomebrew
brew tap t8y2/tap
brew install dbx-clinpm başlatıcısı için Node.js 18.18.0 ya da üstü gereklidir. CLI'nin kendisi better-sqlite3 ya da bir Node.js yerel modül ABI'sine bağlı değildir. Homebrew kullanıcılarının Node.js'i ayrıca yönetmesi gerekmez.
Bağımsız yerel ikili dosya
packages-v* GitHub Sürümü; macOS, Linux ve Windows için yerel CLI arşivleri sunar. Platformunuza uyan arşivi indirin, CLI-SHA256SUMS ile doğrulayın, çıkarın ve dbx komutunu doğrudan çalıştırın. Bağımsız ikili dosyalar Node.js gerektirmez.
tar -xzf dbx-cli-linux-x64-gnu.tar.gz
chmod +x dbx
./dbx --versionÖzel ya da taşınabilir bir DBX veri dizini kullanırken DBX_DATA_DIR değişkenini ayarlayın.
Kurulu sürümü denetleyin:
dbx --versionYaygın Komutlar
dbx doctor
dbx capabilities
dbx connections list --json
dbx connections list --format csv
dbx schema list local --json
dbx schema describe local users --json
dbx query local "select count(*) as total from users" --json
dbx query local "select id, name from users" --format csv
dbx query local "select * from users" --limit 50 --timeout 10s --json
dbx query local --file ./query.sql --json
dbx context local --tables users,orders
dbx open local usersTanılama
Yerel DBX yollarını, bağlantı deposunun sağlığını ve masaüstü köprüsünün kullanılabilir olup olmadığını incelemek için dbx doctor kullanın:
dbx doctor
dbx doctor --jsonİsteğe bağlı platform paketi kurulmamışsa --no-optional olmadan yeniden kurun:
npm uninstall -g @dbx-app/cli
npm install -g @dbx-app/cliHangi veritabanı türlerinin doğrudan sorgulanabildiğini ve hangilerinin şu anda DBX Masaüstü gerektirdiğini görmek için dbx capabilities kullanın:
dbx capabilities
dbx capabilities --jsonCLI ikili dosyası şu anda PostgreSQL, Redshift, MySQL, Doris, StarRocks, Manticore Search, SQLite, rqlite, KWDB ve QuestDB türlerini doğrudan sorgulanabilir olarak listeler. Kurulu sürüm için asıl kaynak dbx capabilities çıktısıdır. Diğer türler; çalışan bir DBX Masaüstü köprüsünü ya da kendi Agent/dış sürücü altyapılarını gerektirir.
Çalıştırma Modları
Yerel Depolama
CLI varsayılan olarak Masaüstü ve MCP'nin kullandığı aynı dbx.db bağlantı deposunu okur. DBX_DATA_DIR, dbx.db dosyasını içeren dizini göstermelidir.
- Doğrudan sorgulanabilir türler Masaüstü kapalıyken de çalışabilir
- Köprü gerektiren türler, Masaüstü'nün çalışmasını ve veri dizinindeki köprü port dosyası aracılığıyla bulunabilmesini gerektirir
- Agent/JDBC, DuckDB ve diğer dış sürücü yolları yine DBX üzerinden kurulmuş bileşenleri gerektirir
dbx openher zaman bir Masaüstü arayüz işlemidir ve uygulama kullanılamadığındaDBX_NOT_RUNNINGdöndürür
DBX Web ve Docker
Yerel bağlantı deposu yerine dağıtılmış bir DBX Web arka ucunu kullanmak için DBX_WEB_URL değişkenini ayarlayın:
DBX_WEB_URL=https://dbx.example.com \
DBX_WEB_PASSWORD='giris-parolaniz' \
dbx connections list --jsonDBX_WEB_PASSWORD, Web giriş parolasıdır. Web modunda bağlantılar, yetkiler, sürücüler ve dosya yolları sunucu ortamına aittir. dbx open yine yerel bir Masaüstü köprüsünü hedefler ve uzak bir Web otomasyon API'si olarak görülmemelidir.
Varsayılan Bağlantı
Sorgu ve bağlam komutlarında bağlantı adını atlamak için DBX_CONNECTION değişkenini ayarlayın:
DBX_CONNECTION=local dbx query "select 1" --json
DBX_CONNECTION=local dbx context --tables users,ordersÇıktı Biçimleri
Kararlı, makine tarafından okunabilir çıktı için --json ya da --format json kullanın. Başka komut satırı araçlarına aktarılacak sorgu, bağlantı ve şema verisi için --format csv kullanın.
dbx query local "select id, name from users" --format csvHatalar stderr'e yazılır ve sıfır olmayan bir çıkış kodu döndürülür.
Sorgu Denetimleri
dbx query, SQL bağlantıları için SQL çalıştırır ve MongoDB bağlantıları için desteklenen Mongo kabuk komutlarını kabul eder. Redis bu komutla çalıştırılmaz; bunun yerine MCP Redis aracını ya da DBX çalışma alanını kullanın. Sorgu modu varsayılan olarak salt okunurdur.
dbx query local "select * from users" --limit 50 --timeout 10s --jsonSüreler ms, s ya da m kabul eder; örneğin 500ms, 10s veya 1m.
Tehlikeli olmayan yazma ifadeleri için --allow-writes kullanın:
dbx query local "update users set name = 'Ada' where id = 1" --allow-writesDROP, TRUNCATE ve ALTER gibi tehlikeli SQL hem --allow-writes hem --allow-dangerous-sql gerektirir. Açık işlem ifadeleri CLI tarafından engellenmeye devam eder; sabitlenmiş çok adımlı oturumlar için MCP durumlu oturumlarını ya da DBX düzenleyicisini kullanın.
Üretim veritabanlarına yapılan yazmalar ve DDL, iki bayrak da verilse bile engellenir. Üretim algılaması, SQL risk sınıflandırması, bağlantının salt okunur koruması ve veritabanı yetkileri bağımsız üst sınırlardır; bayraklar bir üretim atlatması değildir.
Tire ile Başlayan SQL
Tire ile başlayan SQL'den önce -- geçirin:
dbx query local --json -- "-- comment
select 1"Hata Kodları
CLI JSON hataları kararlı kodlar kullanır:
| Kod | Anlamı |
|---|---|
UNKNOWN_OPTION | Desteklenmeyen bir bayrak verildi |
INVALID_OPTION | Bir bayrağın değeri eksik ya da geçersiz |
INVALID_ARGUMENT | Konumsal argümanlar eksik ya da çelişkili |
CONNECTION_STORE_ERROR | DBX bağlantı deposu var ama okunamadı |
CONNECTION_NOT_FOUND | İstenen adla eşleşen DBX bağlantısı yok |
SQL_BLOCKED | SQL güvenlik kuralları çalıştırmayı engelledi |
DBX_NOT_RUNNING | DBX Masaüstü köprüsü kullanılamıyor |
ERROR | Beklenmeyen çalışma zamanı hatası |
Masaüstü Derin Bağlantıları
DBX Masaüstü; istemciyi tarayıcılardan, bastion sunuculardan ya da betiklerden başlatmak için derin bağlantıları destekler.
Başka bir iletişim kutusu açmadan DBX'i başlatın ya da öne getirin:
open 'dbx://open'Bir web düğmesi protokole doğrudan bağlanabilir:
<a href="dbx://open">DBX'te Aç</a>Bağlantı alanları önceden doldurulmuş yeni bağlantı iletişim kutusunu açmak için dbx://connection/new kullanın.
DSN modu:
open 'dbx://connection/new?url=postgres%3A%2F%2Fapp%3Asecret%40db.internal%3A5432%2Forders'Alan modu:
open 'dbx://connection/new?type=mysql&host=127.0.0.1&port=3306&user=root&password=secret&database=test'Desteklenen alanlar:
| Alan | Anlamı |
|---|---|
type | Veritabanı türü; servis türleri arasında etcd, consul, nacos-v2, nacos-v3, r-nacos bulunur |
url | Veritabanı DSN'i; URL kodlaması önerilir |
name | DBX'te görünen ad; verilmezse DBX önce database, sonra host değerini kullanır |
host | Ana makine adı ya da IP adresi |
port | Port |
user | Kullanıcı adı |
password | Parola |
database | Veritabanı adı; Redis için bu 0 gibi bir VT dizini olabilir |
url_params | Ek bağlantı parametreleri, örneğin sslmode=require |
ssl | true olduğunda SSL'i etkinleştirir |
one_time | true olduğunda otomatik bağlanır, bağlantı kesildikten sonra bağlantıyı siler |
Tek seferlik bağlantı örneği:
open 'dbx://connection/new?type=redis&host=127.0.0.1&port=6379&user=default&password=secret&database=0&one_time=true'Nacos ve servis kaydı örnekleri:
open 'dbx://connection/new?type=consul&host=127.0.0.1&port=8500&password=acl-token'
open 'dbx://connection/new?type=nacos-v3&host=127.0.0.1&port=8848&user=nacos&password=secret'
open 'dbx://connection/new?type=r-nacos&url=http%3A%2F%2F127.0.0.1%3A8848%2Fnacos&user=admin&password=secret'nacos, nacos-v2 için; rnacos, r-nacos için takma addır. URL modunda servis uç noktası yolları korunur; üst düzeydeki host, port, user, password ve ssl alanları url içindeki değerleri geçersiz kılar. Consul için password, ACL belirtecidir. password verildiğinde Nacos user alanını gerektirir. v alanını atlamak ya da v=1 kullanmak geçerli derin bağlantı protokolünü seçer; diğer sürümler reddedilir.
dbx:// başlatmalarını test etmeden önce DBX Masaüstü'nü bir kez kurup açın; böylece işletim sistemi URL şemasını kaydedebilir. macOS'ta test etmek için open 'dbx://open' ya da open 'dbx://connection/new?...' kullanın.Codex
Codex, CLI'yi doğrudan kabuk araçlarından çağırabilir:
dbx schema describe local users --json
dbx context local --tables users,orders | codex exec "Write a retention query"Yapay Zekâ Asistanı
Şema bağlamıyla SQL üretmek, veriyi çözümlemek ve denetimli Agent iş akışları çalıştırmak için bulut, uyumlu API ya da yerel CLI modellerini bağlayın.
MCP Tümleştirmesi
Yapay zekâ kodlama agent'larının, DBX'in yönettiği Model Context Protocol politikası içinde meta veri okumasına, veri sorgulamasına ve durumlu oturumlar kullanmasına izin verin.