Proposal: global `search` command across conversations, contacts, messages, and articles
还没有人认领这个 Issue。
评估
调研方向
首先检查现有的按资源划分的搜索命令和 internal/cmd/*_test.go,然后检查 dashboard 搜索端点以及 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:
- 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!
- 主要语言
- Go
- 星标
- 9
- 派生
- 5
- 平均合并
- 2 分钟
- 30 天内合并 PR
- 2
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
chatwoot/cli 的其他 Issue
相似的 Issue
-
feat
难度 1/5 1 小时以内 新手友好度 65/100
ory/hydra-maester#312 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
-
难度 2/5 1-3 小时 新手友好度 78/100