Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Proposal: global `search` command across conversations, contacts, messages, and articles

オープン
#22 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
go
領域
api, cli

調査の方向性

まず、既存のリソースごとの検索コマンドと internal/cmd/*_test.go を確認し、次にダッシュボードの検索エンドポイントと internal/sdk/testdata/application_swagger.json を調査します。/search がサポート対象の API サーフェスかどうか、また実装前にこれをトップレベルコマンドにするべきか flag にするべきかを判断します。方向性について合意され、リソース横断コマンドが httptest ベースのテストでカバーされれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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:

  1. Is /search a supported API surface for the CLI to depend on? It isn't in the published OpenAPI spec (internal/sdk/testdata/application_swagger.json only lists /contacts/search), so I'd cover it with httptest-based tests rather than the swagger contract harness — matching the existing internal/cmd/*_test.go. Happy to add the path to the bundled spec instead if you'd prefer to treat it as official.
  2. Top-level command vs. flag? A new top-level search reads naturally for cross-bucket search, but it overlaps conceptually with contacts --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!

主要言語
Go
スター
9
フォーク
5
平均マージ
2分
マージ済み PR(30日)
2

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

chatwoot/cli のほかの issue

chatwoot/cli の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。