No description
  • Rust 79.6%
  • Svelte 7%
  • Python 5.2%
  • TypeScript 2.5%
  • CSS 2.1%
  • Other 3.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Emre Uzun 8ea805f882
Some checks failed
ci / svelte-check-and-test (push) Failing after 1s
ci / linux-ci-gates (push) Failing after 1s
docs: record Appware v1.0.0 release publication
2026-09-26 21:27:48 +03:00
.forgejo/workflows ci: add npm test execution to frontend CI job and hygiene gate 2026-09-18 12:16:34 +03:00
appware-dual-backend feat: package K96 dual-backend reference into standalone testable crate 2026-09-18 12:12:24 +03:00
appware-rs-vm-host feat: initial commit with full workspace, documentation, and desktop app 2026-09-17 20:47:06 +03:00
appware-rs-win-desktop feat(ui): add chronological answers and compact navigation controls 2026-09-26 20:52:46 +03:00
docs feat: initial commit with full workspace, documentation, and desktop app 2026-09-17 20:47:06 +03:00
scripts ci: add npm test execution to frontend CI job and hygiene gate 2026-09-18 12:16:34 +03:00
.editorconfig docs: add root README and editorconfig 2026-09-18 05:25:26 +03:00
.gitignore feat: initial commit with full workspace, documentation, and desktop app 2026-09-17 20:47:06 +03:00
AGENTS.md docs: record Appware v1.0.0 release publication 2026-09-26 21:27:48 +03:00
appware_notes.md docs(release): update root and desktop READMEs and bump version to v0.2.0 (K109-K114) 2026-09-25 22:13:24 +03:00
README.md docs: record Appware v1.0.0 release publication 2026-09-26 21:27:48 +03:00

Appware

Windows meeting companion for following a foreign-language conversation, getting contextual AI answers, viewing separate code suggestions, and pushing selected notes into the current discussion.

This repository is hosted at git.moment.msakg.com/emre/appware. It is a two-product workspace, not a shared Cargo workspace.

Stable Windows release: Appware v1.0.0 — Windows x64 EXE and SHA-256 checksum. Local ASR runtimes/models are installed separately; see the desktop setup guide below.

Products

  • appware-rs-win-desktop — the real product (v1.0.0). Rust + Tauri 2 + Svelte 5 + TypeScript. Supports 4 interviewer ASR modes (Local Qwen3-ASR 1.7B/0.6B, Local Whisper Large-v3-Turbo with Ten-VAD, and Windows Live Captions), always-ready candidate microphone speech reconciliation, active-session-only F12 in-memory screen capture vision, spoken-answer suggestions, style micro-revisions, two-stage code generation, and explicitly pushed notes. Native Windows MSVC only.
  • appware-rs-vm-host — a separate no-dependency Rust skeleton. Meeting software would run in a VM; this crate is planning and core types, not a second live app.
  • appware-dual-backend — standalone no-dependency Rust control plane extracted from the K96 dual-backend reference. Tests Local vs Bridge routing, fencing, retries, and circuit breaker offline. Not yet wired into live Tauri runtime.

Do not share crates, config, or session stores between these trees.

Current product boundary

Read the latest dated K* section at the top of AGENTS.md before older camera or model paragraphs. Later dated decisions win.

As of the 2026-09-26 (v1.0.0, K109–K120) snapshot in this repo:

  • System Tray Only (K109): Runs permanently with skipTaskbar=true and a single system tray icon; minimizing or closing to tray hides the window without adding a taskbar button.
  • 4-Model Interviewer ASR & Ten-VAD (K112–K120): Selectable startup ASR engines: Qwen3-ASR 1.7B, Qwen3-ASR 0.6B (127.0.0.1:8179 offline Python sidecar), Whisper Large-v3-Turbo (127.0.0.1:8178 CUDA whisper-server.exe), and Windows Live Captions (WLC). Qwen uses the measured Windows CUDA 13.0 runtime, adaptive partial scheduling and quiet previews while preserving the 1,350 ms turn boundary. Exact model/revision/device readiness is required; CPU needs explicit consent each session, with no in-session fallback. Session end clears interviewer work; candidate Whisper remains warm. Owned helpers terminate through a Windows Job Object on application exit. See the desktop runtime and native smoke reports.
  • Candidate Speech Reconciliation (K101, K106): Independent WASAPI microphone capture + local Whisper Large-v3-Turbo reconciles candidate speech against AI suggestions across 5 semantic zones (ExactOrClose, Paraphrased, Partial, Diverged, Omitted) plus manual Okudum confirmation and interviewer backchannel suppression.
  • Screen Capture & Multimodal Vision (K110): Global F12 hotkey and top-bar capture button grab the active monitor via Win32 GDI BitBlt into RAM-only Arc<[u8]> PNG bytes (zero disk/clipboard I/O) and stream multimodal analysis + Stage-2 code generation over CPAMC / CLIProxyAPI (/chat/completions image_url) or Google Gemini Interactions API.
  • Compact Adaptive Answers, Style Revisions & Two-Stage Code (K100, K102, K103, K107, K111): Single canonical model selection across the top bar and AI menu (filtering non-text/duplicate catalog entries), 520×430 scroll-free setup screen, live answer style micro-revisions (Kısa, Detay, Teknik, Doğal + stepwise undo), and spoken implementation explanation followed by separate code panel streaming.
  • Camera & External Window Hooks Removed (K97): Camera management, OBS/Broadcast window control, and the camera menu remain permanently removed for Windows Explorer stability.

The parent AGENTS.md is the decision log for the desktop product. appware-rs-vm-host/AGENTS.md is the VM-only record. appware_notes.md is scratch, not architecture.

Run and build (Windows)

From appware-rs-win-desktop/:

For local ASR installation, follow the isolated Qwen runtime setup before starting a session.

npm ci
npm run desktop
npm run check
npm run test:rust
npm run desktop:build

Requirements: MSVC C++ Build Tools, rustup stable-x86_64-pc-windows-msvc, Node, WebView2. The pinned toolchain is Windows-only; macOS/Linux checkouts are for reading and source work, not desktop builds.

CI (Forgejo / VM105)

The live runner is Linux node:22-bookworm (node22). It cannot compile the Windows MSVC Tauri app.

On every main push, PR, and manual dispatch, .forgejo/workflows/ci.yml runs:

  • npm ci + npm run check in appware-rs-win-desktop (Svelte/TypeScript only)
  • Node hygiene tests that reject Windows runners, tauri / desktop:build / test:rust in CI

Not in CI: npm run desktop, npm run test:rust, npm run desktop:build, VM-host cargo test. Those stay on msa-station (Windows) or a local Rust host.

VM skeleton, from appware-rs-vm-host/:

cargo test --offline
cargo run --offline -- demo

Layout

AGENTS.md                 desktop decision log
appware-dual-backend/     standalone dual-backend routing control plane
appware-rs-win-desktop/   Tauri desktop app
appware-rs-vm-host/       separate VM-host skeleton
docs/                     supporting documents
appware_notes.md          scratch notes

Secrets and local state

Ignored and never committed:

  • .env, credential JSON, ai.json / ai.local.json
  • target/, node_modules/, dist/
  • camera/device local config files

Gemini keys belong in Windows Credential Manager. Meeting transcripts stay in memory; there is no automatic meeting archive.

Agent / collaborator notes

  1. Start with this README, then the latest K* block in AGENTS.md.
  2. Confirm branch and git status before editing.
  3. Keep desktop and VM trees separate.
  4. Do not restore camera/OBS/Broadcast control unless a newer dated decision explicitly reverses K97.
  5. Do not treat a Mac clone as a build host.