Closes #15, #22, #24, #25. Closes #1 and #27 (already shipped in 0.2.0). ## CI/CD (#22) - .forgejo/workflows/ci.yml — Python lint (ruff) + pytest + Vue typecheck + vitest on every PR/push. Installs cf-core from GitHub mirror for the CI runner. - .forgejo/workflows/release.yml — Docker build/push (api + web) to Forgejo registry on v* tags; git-cliff changelog; multi-arch amd64+arm64. - .forgejo/workflows/mirror.yml — push to GitHub + Codeberg mirrors. ## Self-hosted installer (#25) - install.sh rewritten to match CF installer pattern: coloured output, named functions, --docker / --bare-metal / --help flags, auto-detect Docker/conda/ Python/Node/Chromium/Xvfb, license key prompting with format validation. ## Nginx docs (#24) - docs/nginx-self-hosted.conf — sample nginx config: SPA fallback, SSE proxy (proxy_buffering off), long-term asset cache headers. - docs/getting-started/installation.md — bare-metal install section with nginx setup, Chromium/Xvfb note, serve-ui.sh vs nginx trade-off. ## cf-orch agent (#15) - compose.override.yml — cf-orch-agent sidecar service (profiles: [orch]). Starts only with docker compose --profile orch. Registers with coordinator at CF_ORCH_COORDINATOR_URL (default 10.1.10.71:7700). - .env.example — CF_ORCH_URL / CF_ORCH_COORDINATOR_URL comments expanded. ## Docs - mkdocs.yml + full docs/ tree (getting-started, reference, user-guide) staged from prior session work. Bump version 0.2.0 → 0.3.0.
56 lines
1.8 KiB
Markdown
56 lines
1.8 KiB
Markdown
# Searching
|
|
|
|
## Basic search
|
|
|
|
Type a query and press **Search**. Snipe fetches listings from eBay and scores each seller in parallel.
|
|
|
|
Result count depends on the **Pages to fetch** setting (1 page = up to 200 listings). More pages means a more complete picture but a longer wait.
|
|
|
|
## Keyword modes
|
|
|
|
The must-include field has three modes:
|
|
|
|
| Mode | Behavior |
|
|
|------|---------|
|
|
| **All** | Every term must appear in results (eBay AND search) |
|
|
| **Any** | At least one term must appear (eBay OR search) |
|
|
| **Groups** | Comma-separated groups, each searched separately and merged |
|
|
|
|
Groups mode is the most powerful. Use it to search for variations that eBay's relevance ranking might drop:
|
|
|
|
```
|
|
16gb, 32gb
|
|
RTX 4090, 4090 founders
|
|
```
|
|
|
|
This sends two separate eBay queries and deduplicates the results by listing ID.
|
|
|
|
## Must-exclude
|
|
|
|
Terms in the must-exclude field are forwarded to eBay on re-search. Common uses:
|
|
|
|
```
|
|
broken, parts only, for parts, untested, cracked
|
|
```
|
|
|
|
!!! note
|
|
Must-exclude applies on re-search (it goes to eBay). The **Hide listings: Scratch/dent mentioned** sidebar filter applies instantly to current results using Snipe's own detection logic, which is more comprehensive than eBay's keyword exclusion.
|
|
|
|
## Filters sidebar
|
|
|
|
The sidebar has two sections:
|
|
|
|
**eBay Search** — settings forwarded to eBay on re-search:
|
|
- Category filter
|
|
- Price range (min/max)
|
|
- Pages to fetch
|
|
- Data source (Auto / API / Scraper)
|
|
|
|
**Filter Results** — applied instantly to current results:
|
|
- Min trust score slider
|
|
- Min account age / Min feedback count
|
|
- Hide listings checkboxes
|
|
|
|
## Saved searches
|
|
|
|
Click the bookmark icon next to the Search button to save a search with its current filter settings. Saved searches appear in the **Saved** view and can be re-run with one click, restoring all filters.
|