3 điểm bởi guavatak 25 ngày trước | 2 bình luận | Chia sẻ qua WhatsApp

Xin chào mọi người trên GeekNews.
Xin giới thiệu NeoSQL, công cụ đang được phát triển để bạn có thể xử lý mọi thứ từ thiết kế DB, vận hành đến tích hợp AI trong một nơi duy nhất.
Trong công việc thực tế, việc phải mở riêng công cụ ERD (ERwin/DA#), SQL client (DBeaver/DataGrip/SSMS) và trình tạo mã luôn rất bất tiện, nên tôi đã bắt đầu tự làm công cụ này. Nó hoạt động trên cả desktop (Windows/macOS) và Web.

Đây là công cụ làm gì

  • Mô hình hóa ERD — Forward/Reverse Engineering, tự động nhận diện FK, theo dõi thay đổi schema rồi tự động tạo ALTER DDL
  • SQL Editor — tự động hoàn thành, execution plan, lưới kết quả / mặc định là Manual Commit (ngăn sự cố dữ liệu do AI hoặc thao tác nhầm)
  • Chỉnh sửa chi tiết bảng — chỉnh sửa inline cột/chỉ mục/ràng buộc như bảng tính, tự động chuyển thay đổi thành ALTER DDL
  • Schema Diff — so sánh khác biệt schema giữa DB development/staging/production, và có thể áp dụng có chọn lọc các mục khác biệt (hoặc chuyển thành yêu cầu phê duyệt ERD)
  • Tự động sinh mã (đang phát triển) — dùng template dựa trên Velocity nên có thể tự do tùy biến cho Java/Kotlin/TypeScript/Python + Spring/JPA/MyBatis/Vue, đồng thời có thể chia sẻ template chuẩn của đội nhóm
  • Tích hợp sẵn máy chủ MCP — được thiết kế để xử lý ERD·SQL an toàn trong Claude / Cursor / VS Code

Điểm khác biệt với các công cụ khác

  • Quy trình ERD-First (human-in-the-loop) — khi yêu cầu AI những việc như "hãy thiết kế bảng cho hệ thống nhiều bảng tin", nó không bắn DDL trực tiếp vào DB mà phản ánh thay đổi vào ERD trước, rồi chỉ áp dụng sau khi người dùng xem xét và phê duyệt theo cách human-in-the-loop
  • Cô lập thông tin xác thực — không đặt mật khẩu DB trong file cấu hình AI (.mcp v.v.) mà tham chiếu gián tiếp bằng project ID. Mật khẩu tuyệt đối không bị lộ sang phía ngữ cảnh AI
  • Mặc định Manual Commit — DML do AI thực thi sẽ không tự động commit, người dùng xem kết quả trong SQL Editor rồi tự Commit/Rollback
  • Chế độ Offline/Air-gapped (đang phát triển) — ngay cả trong môi trường bị chặn liên lạc ra ngoài như tài chính hoặc cơ quan công quyền, vẫn có thể dùng toàn bộ tính năng chỉ với desktop độc lập

Mã hóa thông tin kết nối

Thông tin kết nối DB do người dùng nhập được thiết kế để không lộ cho bất kỳ ai.

  • Lưu trữ toàn bộ 17 trường gồm URL, host, port, mật khẩu... được mã hóa bằng AES-256-GCM
  • Khóa mã hóa được quản lý tách biệt bằng AWS KMS — kể cả khi toàn bộ DB máy chủ bị rò rỉ cũng không thể giải mã
  • Ở chế độ desktop offline (đang phát triển), mọi dữ liệu chỉ được lưu cục bộ nên chặn hoàn toàn truy cập từ bên ngoài

Cộng tác nhóm / quản lý quyền hạn

  • Chia sẻ dự án theo nhóm — có thể chia sẻ connection, ERD, query, template giữa các thành viên và cùng làm việc đồng thời
  • Kiểm soát truy cập dựa trên vai trò (RBAC) — tách quyền theo từng vai trò như Owner / Manager / DBA / Member. Ví dụ, có thể giới hạn để một số người dùng chỉ chạy query mà không nhìn thấy thông tin kết nối (host/tài khoản/mật khẩu)
  • Quy trình phê duyệt DDL — người dùng không có quyền sẽ không chạy DDL trực tiếp mà tạo thay đổi trong ERD rồi gửi yêu cầu đến người phê duyệt → khi người phê duyệt xem xét và chấp thuận nội dung thay đổi thì DDL mới được áp dụng. Cách này ngăn chặn về mặt cấu trúc việc tự ý thay đổi schema trên DB production

DB được hỗ trợ

  • MySQL / MariaDB / PostgreSQL / Oracle / SQL Server / SQLite / H2

Chế độ chạy

  • Web App — dùng ngay trên trình duyệt (cho DB public)
  • Desktop (Online) — có thể truy cập cả DB bên trong tường lửa nội bộ
  • Desktop (Offline) (đang phát triển) — hoàn toàn offline, lưu vào file cục bộ

Giá / dùng thử miễn phí

  • Dùng thử miễn phí gói Pro trong 14 ngày ngay khi đăng ký — bắt đầu mà không cần thẻ tín dụng, hết thời gian sẽ tự chuyển sang gói Free mà không tự động thanh toán.
  • Free — 1 project / 1 kết nối DB / 20 bảng ERD, không giới hạn thời gian
  • Basic / Pro / Team — lựa chọn theo quy mô đội nhóm

Định hướng sắp tới

  • Tính năng AI riêng — ngoài MCP, hiện đang phát triển theo hướng cung cấp trực tiếp trợ lý AI tích hợp trong NeoSQL (hỗ trợ viết query, review schema, ngôn ngữ tự nhiên → SQL, v.v.)
  • Hỗ trợ thêm nhiều DBMS hơn — đang chuẩn bị mở rộng phạm vi hỗ trợ sang nhiều DBMS hơn nữa, cũng như các hệ NoSQL như MongoDB / Redis / DynamoDB
  • Mở lại tính năng sinh mã — dự kiến mở lại sau khi cải thiện khả năng sử dụng và hoàn thiện hướng dẫn chi tiết

Giới hạn / chia sẻ thẳng thắn

  • Tôi tự tin về thiết kế bảo mật của MCP, nhưng khả năng tương thích thực tế với nhiều AI client khác nhau vẫn đang tiếp tục được tinh chỉnh
  • Tính năng sinh mã vốn đã được triển khai trước đây, nhưng hiện đang tạm đóng để cải thiện trải nghiệm sử dụng và hoàn thiện tài liệu hướng dẫn chi tiết

Liên kết

Rất mong nhận được phản hồi, đặc biệt là các ý kiến như "mong hỗ trợ thêm DB này", "cần template mã này", hoặc "muốn dùng MCP theo cách này". Nếu bạn để lại bình luận hoặc tạo issue trên tracker ở trên, tôi sẽ phản ánh vào thứ tự ưu tiên.

2 bình luận

 
dieafterwork 24 ngày trước

| "Dữ liệu đã lưu có thể bị khởi tạo lại mà không báo trước."

Nghe thật đáng sợ.

 

Vẫn còn sót lại dòng chữ trước khi phát hành phiên bản chính thức~ Giờ thì đã được lưu trữ an toàn trên đám mây 😆