deploy Nous v19 update

This commit is contained in:
Marco0300
2026-09-05 21:53:29 +02:00
parent 9da3df08ce
commit c2f14edd29
11 changed files with 537 additions and 39 deletions
+43 -2
View File
@@ -8,10 +8,21 @@ the local catalogue, and presents the remaining places for human review.
The interface is split into Dashboard, Discover, Prospects, Runs, and Settings
views. It includes website health and email evidence, explainable scoring,
domain ideas, suppression, CSV export, scheduled runs, rescans, and human review. It never sends outreach
automatically. Optional AI can analyse a prospect and draft a subject/email
from supplied evidence and your offer; you edit and approve the draft yourself.
automatically. The Prospects explorer has an **All high potential** tab and
category tabs populated from each discovery run, with every tab sorted from
highest to lowest opportunity score.
Optional AI can analyse a prospect and draft a subject/email from supplied
evidence and your offer; you edit and approve the draft yourself. Drafts now
also return the reasoning, stored evidence IDs used, facts that still need
confirmation, and a follow-up review note so a polished email is not mistaken
for verified information.
From a prospect's detail drawer, **Assess with AI** stores a contact probability,
recommendation, and short evidence-grounded rationale for that specific company.
The same drawer can optionally run a bounded Browser Use investigation to look
for a likely official website when Maps did not list one. Candidate domains are
shown with evidence and must be accepted by you before they replace the
catalogue record.
## Start the stack
@@ -50,6 +61,10 @@ error rather than remaining stuck forever.
| `GMAPS_POLL_SECONDS` | `2` | Poll interval while a job is running |
| `OUTBOUND_USER_AGENT` | `ProspectOS/2.0 (+personal-use)` | Identifies provider HTTP requests; avoids Python's default client fingerprint |
| `DISCOVERY_BACKEND` | `gmaps` when `GMAPS_URL` is set | Set to `browser` only for the bounded public-search fallback |
| `BROWSER_USE_ENABLED` | `true` | Enables the optional website-candidate investigator |
| `BROWSER_USE_MAX_STEPS` | `10` | Maximum Browser Use actions for one investigation (3–15) |
| `BROWSER_USE_TIMEOUT_SECONDS` | `120` | Hard timeout for one investigation (30–300 seconds) |
| `ANONYMIZED_TELEMETRY` | `false` | Keeps Browser Use telemetry disabled in this personal deployment |
| `AI_PROVIDER` | `custom` | Set to `nous` for the Nous Research Portal, or `custom` for another OpenAI-compatible endpoint |
| `AI_BASE_URL` | empty | Optional OpenAI-compatible `/chat/completions` endpoint |
| `AI_API_KEY` | empty | Optional provider key; keep server-side |
@@ -82,6 +97,32 @@ Hermes refresh token and is not a portable credential for this standalone
Docker app. ProspectOS therefore uses a server-side Nous API key here. The key
is never returned by the Settings API or sent to the browser after saving.
### Browser Use website investigator
Browser Use is an optional local browser agent. It uses the AI provider already
configured in Settings to navigate a small number of public search/result pages,
then returns candidate URLs as structured data. It is intentionally limited to
unauthenticated research: no proxy rotation, stealth fingerprints, CAPTCHA
solving, login, or challenge bypass is configured. If a site blocks the browser,
the action returns an explicit error and the rest of the prospect workflow is
left intact. Browser Use itself is open source, but each investigation still
uses your configured model/provider and may consume its quota.
To use it:
1. Configure and test an AI provider in **Settings** (a Nous key plus a selected
model also works).
2. Open a prospect that has no detected website and choose **Find possible
websites**.
3. Review the returned domains and evidence. Choose **Accept** only when the
domain is genuinely the business's official site; accepting runs the normal
website health and public-email scan.
The API equivalents are `POST /api/prospects/{id}/website-candidates`,
`GET /api/prospects/{id}/website-candidates`, and
`PATCH /api/prospects/{id}/website-candidates/{candidate_id}` with
`{"status":"accepted"}` or `{"status":"rejected"}`.
The app stores its catalogue in the `prospect_data` Docker volume. The worker
stores its own job data in `gmaps_data`; keep both volumes if you want to retain
history. To inspect status: