README_ES.md
Chat2DB Community es un cliente de bases de datos gratuito y multiplataforma para Windows, macOS y Linux. Se ejecuta por completo en su equipo y combina un espacio de trabajo SQL con todas las funciones con un asistente de IA que usted conecta a su propio modelo.
| Paneles y gráficos | Diagramas ER |
|---|---|
| Gestión visual de datos | Importación y exportación de datos |
|---|---|
Descargue el instalador para su plataforma desde GitHub Releases, instálelo y empiece a conectarse a sus bases de datos. No se requiere ninguna configuración adicional.
Requisitos: Docker 19.03.0 o posterior, Docker Compose 2.0.0 o posterior (Compose V2, solo para la variante con Compose), 2 o más núcleos de CPU, 4 GiB o más de RAM.
Primero cree la clave de cifrado (consulte Clave de cifrado para saber por qué es importante) y, a continuación, inicie el contenedor:
# Ejecútelo una vez desde un checkout del repositorio. Las ejecuciones posteriores reutilizan la misma clave válida.
git clone https://github.com/OtterMind/Chat2DB.git && cd Chat2DB
./script/security/init-community-encryption-key.sh
docker run --detach \
--name chat2db-community \
--restart unless-stopped \
--publish 127.0.0.1:10825:10825 \
--volume "$HOME/.chat2db-community-docker:/root/.chat2db-community" \
--env CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE=/run/secrets/chat2db-community-encryption.key \
--volume "$HOME/.config/chat2db-community/encryption.key:/run/secrets/chat2db-community-encryption.key:ro" \
chat2db/chat2db:latest
Después abra http://localhost:10825 en su navegador.
Como alternativa, use la definición de Compose incluida:
./script/security/init-community-encryption-key.sh
docker compose --file docker/docker-compose.yml up --detach
Notas:
~/.config/chat2db-community/encryption.key entre reconstrucciones.docker run almacena los datos de la aplicación en $HOME/.chat2db-community-docker; la definición de Compose usa el volumen con nombre chat2db-community-data. Estas ubicaciones no comparten datos./root/.chat2db-community y no migra automáticamente los datos de imágenes anteriores que usaban /root/.chat2db.Chat2DB Community es una aplicación local y para un solo usuario. No tiene
cuentas de usuario ni límites de autorización entre usuarios. Mantenga el
servicio HTTP enlazado a 127.0.0.1 o ::1 y no lo exponga a otros usuarios
ni a redes que no sean de confianza.
Los controladores JDBC personalizados son código Java ejecutable: instálelos solo desde fuentes en las que confíe. Los archivos de configuración importados, los archivos comprimidos, los archivos SQL, los contenidos de las bases de datos y las respuestas de la IA siguen siendo datos no confiables. Consulte la Política de seguridad para conocer el límite de confianza completo y el proceso de notificación de vulnerabilidades.
Si este proyecto le resulta útil, ¡regálenos una estrella ⭐️!
<div align="center"> <a href="https://github.com/OtterMind/Chat2DB"></a> </div>Chat2DB Community cifra las contraseñas de fuentes de datos y las claves API de modelos de IA almacenadas con AES-256-GCM usando una clave por instalación. Créela una sola vez desde un checkout del repositorio (requiere openssl):
./script/security/init-community-encryption-key.sh
La clave se escribe en ~/.config/chat2db-community/encryption.key. Haga una copia de seguridad de este archivo por separado y consérvelo entre actualizaciones y reconstrucciones del contenedor: si lo sustituye o lo pierde, las contraseñas de fuentes de datos y las claves API de modelos de IA almacenadas anteriormente dejarán de ser legibles. El inicio en modo web/headless falla cuando no se proporciona una clave válida; solo el modo Desktop crea automáticamente una clave que falte.
La clave debe ser Base64 válido que se decodifique exactamente en 32 bytes. El inicializador incluido genera el formato estándar con relleno: 44 caracteres Base64 terminados en =. Es material criptográfico de clave, no una contraseña legible por humanos. Las contraseñas de fuentes de datos y las claves API de IA usan la misma clave con valores AAD autenticados independientes, por lo que el texto cifrado de un propósito no se puede descifrar como si perteneciera al otro.
Para usar una ruta personalizada, pásela al script y configure la misma ruta al iniciar Chat2DB:
./script/security/init-community-encryption-key.sh /secure/path/chat2db-community.key
java -Dloader.path=chat2db-community-server/chat2db-community-start/target/lib \
-Dchat2db.runtime.mode=community \
-Dchat2db.mode=WEB \
-Dchat2db.gui=false \
-Dchat2db.network.status=OFFLINE \
-Dchat2db.community.encryption-key-file=/secure/path/chat2db-community.key \
-Dserver.address=127.0.0.1 \
-Dserver.port=10825 \
-jar chat2db-community-server/chat2db-community-start/target/chat2db-community.jar
La prioridad del script para la ruta del archivo de clave es: el argumento posicional, CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE y, por último, la ruta predeterminada. El script reutiliza un archivo regular válido, rechaza enlaces simbólicos y archivos no regulares, y se niega a sobrescribir un archivo no válido. Mantenga la clave legible únicamente por el propietario del proceso de Chat2DB.
La configuración de la clave se resuelve en este orden:
chat2db.community.encryption-key que contiene la clave Base64.CHAT2DB_COMMUNITY_ENCRYPTION_KEY que contiene la clave Base64.chat2db.community.encryption-key-file que contiene la ruta de un archivo de clave.CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE que contiene la ruta de un archivo de clave.~/.config/chat2db-community/encryption.key.El primer valor configurado es el autoritativo. Un valor en blanco, Base64 mal formado, una clave que no se decodifica en 32 bytes o un archivo de clave no válido hacen fallar el inicio en lugar de continuar con el origen siguiente. Se recomienda la configuración basada en archivo porque evita colocar el valor de la clave directamente en los argumentos del proceso o en las variables de entorno.
La creación automática del archivo de clave depende de chat2db.mode, no de chat2db.gui. El modo Desktop de Community (chat2db.runtime.mode=community con chat2db.mode=DESKTOP) crea el archivo de clave seleccionado cuando no hay configurada una clave en línea y el archivo no existe. Cualquier modo que no sea Desktop, incluido el inicio web/headless normal, nunca crea una clave que falte y falla hasta que se proporcione o inicialice una clave válida. La clave resuelta se almacena en caché durante la vida del proceso, por lo que cambiar la configuración de la clave requiere reiniciar la aplicación.
git clone https://github.com/OtterMind/Chat2DB.git
Use Yarn con el archivo de bloqueo incluido en el repositorio.
cd Chat2DB/chat2db-community-client
yarn install --frozen-lockfile
yarn run start:community:hot
cd Chat2DB
mvn -B clean package -Dmaven.test.skip=true -Dchat2db.finalName=chat2db-community \
-f chat2db-community-server/pom.xml \
-pl chat2db-community-start -am
./script/security/init-community-encryption-key.sh
java -Dloader.path=chat2db-community-server/chat2db-community-start/target/lib \
-Dchat2db.gui=false \
-Dchat2db.runtime.mode=community \
-Dchat2db.mode=WEB \
-Dchat2db.network.status=OFFLINE \
-Dchat2db.community.encryption-key-file="$HOME/.config/chat2db-community/encryption.key" \
-Dserver.address=127.0.0.1 \
-Dserver.port=10825 \
-Dspring.profiles.active=dev \
-jar chat2db-community-server/chat2db-community-start/target/chat2db-community.jar
./docker/docker-build.sh 5.3.0 chat2db/chat2db:5.3.0
La edición Community contiene el cliente local de bases de datos completo descrito anteriormente, incluido el soporte de modelos de IA personalizados. Las ediciones comerciales Pro y Enterprise se basan en el mismo núcleo y añaden servicios de IA alojados, cuentas de usuario, almacenamiento en la nube y sincronización entre dispositivos, así como funciones de colaboración y gobierno para equipos. Consulte chat2db.ai para más detalles.
Agradecemos los informes de errores, las solicitudes de funciones, las mejoras de documentación, los comentarios sobre pruebas y las pull requests de la comunidad.
Antes de abrir una incidencia o enviar una pull request, lea nuestra Guía de contribución. Explica cómo informar de errores, sugerir mejoras y facilitar la revisión de las contribuciones por parte de los mantenedores.
Gracias a todas las personas que han contribuido a Chat2DB.
<a href="https://github.com/OtterMind/Chat2DB/graphs/contributors"> </a>La versión 5.3.0 y posteriores de Chat2DB Community están disponibles bajo los términos de licencia de este repositorio. Se trata de una licencia de código disponible basada en Apache License 2.0 con condiciones adicionales. Las versiones de Chat2DB publicadas antes de la 5.3.0, incluida la 0.3.7 y las etiquetas históricas anteriores, siguen estando bajo Apache License 2.0.