Files
aiturk-hermes-ide/apps/chrome/README.md
T

3.0 KiB

AITURK Chrome beta

Windows / Chrome MV3 side panel for existing local AITURK IDE conversations. Requires AITURK IDE 1.0.0-beta.9 or later; see KURULUM.txt for Turkish setup.

The extension talks only to online.turkservis.aiturk using Chrome native messaging. The per-user .NET Framework host authenticates to Electron's random named pipe with a separate capability from the user-local discovery file. Electron retains the gateway token, allows only six semantic operations and reuses the existing local backend. It resumes the stored conversation, maps its runtime identity, then submits only the new prompt. No parallel agent backend, history reconstruction, model API key in the browser or telemetry is involved.

Only the active local profile is supported. The list searches titles among the most recent 200 desktop sessions (two API pages of at most 100, filtered server-side before pagination). The transcript shows the last 40 records, with up to 8,000 characters per visible message; the model's existing context is not truncated by this display policy. Approvals and clarifications remain in the IDE. A backend event is stamped once and delivered to every attached viewer so the desktop can still show and answer these requests.

Build and verification

From the repository root, on Windows:

./scripts/build-chrome.ps1 -OutputDirectory C:/path/to/new-output-directory
$env:AITURK_TEST_NATIVE_HOST = 'C:/path/printed/by/build/AITURK Chrome Kur.exe'
node --test apps/chrome/tests/bridge.test.mjs

The build uses the Windows .NET Framework C# compiler, not a downloaded binary. AITURK_TEST_NATIVE_HOST enables the real framing / named-pipe / HTTP / WebSocket integration test against a disposable fixture, without installing registry entries or invoking a paid model. Without it the native host test is skipped.

UI tests require the existing desktop workspace's jsdom dependency:

npm ci --workspace apps/desktop --include-workspace-root
node --test apps/chrome/tests/panel.test.mjs

Exercise the production FastAPI session router and real temporary SQLite stores with the JS bridge (no model requests or user data):

$env:AITURK_TEST_PYTHON = 'C:/path/to/python-with-hermes-dependencies.exe'
node --test apps/chrome/tests/sessions-api.test.mjs

This contract test reproduces the original 422 for an oversized page, then verifies 200 desktop conversations across two valid pages, profile isolation, short/empty lists, archived/empty/cron exclusion and bounded pagination.

Run backend fan-out and replay tests with the canonical hermetic runner:

scripts/run_tests.sh -j 1 --paths tests/tui_gateway/test_chrome_viewer_fanout.py:tests/test_tui_gateway_event_replay.py

Publish an IDE installer from the same clean commit (including the backend change), the Chrome ZIP and their SHA-256 checksums together. Update the download page only after the immutable release assets are available. This is an unsigned developer-mode beta, not a Chrome Web Store or signed Windows release.