mirror of
https://github.com/clucraft/PriceGhost.git
synced 2026-04-25 00:36:32 +02:00
Release v1.0.5 - AI model selector, Gotify support, Ollama fixes
New Features: - AI model selector for Anthropic and OpenAI - Per-product AI extraction/verification disable toggles - Gotify self-hosted notification support with connection testing - AI stock status verification for variant products Fixes: - Ollama thinking mode (/nothink message, num_ctx: 16384) - AI now returns out_of_stock for pre-order/coming soon items Documentation: - Added recommended models: Claude Haiku 4.5 and Qwen3 - Added Gotify setup instructions - Updated API reference with new endpoints Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
84d088a8d1
commit
1f668239bd
4 changed files with 64 additions and 5 deletions
37
CHANGELOG.md
37
CHANGELOG.md
|
|
@ -5,6 +5,42 @@ All notable changes to PriceGhost will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.0.5] - 2026-01-25
|
||||
|
||||
### Added
|
||||
|
||||
- **AI Model Selector** - Choose your preferred AI model in settings
|
||||
- Anthropic: Claude Haiku 4.5, Sonnet 4.5, Opus 4.5
|
||||
- OpenAI: GPT-4.1 Nano, Mini, and Full
|
||||
- Ollama: Any locally installed model
|
||||
- **Per-Product AI Controls** - Disable AI extraction and/or verification on individual products
|
||||
- Useful for products where AI interferes with manual price selection
|
||||
- Separate toggles for extraction (fallback) and verification
|
||||
- **Gotify Notification Support** - Self-hosted push notifications via Gotify
|
||||
- Test connection before saving to verify server URL and app token
|
||||
- Full notification support for price drops, target prices, and stock changes
|
||||
- **AI Stock Status Verification** - Separate AI call to verify stock status for variant products
|
||||
- When tracking a specific variant price, AI now verifies if that exact variant is in stock
|
||||
- Fixes false "in stock" status when other variants are available but tracked variant is not
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Ollama Thinking Mode** - Fixed Qwen3 and DeepSeek models outputting `<think>` tags instead of JSON
|
||||
- Added `/nothink` message before prompts to disable thinking mode
|
||||
- Added `num_ctx: 16384` for proper context window (was truncating HTML at 4K)
|
||||
- Added fallback to strip `<think>` tags from responses
|
||||
- **AI Stock Status "Unknown"** - AI now correctly returns "out_of_stock" for pre-order/coming soon products
|
||||
- Previously returned "unknown" even when reasoning stated product was unavailable
|
||||
- Prompt now explicitly requires "out_of_stock" when product cannot be purchased
|
||||
|
||||
### Changed
|
||||
|
||||
- **Recommended AI Models** - Based on testing:
|
||||
- **Cloud**: Claude Haiku 4.5 (best accuracy for the cost)
|
||||
- **Local/Free**: Qwen3 (any size, with thinking mode disabled)
|
||||
|
||||
---
|
||||
|
||||
## [1.0.4] - 2026-01-24
|
||||
|
||||
### Added
|
||||
|
|
@ -162,6 +198,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
| Version | Date | Description |
|
||||
|---------|------|-------------|
|
||||
| 1.0.5 | 2026-01-25 | AI model selector, per-product AI controls, Gotify support, Ollama fixes |
|
||||
| 1.0.4 | 2026-01-24 | Multi-strategy price voting system with user selection for ambiguous prices |
|
||||
| 1.0.3 | 2026-01-24 | Notification history with bell icon, clear button, and full history page |
|
||||
| 1.0.2 | 2026-01-23 | Fixed stock status false positives for in-stock items |
|
||||
|
|
|
|||
28
README.md
28
README.md
|
|
@ -119,6 +119,7 @@ The cost is minimal (fractions of a cent per API call with Claude Haiku/GPT-4o-m
|
|||
- **Discord** - Send alerts to any Discord channel via webhooks
|
||||
- **Pushover** - Native Pushover support for mobile push notifications
|
||||
- **ntfy.sh** - Simple, no-account push notifications to any device
|
||||
- **Gotify** - Self-hosted push notifications via your own Gotify server
|
||||
- **Per-channel toggles** - Enable/disable each notification channel independently
|
||||
- **Test notifications** - Send test alerts to verify your setup
|
||||
|
||||
|
|
@ -169,7 +170,7 @@ PriceGhost has **site-specific scrapers** optimized for:
|
|||
| **Backend** | Node.js, Express, TypeScript |
|
||||
| **Database** | PostgreSQL |
|
||||
| **Scraping** | Cheerio, Puppeteer (with stealth plugin) |
|
||||
| **AI Extraction** | Anthropic Claude, OpenAI GPT, Ollama (optional but recommended) |
|
||||
| **AI Extraction** | Anthropic Claude (Haiku 4.5 recommended), OpenAI GPT, Ollama Qwen3 (optional but recommended) |
|
||||
| **Charts** | Recharts |
|
||||
| **Auth** | JWT + bcrypt |
|
||||
| **Scheduling** | node-cron |
|
||||
|
|
@ -262,6 +263,12 @@ npm run dev
|
|||
3. Enter your topic name in Settings > Notifications
|
||||
4. No account or API key needed - it just works!
|
||||
|
||||
#### Gotify (Self-Hosted)
|
||||
1. Set up a [Gotify server](https://gotify.net/docs/install) on your own infrastructure
|
||||
2. Create an application in Gotify to get an App Token
|
||||
3. Enter your Gotify server URL and App Token in Settings > Notifications
|
||||
4. Use "Test Connection" to verify before saving
|
||||
|
||||
### AI Extraction Setup (Highly Recommended)
|
||||
|
||||
For dramatically improved compatibility with difficult sites:
|
||||
|
|
@ -271,9 +278,22 @@ For dramatically improved compatibility with difficult sites:
|
|||
3. Choose your provider:
|
||||
- **Anthropic (Claude)** - Get key from [console.anthropic.com](https://console.anthropic.com)
|
||||
- **OpenAI (GPT)** - Get key from [platform.openai.com](https://platform.openai.com/api-keys)
|
||||
- **Ollama (Local)** - Free, runs locally. Install from [ollama.ai](https://ollama.ai), then `ollama pull llama3.2`
|
||||
- **Ollama (Local)** - Free, runs locally. Install from [ollama.ai](https://ollama.ai)
|
||||
4. Enter your API key (or Ollama server URL for local)
|
||||
5. Use "Test Extraction" to verify it works
|
||||
5. Select your preferred model
|
||||
6. Use "Test Extraction" to verify it works
|
||||
|
||||
#### Recommended Models
|
||||
|
||||
Based on testing, these models work best with PriceGhost:
|
||||
|
||||
| Provider | Model | Notes |
|
||||
|----------|-------|-------|
|
||||
| **Anthropic** | Claude Haiku 4.5 | ⭐ Best overall - fast, accurate, cheap (~$0.001/check) |
|
||||
| **Ollama** | Qwen3 (any size) | ⭐ Best free option - run `ollama pull qwen3` |
|
||||
| OpenAI | GPT-4.1 Nano | Good alternative to Haiku |
|
||||
|
||||
**Note for Ollama users**: Qwen3 works well for price extraction and verification. Other models (llama3, mistral, deepseek) may struggle with structured JSON output or have thinking mode issues.
|
||||
|
||||
The AI automatically activates when standard scraping fails to extract a price, providing a reliable fallback.
|
||||
|
||||
|
|
@ -310,6 +330,8 @@ The AI automatically activates when standard scraping fails to extract a price,
|
|||
| POST | `/api/settings/notifications/test/discord` | Send test Discord notification |
|
||||
| POST | `/api/settings/notifications/test/pushover` | Send test Pushover notification |
|
||||
| POST | `/api/settings/notifications/test/ntfy` | Send test ntfy notification |
|
||||
| POST | `/api/settings/notifications/test/gotify` | Send test Gotify notification |
|
||||
| POST | `/api/settings/notifications/test-gotify` | Test Gotify connection before saving |
|
||||
| GET | `/api/settings/ai` | Get AI extraction settings |
|
||||
| PUT | `/api/settings/ai` | Update AI settings |
|
||||
| POST | `/api/settings/ai/test` | Test AI extraction on a URL |
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "priceghost-backend",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.5",
|
||||
"description": "PriceGhost price tracking API",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "priceghost-frontend",
|
||||
"private": true,
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.5",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue