Proposal: global `search` command across conversations, contacts, messages, and articles
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia esaminando i comandi di ricerca esistenti per risorsa e internal/cmd/*_test.go, quindi ispeziona l’endpoint di ricerca della dashboard e internal/sdk/testdata/application_swagger.json. Determina se /search è una superficie API supportata e se, prima dell’implementazione, debba essere un comando di primo livello o un flag. Il lavoro è completato quando la direzione è concordata e il comando tra risorse è coperto da test basati su httptest.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
I'd like to add a top-level chatwoot search "<query>" command that returns matches across conversations, contacts, messages, and help-center articles in one call, with --only=<bucket> to restrict the output. This complements the existing per-resource search (contacts --search, convs --query) with a single cross-resource entry point.
Endpoint
It would call the account-scoped dashboard search endpoint:
GET /api/v1/accounts/{account_id}/search # all four buckets
This is what the Chatwoot dashboard's global search uses (Api::V1::Accounts::SearchController). Two questions before I open the PR:
- Is
/searcha supported API surface for the CLI to depend on? It isn't in the published OpenAPI spec (internal/sdk/testdata/application_swagger.jsononly lists/contacts/search), so I'd cover it withhttptest-based tests rather than the swagger contract harness — matching the existinginternal/cmd/*_test.go. Happy to add the path to the bundled spec instead if you'd prefer to treat it as official. - Top-level command vs. flag? A new top-level
searchreads naturally for cross-bucket search, but it overlaps conceptually withcontacts --search/convs --query. Would you prefer a top-level command, or a different shape?
Follow-up (separate PR)
A second, optional PR adds date-range filtering (--after / --before / --on, --tz) mapping to since / until query params on /search. Heads-up: those params are also dashboard-internal (not in the published spec) and only take effect when the account has the advanced_search feature — so it's cleanly separable and easy to defer.
Both PRs are ready to open once you confirm the direction. Thanks!
- Lingua principale
- Go
- Stelle
- 9
- Fork
- 5
- Merge medio
- 2m
- PR unite (30g)
- 2
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di chatwoot/cli
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 48/100
Tutte le issue di chatwoot/cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/rocketmq-dashboard#7243 ·
I maintainer di solito rispondono entro 3 giorni
-
Missing example coverage: getClockForse già presa @camunda-sdk-automation l’ha presa oggi. Apertanew-operations
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
camunda/orchestration-cluster-api-go#75 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[schema-coverage] elasticstack_kibana_security_entity_store_statusForse già presa @github-actions l’ha presa oggi. Apertaacceptance-tests phase-coding schema-coverage testing triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
elastic/terraform-provider-elasticstack#5396 ·
I maintainer di solito rispondono entro 1 giorno
-
Go device SDK: Whisper transcriber keeps buffering and transcribing audio appended after Stop()Forse già presa @apoorvdarshan l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
BasedHardware/omi#22770 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug v3
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno