dbx/agents
t8y2 cebb39cb80 feat(completion): add scoped metadata assistant 2026-06-24 00:40:28 +08:00
..
common feat(completion): add scoped metadata assistant 2026-06-24 00:40:28 +08:00
docs feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
drivers fix(mongodb): support legacy indexes and driver mode 2026-06-23 19:47:10 +08:00
gradle/wrapper feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
opengauss feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
scripts fix(agents): preserve migrated release versions 2026-06-23 14:37:58 +08:00
test-support feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
.gitignore feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
README.md feat(completion): add scoped metadata assistant 2026-06-24 00:40:28 +08:00
build.gradle feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
gradlew feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
gradlew.bat feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
settings.gradle feat(agents): move agents into dbx repo 2026-06-23 11:38:16 +08:00
versions.json chore(agents): bump all driver versions 2026-06-23 15:20:48 +08:00

README.md

DBX Agents

Agent drivers for DBX — database support via JDBC and native database drivers.

Each agent runs as a standalone process and communicates with DBX via stdin/stdout JSON-RPC 2.0.

Supported Databases

Agent Database JDBC Driver
access Microsoft Access UCanAccess
dameng 达梦 DM8 DM JDBC
kingbase 人大金仓 KingbaseES KingbaseES JDBC
vastbase Vastbase Vastbase JDBC
goldendb GoldenDB MySQL Connector/J
databend Databend Databend JDBC
databricks Databricks SQL Databricks JDBC
saphana SAP HANA SAP HANA JDBC
teradata Teradata Teradata JDBC
vertica Vertica Vertica JDBC
firebird Firebird Jaybird JDBC
exasol Exasol Exasol JDBC
oceanbase-oracle OceanBase Oracle Mode OceanBase JDBC
gbase8a GBase 8a External GBase 8a JDBC
gbase8s GBase 8s External GBase 8s JDBC
oracle Oracle 10g+ go-ora native agent
oracle-legacy Oracle 11g/12c/18c/19c ojdbc8 (compatibility fallback)
oracle-10g Oracle 10g ojdbc6 (compatibility fallback, JRE 8)
h2 H2 H2 JDBC
snowflake Snowflake Snowflake JDBC
trino Trino (Presto) Trino JDBC
hive Apache Hive Hive JDBC
db2 IBM DB2 DB2 JDBC
informix IBM Informix Informix JDBC
neo4j Neo4j Neo4j JDBC
cassandra Apache Cassandra Cassandra JDBC
bigquery Google BigQuery BigQuery JDBC
kylin Apache Kylin Kylin JDBC
sundb SunDB SunDB JDBC
gaussdb GaussDB GaussDB JDBC
tdengine TDengine taos-jdbcdriver (WebSocket, REST fallback)
yashandb 崖山 YashanDB YashanDB JDBC
xugu 虚谷 XuguDB XuguDB Go native agent
iotdb Apache IoTDB IoTDB JDBC
etcd etcd jetcd

Multi-JRE Support

Most Java agents target JRE 21. Native agents, such as oracle and xugu, do not require a JRE. Agents that still require legacy Java runtimes (e.g. compatibility fallback oracle-10g uses JRE 8) declare their JRE version in the registry. DBX downloads and manages multiple JRE installations automatically.

Build

Requires JDK 8 and 21 (Gradle toolchain auto-downloads if needed).

./gradlew shadowJar
(cd drivers/oracle-go && go build -o agent .)
(cd drivers/xugu && go build -o agent .)

Output JARs are in drivers/{module}/build/libs/. Native agents build from drivers/oracle-go and drivers/xugu.

Local DBX Runtime Test

When changing agents/drivers/<db_type>/ or shared Java agent protocol code, rebuild the target agent and replace the runtime JAR used by the local DBX app:

./gradlew :<db_type>:shadowJar
cp ~/.dbx/agents/drivers/<db_type>/agent.jar ~/.dbx/agents/drivers/<db_type>/agent.jar.bak
cp agents/drivers/<db_type>/build/libs/*-all.jar ~/.dbx/agents/drivers/<db_type>/agent.jar

Restart DBX or disconnect and reconnect the database so the new agent process loads the replacement JAR.

Development

Architecture

DBX Main Process (Rust/Tauri)
    │ stdin/stdout (JSON-RPC 2.0)
    ▼
agent / java -jar dbx-agent-{type}.jar
    │
    ▼
Native driver / JDBC → Database

License

AGPL-3.0