A small helpdesk system: an office Pixel running a patched GrapheneOS Dialer answers technician calls, records both call legs as separate channels, and a Ruby backend transcribes them through Whisper and files an AI summary against the caller. Squashed to a single commit for sharing. No credentials are included; secrets live outside the repo in /etc/helpdesk/env on the server or a gitignored .claude/env.local locally. See .claude/env.local.example for the shape. Start at README.md, then docs/architecture.md.
62 lines
1.2 KiB
Text
62 lines
1.2 KiB
Text
# === Secrets — never commit ===
|
|
*.p12
|
|
*.pem
|
|
*.key
|
|
*.keystore
|
|
*.jks
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
secrets/
|
|
config/credentials/*.key
|
|
config/master.key
|
|
*openrouter*key*
|
|
*hf_token*
|
|
|
|
# === Call data (PII — never commit) ===
|
|
recordings/
|
|
*.wav
|
|
*.flac
|
|
*.m4a
|
|
*.ogg
|
|
*.opus
|
|
transcripts-private/
|
|
|
|
# === Ruby backend (bundler / runtime artifacts, if any) ===
|
|
components/backend/tmp/
|
|
components/backend/log/
|
|
components/backend/.bundle/
|
|
components/backend/vendor/bundle/
|
|
|
|
# === Android / Dialer patch build artifacts ===
|
|
components/dialer-patch/**/build/
|
|
*.apk
|
|
*.aab
|
|
.gradle/
|
|
local.properties
|
|
|
|
# === GrapheneOS / AOSP source (huge — fetched via script, never committed) ===
|
|
resources/aosp/
|
|
resources/grapheneos/
|
|
out/
|
|
|
|
# === Python (transcription worker) ===
|
|
**/.venv/
|
|
**/__pycache__/
|
|
*.pyc
|
|
|
|
# === OS / editor ===
|
|
.DS_Store
|
|
*.swp
|
|
.idea/
|
|
.vscode/
|
|
components/backend/wiki/wiki_index.json
|
|
components/backend/wiki/wiki_fulltext.txt
|
|
|
|
# local backend runtime env (secrets)
|
|
.claude/env.local
|
|
|
|
# Transcription A/B corpus and its cached output: real call recordings and transcripts are caller PII
|
|
# and must never be committed. Keep the recordings on the dev box only.
|
|
components/transcription-worker/bench/corpus/
|
|
components/transcription-worker/bench/out/
|