Skip to content

feat: add VectorStore management UI settings page#982

Merged
lyingbug merged 1 commit intoTencent:mainfrom
ochanism:enhancement/1205-4-rebase
Apr 17, 2026
Merged

feat: add VectorStore management UI settings page#982
lyingbug merged 1 commit intoTencent:mainfrom
ochanism:enhancement/1205-4-rebase

Conversation

@ochanism
Copy link
Copy Markdown
Contributor

@ochanism ochanism commented Apr 16, 2026

Overview

Add a settings page for managing VectorStore instances with full CRUD, connection testing, and dynamic form rendering from the /types API.

close #921

Changes

Frontend (frontend/src/):

  • api/vector-store.ts — API wrapper (types + CRUD + test functions)
  • views/settings/VectorStoreSettings.vue — Main settings component (~780 lines)
  • views/settings/Settings.vue — Sidebar menu item + routing
  • i18n/locales/{en-US,ko-KR,zh-CN,ru-RU}.ts — Full i18n with 51 keys per locale

Features:

  • VectorStore list with env store (read-only, DEFAULT tag) and DB store separation
  • Add dialog: engine type selection → dynamic connection/index fields from /types API
  • Edit dialog: name only editable, immutable fields shown as read-only text + info banner
  • Delete with DialogPlugin.confirm
  • Connection test: inline result on cards + pre-save test in dialog
  • Advanced settings: collapsible section with shard/replica scalability options
  • Input bounds: shard fields (1-64), replica fields (1-10), name regex validation
  • Immutable reactive state updates throughout (no direct property mutation)

Backend (minor, from UI testing feedback):

  • GetVectorStoreTypes(): remove postgres/sqlite from types list, simplify display names
  • BuildEnvVectorStores: clean env store names ("PostgreSQL" instead of "postgres (env)")
  • scripts/dev.sh: fix go run for multi-file main package

Core

Key file: frontend/src/views/settings/VectorStoreSettings.vue

  • Dynamic form rendering from /types API (connection_fields + index_fields)
  • fieldLabel() helper with i18n fallback
  • isReplicaField() for shard vs replica input bounds
  • indexNamePattern regex validation on index/collection name fields

Screenshots

image image

Test Plan

  • Frontend build (npm run build) clean
  • Go build + go test clean
  • Manual testing: add/edit/delete stores, connection test, dynamic forms, i18n switching
  • All 4 locales verified (en-US, ko-KR, zh-CN, ru-RU)
  • Edge cases: empty state, long names, validation errors

Related

@ochanism ochanism changed the title [NELO-1205] feat: add VectorStore management UI settings page feat: add VectorStore management UI settings page Apr 16, 2026
@ochanism ochanism force-pushed the enhancement/1205-4-rebase branch 2 times, most recently from 46f7d57 to 673a6f6 Compare April 16, 2026 06:58
@ochanism ochanism force-pushed the enhancement/1205-4-rebase branch from 673a6f6 to 5a845a1 Compare April 17, 2026 01:09
@ochanism ochanism force-pushed the enhancement/1205-4-rebase branch from 5a845a1 to b469594 Compare April 17, 2026 09:13
@ochanism ochanism marked this pull request as ready for review April 17, 2026 09:14
@lyingbug lyingbug merged commit 8fd1d61 into Tencent:main Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Phase 1: VectorStore Entity + Registry Refactoring

2 participants