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.
11 lines
689 B
XML
11 lines
689 B
XML
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
|
<!-- Helpdesk patch: pre-grant RECORD_AUDIO (auto-record-on-answer) and READ_CONTACTS (the ContactsSyncer
|
|
pushes the address book to the backend) so neither diverts to a runtime permission prompt on this
|
|
single-purpose device. CAPTURE_AUDIO_OUTPUT is inherited as a privileged system app; READ_CONTACTS is
|
|
already declared in the Dialer manifest, so this only auto-grants it. -->
|
|
<exceptions>
|
|
<exception package="com.android.dialer">
|
|
<permission name="android.permission.RECORD_AUDIO" fixed="true"/>
|
|
<permission name="android.permission.READ_CONTACTS" fixed="true"/>
|
|
</exception>
|
|
</exceptions>
|