- JavaScript 95.7%
- CSS 2.2%
- HTML 2.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| docs | ||
| extension | ||
| src | ||
| test | ||
| .gitignore | ||
| package.json | ||
| README.md | ||
Loki
Loki is a CultMesh-oriented daemon for observing local Chrome tabs through a drop-in Chrome extension or an explicit Chrome DevTools Protocol endpoint.
It does not see ordinary locked Chrome tabs by magic. The easy path is loading
the unpacked extension in extension/; the developer path is launching Chrome
with a remote debugging port. The daemon publishes reachability as state instead
of pretending.
Authority Map
- Owner: Loki owns Chrome DevTools observation and the derived operator surface.
- Inputs: Chrome extension reports,
http://127.0.0.1:9222/json/version,http://127.0.0.1:9222/json/list, and daemon configuration. - Outputs: typed
.ccwitness documents, an Eve provider advertisement, and agamecult.eve.surface.v1surface projection. - Derived state: Eve surface health, tab counts, selected tab hints, and operator text are derived from the Chrome snapshot.
- Forbidden writers: renderers, dashboards, ad hoc scripts, and browser windows do not own Loki state.
- Shared paths: extension and CDP observations are normalized into one snapshot before witness, advertisement, and Eve projection.
- Cut line: command execution is not implemented until it has an auditable command envelope and explicit consent boundary.
Drop Into Chrome
Run Loki:
cd E:\Projects\Loki
npm run start
Then install the extension:
- Open
chrome://extensions. - Enable
Developer mode. - Choose
Load unpacked. - Select
E:\Projects\Loki\extension.
The extension posts tab metadata to
http://127.0.0.1:17666/ingest/chrome-extension. Its normal sync does not read
page DOM, cookies, or page content.
The popup also exposes Debug sweep. Chrome will warn that Loki can debug
pages because the extension uses chrome.debugger. A sweep attaches to each
debuggable tab, probes Chrome Debugger Protocol domains, records frame/runtime/
performance/security/root-DOM metadata, then detaches. It does not read response
bodies, cookies, form values, or full page DOM.
CDP Observation
Close Chrome or use a separate profile, then launch:
& "$env:ProgramFiles\Google\Chrome\Application\chrome.exe" `
--remote-debugging-port=9222 `
--user-data-dir="$env:TEMP\loki-chrome-profile"
For a one-shot smoke:
npm run smoke
State Files
Loki writes:
state/loki.chrome_snapshot.ccstate/loki.chrome_debug_probe.ccstate/loki.provider_advertisement.ccstate/loki.eve_surface.cc
These first .cc documents are typed text witnesses. They preserve schema
identity, provider authority, and redaction posture while the daemon awaits a
direct CultCacheTS/CultNetTS backing store integration.