tree f37b386b0429bd18e8de71eb008da4c869336288
parent dd4c6f3b53d1941b9a3a012fc01fc314536f83ca
author LiuDag <1038678031@qq.com> 1787900314 +0800
committer GitHub <noreply@github.com> 1787900314 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqkTGaCRC1aQ7uu5UhlAAASbgQAEC+jJK/YIqumhfrrwcw5JzR
 XId/JoeTkKnSHf+oYFE/oYeqgghovb6Ve62TBJKLC+udZabvGZKYfxbZAsopHmE7
 uYQiDzJt2/5gpxH19ZyrnaRmaKpSnp1BEJGISxNtaEcdg2H9SWfoaJkbbDhwmjIY
 mTsmo/XEjUSTqSe3pWJjJi5WESNz+oyP3HOueW1azzahj8uSQxKxG6L1CL01A4bB
 wwRF1zEJZLI1xntxuADoVudEGgJQOxuiEIcSQ0hU9/SLNvWpu3eKYhqZru85jv7G
 zXctcKAAjyaBiySO7TlESbn6BSF+xWieCdkNGiTDY7uBh4+43G00bzkfZKIjbhgE
 3DDagRz2SL95SnlkxuinukMwd5LMPYiirSTTY6I67sULsDL74SH3Qiv64o7aQ+CE
 e5fO+7XwWAGB0+mHYvMv/WgV/bJQ5yzxakmr8qk09RqzDUgPtN6Xa8iovTiRwNsT
 tiT3aV/7jQQNDmcmXUxUoCVqoCRVwgJSvDOjFZ/X9xZN+o4UdQaCyjkI+nGz1wz+
 yZtNxVqaRVbAkCaG8pW2CD2iYq9aJ0vmpJTbJWmxm8AgkjuAlX0AwTmjuyGBOnLb
 GgBMpeEom5TwL7uG7kcM35g+z3BtNLxCLeSaS3hknmRo1upoV11TjAzwYQG7xgSg
 9f2blL2JbnV5BsmVhDDy
 =uvYV
 -----END PGP SIGNATURE-----
 

fix(ai): stop advertising semantic_search when no vector search plugin is enabled (#1597)

Fixes #1532.

### Problem

The `semantic_search` MCP tool was always advertised to the model, even
when
no VectorSearch plugin was enabled. The model could select it, the call
reached `EmbeddingService.SearchSimilar`, and every such conversation
logged
`semantic search failed: semantic search is not available: no vector
search
plugin is enabled` — polluting logs and wasting a tool-call round trip
on a
capability that does not exist in the deployment.

### Fix

- `EmbeddingService.Available()` reports whether a VectorSearch plugin
is
  currently enabled.
- `MCPController.SemanticSearchAvailable()` exposes that to the AI chat.
- `getMCPTools()` omits the `semantic_search` tool when unavailable; all
  other MCP tools keep working exactly as before.
- The default AI prompts (zh/en, and admin-custom prompts) drop the
`semantic_search` instruction lines in the same situation, so the model
is
  no longer nudged toward a missing capability.

### Testing

- New unit tests: tool advertisement with/without the capability,
prompt-line
stripping, and prompt adaptation
(`internal/controller/ai_tools_test.go`).
- `go test ./internal/controller/` — all pass.

Co-authored-by: LinkinStars <linkinstar@foxmail.com>