Skip to content

Config mismatch: 'know config set' doesn't affect runtime configuration #92

@jordanpartridge

Description

@jordanpartridge

Problem

The know config set embeddings.url command saves to ~/.knowledge/config.json, but the actual EmbeddingService reads from Laravel's config which uses env vars (QDRANT_EMBEDDING_SERVER).

This means:

  • know config set embeddings.url http://remote:8001 appears to work
  • know config shows the new value
  • But know add still uses the default http://localhost:8001 because the JSON config file is never loaded into the Laravel config at runtime

Steps to Reproduce

  1. know config set embeddings.url http://10.0.3.199:8001
  2. know config shows the new URL
  3. know add "Test" --content="test" --category="test"
  4. Fails with EmbeddingException because it's still trying localhost:8001

Expected Behavior

The know config set command should either:

  1. Set the env var persistently (in a .env file or similar)
  2. Or the app should load ~/.knowledge/config.json at boot and merge it into the Laravel config

Current Workaround

Export the env var manually:

export QDRANT_EMBEDDING_SERVER="http://10.0.3.199:8001"

Related Files

  • app/Providers/AppServiceProvider.php line 52-54 - reads from config('search.qdrant.embedding_server')
  • config/search.php - uses env('QDRANT_EMBEDDING_SERVER', 'http://localhost:8001')
  • app/Commands/KnowledgeConfigCommand.php - saves to JSON file

Version

v1.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions