Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/caiovicentino/claude-call
/ functions
Functions
215 in github.com/caiovicentino/claude-call
⨍
Functions
215
◇
Types & classes
15
↓ 23 callers
Method
error
(self, msg: str, exc: BaseException | None = None)
ui.py:230
↓ 19 callers
Function
ask
(prompt, default="")
configure.py:153
↓ 14 callers
Function
_brain
(**kw)
tests/test_core.py:13
↓ 13 callers
Method
_desired_mode
Escolhe chat<->code. Com set_model o flip é BARATO (uma mensagem de controle, sem respawn/resume), mas as regras continuam conservadoras:
brain.py:667
↓ 13 callers
Function
ok
(m)
doctor.py:19
↓ 12 callers
Function
_clean_for_speech
Tira markdown E emojis antes de falar — TTS nao deve ler *, #, `, links, 😀, ✅.
brain.py:146
↓ 12 callers
Method
_refresh
(self)
ui.py:363
↓ 9 callers
Function
_fuzzy_wake
True se 'word' é provável mishear da wake word (sem deps externas). Cobre: - substring direto: "claud" ⊆ "claude" ✓ - sufixo fonét
brain.py:118
↓ 8 callers
Function
_now
()
ui.py:38
↓ 8 callers
Function
bad
(m)
doctor.py:21
↓ 8 callers
Method
close
(self)
transcript.py:49
↓ 8 callers
Method
status
(self, msg: str)
ui.py:197
↓ 8 callers
Function
warn
(m)
doctor.py:20
↓ 7 callers
Method
_watch_decision
Puro/testável: dado (esperando 1a resposta?, segundos ocioso, tool rodando?) decide o que o watchdog faz -> ('none'|'hint'|'recover', mensagem
brain.py:599
↓ 7 callers
Method
hint
(self, msg: str)
ui.py:201
↓ 6 callers
Function
_allow_stop
()
voice_hook.py:25
↓ 6 callers
Method
_feed
(self, line: str)
ui.py:349
↓ 6 callers
Method
_say
(self, text: str)
brain.py:578
↓ 6 callers
Function
dim
(m)
doctor.py:22
↓ 6 callers
Function
head
(m)
doctor.py:23
↓ 5 callers
Method
_sync_ui
(self)
controls.py:396
↓ 4 callers
Method
_should_answer
(self, text: str)
brain.py:244
↓ 4 callers
Function
_wav
(audio: bytes)
stt.py:43
↓ 4 callers
Method
_work
(self, text: str)
ui.py:292
↓ 4 callers
Method
interrupt_turn
Para o turno atual DE VERDADE — geração E tools — não só a fala. Sem isso, 'para!' silenciava o TTS mas o daemon continuava editando/cobrando
brain.py:385
↓ 4 callers
Function
list_input_devices
Mics REAIS (exclui BlackHole e afins).
controls.py:55
↓ 4 callers
Function
mk
(pats: dict)
brain.py:107
↓ 4 callers
Function
need
(binary, label, hard=True)
doctor.py:26
↓ 4 callers
Method
start
(self)
ui.py:126
↓ 3 callers
Method
__init__
(self)
extras_mac_aec.py:36
↓ 3 callers
Method
_apply_vad
(self)
controls.py:358
↓ 3 callers
Method
_drain
(self, buf: str)
brain.py:586
↓ 3 callers
Method
_ensure_proc
(self)
brain.py:302
↓ 3 callers
Method
_is_echo
True se o 'ouvido' é a propria voz dela voltando pelo alto-falante. Compara com o que ela falou nos ultimos ~8s (sobreposicao de palavras).
brain.py:562
↓ 3 callers
Method
_kill
(self)
brain.py:733
↓ 3 callers
Method
_log_error
(self, detail: str)
ui.py:356
↓ 3 callers
Method
_remember_speech
Guarda o que a assistente FALOU (pro filtro anti-eco).
brain.py:556
↓ 3 callers
Method
_send
(self, text: str, *, is_retry: bool = False)
brain.py:326
↓ 3 callers
Method
_strip_wake
Tira wake word e misheards ('audinha', 'odinha'…) do texto — são só gatilho.
brain.py:264
↓ 3 callers
Function
_stt_settings
()
stt.py:28
↓ 3 callers
Function
_to_16k
(audio: bytes, rate: int)
stt.py:37
↓ 3 callers
Method
_w
(self, text: str)
transcript.py:27
↓ 3 callers
Method
done
(self)
ui.py:193
↓ 3 callers
Function
ensure_server
(*, model: str, host="127.0.0.1", port=8099, language="en", threads=6, wait_secs=60.0)
stt.py:53
↓ 3 callers
Function
play
(kind: str)
sounds.py:18
↓ 3 callers
Method
set_typing
(self, on: bool, buf: str = "")
ui.py:225
↓ 2 callers
Method
__init__
(self, *, provider: str, api_key: str, model: str, language="en", sample_rate=WHISPER_RATE, *
stt.py:186
↓ 2 callers
Method
_cache_path
(self, text: str)
tts.py:41
↓ 2 callers
Method
_control
Manda um control_request pro daemon (protocolo stream-json) e espera a resposta. True = success. É assim que interrompemos o turno e trocamos
brain.py:363
↓ 2 callers
Function
_lang2
(cfg)
configure.py:115
↓ 2 callers
Function
_match
(k, target, keyboard)
hotkey.py:19
↓ 2 callers
Function
_norm_words
(s: str)
brain.py:52
↓ 2 callers
Function
_play
(mp3: bytes)
configure.py:136
↓ 2 callers
Method
_render
(self)
ui.py:406
↓ 2 callers
Method
_show_staged_hint
(self)
controls.py:251
↓ 2 callers
Method
_stop_typing
(self)
controls.py:321
↓ 2 callers
Method
_switch_mode
Troca chat<->code (modelo). Daemon vivo: set_model via control_request — a MESMA sessão continua, sem kill + --resume (que pagava o prefill in
brain.py:684
↓ 2 callers
Function
_voice
(cfg)
configure.py:119
↓ 2 callers
Function
builtin_mic_index
Index do mic do COMPUTADOR (MacBook/built-in), nunca virtual. None = default do SO.
controls.py:72
↓ 2 callers
Method
ensure
(self)
extras_mac_aec.py:40
↓ 2 callers
Function
make_tts
Returns a Pipecat TTS service for the chosen provider. edge = free/local-ish; the rest are paid APIs (bring your own key).
tts.py:173
↓ 2 callers
Method
reply_append
(self, text: str)
ui.py:184
↓ 2 callers
Method
run_tts
Streaming: feed edge-tts mp3 into ffmpeg as it arrives, emit PCM as it decodes — first audio starts in ~hundreds of ms instead of after the wh
tts.py:45
↓ 2 callers
Method
send_text
(self, text: str)
controls.py:215
↓ 2 callers
Method
set_level
Nível de áudio real do mic (0..1). Só armazena; o loop de animação desenha.
ui.py:165
↓ 2 callers
Method
set_sens
(self, level: int)
controls.py:369
↓ 2 callers
Method
set_session
(self, session_id: str)
ui.py:162
↓ 2 callers
Method
set_stop
(self, secs: float)
controls.py:373
↓ 2 callers
Method
start
(self, frame: StartFrame)
extras_mac_aec.py:73
↓ 2 callers
Method
stop
(self)
ui.py:142
↓ 2 callers
Function
up
()
stt.py:57
↓ 1 callers
Method
_animate
(self)
ui.py:153
↓ 1 callers
Method
_build_cmd
(self)
brain.py:285
↓ 1 callers
Method
_clip_image
Se o clipboard tem imagem, grava PNG com nome único e retorna o caminho (macOS).
controls.py:290
↓ 1 callers
Method
_command
(self, ch: str)
controls.py:156
↓ 1 callers
Function
_del_env
Remove linhas CALL_X do .env (volta pro default do config).
controls.py:114
↓ 1 callers
Method
_device_name
(self)
controls.py:393
↓ 1 callers
Method
_drain_stderr
(self)
brain.py:317
↓ 1 callers
Method
_echo_muted
(self)
echo_gate.py:33
↓ 1 callers
Function
_encode_cwd
Mesma codificacao que o Claude Code usa pro nome do diretorio do projeto.
session.py:11
↓ 1 callers
Method
_flatten
(content)
ui.py:286
↓ 1 callers
Method
_handle_event
Despacha UM evento do daemon (stream-json). Erros aqui não matam o read loop.
brain.py:447
↓ 1 callers
Method
_has_wake
(self, text: str)
brain.py:256
↓ 1 callers
Function
_intent_res
Compila os regexes de intenção pro idioma: en sempre + o idioma da call.
brain.py:103
↓ 1 callers
Function
_is_virtual
(name: str)
controls.py:50
↓ 1 callers
Method
_iter_lines
Le o stdout em chunks e quebra por '\\n' na mao. O `async for ... in stdout` usa readline (limite de 1MB/linha) e estoura LimitOverrunError qu
brain.py:399
↓ 1 callers
Function
_mascot
Mascote BLOCO GRANDE (21 wide, 10 rows) — robô chunky, olhos/boca animados. Olhos e boca ocupam 2 linhas (mais alto/visível). Mudo = cara parada d
ui.py:42
↓ 1 callers
Method
_next_filler
(self)
brain.py:551
↓ 1 callers
Method
_open_tab_bg
Abre a aba do lado fora do event loop (osascript bloqueia ~ segundos).
brain.py:724
↓ 1 callers
Method
_read_loop
(self)
brain.py:420
↓ 1 callers
Function
_record_until_silence
(silence_secs=1.3, max_secs=25, thresh=480)
voice_hook.py:30
↓ 1 callers
Method
_recover
Sai do travamento: mata o daemon e recomeça FRESH (sem re-resume da sessão pesada, que é a causa do trava). Se o turno travado era read-only (
brain.py:635
↓ 1 callers
Function
_resolve
(keyboard, name: str)
hotkey.py:12
↓ 1 callers
Function
_restore_keys
(state, loop)
call.py:117
↓ 1 callers
Function
_set_env
(key, value)
controls.py:96
↓ 1 callers
Method
_settings_rows
(self)
ui.py:495
↓ 1 callers
Function
_setup_keys
Lê teclas e manda pro handler. POSIX: cbreak + add_reader (mantém ISIG/Ctrl+C). Windows: termios não existe e o Proactor loop não tem add_reader —
call.py:58
↓ 1 callers
Method
_short
Resume o que foi OUVIDO pra ~2 frases — só referência no painel (texto longo digitado/colado fica gigante). O texto cheio continua indo pro Cl
ui.py:377
↓ 1 callers
Method
_size
(self)
ui.py:370
↓ 1 callers
Method
_slow_watch
Watchdog do turno: avisa se demora e RECUPERA (mata + respawn FRESH) se travar, pra nunca ficar preso em 'pensando' pra sempre.
brain.py:615
next →
1–100 of 215, ranked by callers