Snapshot: full project state
This commit is contained in:
68
templates/settings.html
Normal file
68
templates/settings.html
Normal file
@@ -0,0 +1,68 @@
|
||||
{% extends "base.html" %}
|
||||
{% block nav_settings %}active{% endblock %}
|
||||
{% block title %}Settings{% endblock %}
|
||||
{% block content %}
|
||||
<h1>Settings</h1>
|
||||
<p class="sub">Configure the LLM backend, email (SMTP), proxy, and resume.</p>
|
||||
|
||||
<form method="post" action="/settings" class="panel">
|
||||
<h2 style="margin-top:0">LLM backend (inference runs on your LAN Ollama host, never this CT)</h2>
|
||||
<label>Base URL</label>
|
||||
<input name="llm_base_url" value="{{ settings.llm_base_url }}">
|
||||
<label>Model</label>
|
||||
<input name="llm_model" value="{{ settings.llm_model }}">
|
||||
<p class="muted" style="font-size:12px">Default: nightmare Ollama (qwen3.8fast). The pipeline falls back to keyword matching if the model is saturated.</p>
|
||||
|
||||
<h2>Email (SMTP)</h2>
|
||||
<label>Host</label><input name="smtp_host" value="{{ settings.smtp_host }}">
|
||||
<label>Port</label><input name="smtp_port" value="{{ settings.smtp_port }}">
|
||||
<label>Username (iCloud email)</label><input name="smtp_user" value="{{ settings.smtp_user }}" placeholder="indianaholmes1@icloud.com">
|
||||
<label>Password (iCloud app-specific password)</label><input name="smtp_pass" type="password" value="{{ settings.smtp_pass }}" placeholder="generate at appleid.apple.com">
|
||||
<label>From name</label><input name="from_name" value="{{ settings.from_name }}">
|
||||
<label>From email</label><input name="from_email" value="{{ settings.from_email }}">
|
||||
<label>Resume phone</label><input name="resume_phone" value="{{ settings.resume_phone }}">
|
||||
<label>Resume email</label><input name="resume_email" value="{{ settings.resume_email }}">
|
||||
|
||||
<h2>Discovery</h2>
|
||||
<label>Optional proxy URL (your own Nord proxy CT, e.g. http://10.30.20.154:3128)</label>
|
||||
<input name="proxy_url" value="{{ settings.proxy_url }}" placeholder="leave blank for direct">
|
||||
<label>Extra RSS feeds (one per line)</label>
|
||||
<textarea name="rss_feeds" rows="3">{{ settings.rss_feeds }}</textarea>
|
||||
|
||||
<h2>Firecrawl (self-hosted search)</h2>
|
||||
<label>Firecrawl URL</label>
|
||||
<input name="firecrawl_url" value="{{ settings.firecrawl_url }}">
|
||||
<label>Enabled</label>
|
||||
<select name="firecrawl_enabled">
|
||||
<option value="1" {% if settings.firecrawl_enabled == '1' %}selected{% endif %}>On</option>
|
||||
<option value="0" {% if settings.firecrawl_enabled == '0' %}selected{% endif %}>Off</option>
|
||||
</select>
|
||||
<label>Search queries (one per line)</label>
|
||||
<textarea name="firecrawl_queries" rows="4">{{ settings.firecrawl_queries }}</textarea>
|
||||
|
||||
<h2>Autopilot (scheduled)</h2>
|
||||
<label>Enabled</label>
|
||||
<select name="autopilot_enabled">
|
||||
<option value="1" {% if settings.autopilot_enabled == '1' %}selected{% endif %}>On</option>
|
||||
<option value="0" {% if settings.autopilot_enabled == '0' %}selected{% endif %}>Off</option>
|
||||
</select>
|
||||
<label>Max apps to auto-prepare per run</label>
|
||||
<input name="autopilot_max_prepare" value="{{ settings.autopilot_max_prepare }}">
|
||||
<label>Auto-send emails (skip the human Approve gate)</label>
|
||||
<select name="auto_send">
|
||||
<option value="0" {% if settings.auto_send != '1' %}selected{% endif %}>Off (approve manually)</option>
|
||||
<option value="1" {% if settings.auto_send == '1' %}selected{% endif %}>On (auto-send to scraped emails)</option>
|
||||
</select>
|
||||
<p class="muted" style="font-size:12px">Runs every 6h via systemd timer (procyon-autopilot.timer). When Auto-send is On, prepared apps are emailed to their scraped contact automatically (audit + fabrication guards still apply). Jobs with a URL but no email still need you to apply via the posting.</p>
|
||||
|
||||
<h2>Master resume</h2>
|
||||
<label>Path to master resume .txt on this CT (empty = auto library)</label>
|
||||
<input name="master_resume" value="{{ settings.master_resume }}" placeholder="/opt/procyon/resumes/master.txt">
|
||||
|
||||
<br><br>
|
||||
<div class="flex">
|
||||
<button class="btn" type="submit">Save settings</button>
|
||||
<button class="btn ghost" type="submit" formaction="/settings/test-smtp">Test SMTP</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user