{% extends "base.html" %} {% block title %}settings · watchmen{% endblock %} {% block head_extra %} {% endblock %} {% block content %}

Settings

Configure provider auth, default model, viewer port, and per-project cadence. Mirrors watchmen settings: edits write to ~/.config/watchmen/.env and state.db, the same paths the CLI uses.
{% if flash %} {% if flash.startswith("ok:") %}
✓ {{ flash[3:] }}
{% elif flash.startswith("err:") %}
✗ {{ flash[4:] }}
{% endif %} {% endif %}

LLM provider

Active provider
Currently using {{ active_provider }} ({{ active_provider_display }}). Switch below; the LLM passes (analyst + curator + insights) will route through the new provider on the next run.
Switching to a provider with no key configured won't fail immediately — the next LLM pass will, with a clear error. Set the key below first.
{% for p in providers %}
{{ p.display_name }} {% if p.auth == "oauth" %}OAuth{% else %}API key{% endif %} {% if p.active %}active{% endif %}
{% if p.env_var %}{{ p.env_var }}{% endif %}
{% if p.set %} {% if p.masked %}{{ p.masked }}{% endif %} {% if p.auth == "oauth" %}OAuth ready{% else %}set{% endif %} {% else %} {% if p.auth == "oauth" %}not signed in{% else %}not set{% endif %} missing {% endif %}
{% if p.auth == "oauth" %}
Credential sourced from {{ p.source_hint }}. {% if not p.set %} Run {{ p.login_cmd }} in your shell to sign in, then reload this page. {% else %} Token rotates automatically; nothing to update here. Run {{ p.login_cmd }} if you need to re-authenticate. {% endif %}
{% else %}
{% endif %}
Default model on this provider: {{ p.default_model }}
{% endfor %}

Default model

Resolved default
{{ model.resolved }} {% if model.override %} override (WATCHMEN_DEFAULT_MODEL) {% else %} (from {{ active_provider }} provider default) {% endif %}
Override pins a specific model regardless of provider; clear it to fall back to the active provider's default ({{ model.active_provider_default }}). Use any model the active provider supports.

Other

Viewer port
{{ viewer_port }} ({{ viewer_port_source }})
Default {{ viewer_port_default }}. Range 1024–65535. After changing, reinstall the launchd/systemd agent with watchmen viewer install so the service agent picks up the new port.

Appearance

Theme
Saved per browser via localStorage; applies instantly with no reload.

Tracked projects

{% if projects %}
{% for p in projects %} {% endfor %}
Project Repo Enabled Threshold
{{ p.project_key }} {{ p.source_repo|replace("/Users/" ~ p.source_repo.split("/")[2], "~") if p.source_repo else "·" }}
CLI equivalents: watchmen settings show <project> · watchmen settings set <project> threshold_new_prompts N
{% else %}
No projects tracked yet. Run watchmen init or watchmen track <key> --repo <path>.
{% endif %} {% endblock %}