PROPOJENÍ S VAŠIMI NÁSTROJI
Vaše přepisy.
Tam, kde pracujete.
Asistent si přečte historii přes MCP, skript zpracuje nahrávku přes CLI a Váš systém dostane hotový přepis webhookem.
MCP
Přepisy a slovník ve Vašem asistentovi.
Claude Code · Claude Desktop · CodexCLI
Historie a přepis souborů z terminálu.
TXT · JSON · SRTWebhooky
Hotové přepisy přímo do Vašeho systému.
Podepsané zprávy přes HTTPSToken vytvoříte v účtu → Tokeny. Pro čtení přepisů zapněte serverovou historii. Přepisy uložené pouze ve Vašem zařízení se tím automaticky nezpřístupní.
01 / MCP
Připojte svého asistenta
MCP server umí hledat v serverové historii nástrojem najdi_prepisy, načíst konkrétní záznam přes vrat_prepis a přidat vlastní výraz přes pridej_do_slovniku.
Balíček zatím není publikovaný na npm. Následující postup je pro uživatele, kteří už mají zdrojový kód Diktuj. Veřejný instalační balíček připravujeme.
Instalace ze zdrojů
Potřebujete Node.js 20 nebo novější. V adresáři repozitáře spusťte:
cd integrations/mcp
npm ci
npm run buildClaude Desktop
Do svého souboru claude_desktop_config.json přidejte konfiguraci níže. Cesty nahraďte skutečnými absolutními cestami; cestu k Node zjistíte příkazem command -v node. Ostatní servery v souboru zachovejte.
{
"mcpServers": {
"diktuj": {
"command": "/absolutni/cesta/k/node",
"args": ["/cesta/diktuj/integrations/mcp/dist/src/bin.js"],
"env": { "DIKTUJ_TOKEN": "SEM_VLOZTE_OSOBNI_TOKEN" }
}
}
}Vložte svůj osobní token a přístup ke konfiguračnímu souboru omezte na svého uživatele. Soubor s tokenem neposílejte dál ani neukládejte do repozitáře. Potom restartujte asistenta.
Claude Code a Codex
Proměnnou DIKTUJ_TOKEN nastavte v prostředí ze svého správce tajemství. Token nevkládejte do argumentů příkazu.
claude mcp add --transport stdio --scope user diktuj -- node /cesta/diktuj/integrations/mcp/dist/src/bin.jsPro Codex přidejte do osobního souboru ~/.codex/config.toml:
[mcp_servers.diktuj]
command = "node"
args = ["/cesta/diktuj/integrations/mcp/dist/src/bin.js"]
env_vars = ["DIKTUJ_TOKEN"]Ověřte připojení
Po spuštění asistenta napište: „Najdi moje poslední přepisy z diktuj.to.“ Pokud je historie vypnutá nebo token neplatný, MCP vrátí chybu s vysvětlením.
Osobní token nepovoluje nástroj shrn; ten vyžaduje širší token zařízení. Pro běžné připojení používejte osobní token. Vzdálený MCP pro přímé připojení ChatGPT zatím není připravený.
02 / CLI
Diktuj z terminálu
CLI čte historii, hledá přepisy a odešle zvukový soubor k přepisu. Balíček zatím není publikovaný na npm; ze zdrojového repozitáře jej nainstalujete s Node.js 20.3 nebo novějším:
npm install -g ./cli
diktuj --helpPřihlášení a první příkazy
Předejte token ze správce tajemství na standardní vstup. Zástupný příkaz prikaz-spravce-tajemstvi nahraďte příkazem svého správce, který vypíše jen Váš token.
prikaz-spravce-tajemstvi | diktuj prihlaseni --token-stdindiktuj historie --limit 50
diktuj hledej "schůzka" --format json
diktuj prepis schuzka.m4a --format txtPro přepis souboru musí mít token oprávnění imports, v účtu označené „Povolit přepis nahrávek“. Přepis se účtuje z Vašeho kreditu. SRT zatím obsahuje jeden titulek přes celou nahrávku, bez časování jednotlivých vět.
CLI ukládá token do souboru ~/.config/diktuj/prihlaseni.json s oprávněním 600. Příkaz diktuj odhlaseni odstraní místní přihlášení; samotný token odvoláte v účtu.
03 / WEBHOOKY
Hotový přepis doručíme Vám
Ve správě webhooků zadejte veřejnou HTTPS adresu a vyberte události prepis.hotovy, import.hotovy nebo schuzka.hotova. Zpráva obsahuje text a metadata, nikdy zvuk.
Ověřte podpis před zpracováním
Každá zpráva má hlavičky X-Diktuj-Signature, X-Diktuj-Timestamp, X-Diktuj-Event a X-Diktuj-Delivery. HMAC-SHA256 podepisuje čas, tečku a původní bajty těla. Ukázka pro Node.js:
import { createHmac, timingSafeEqual } from 'node:crypto';
// teloRaw je Buffer se surovým tělem před JSON.parse.
function overPodpis(tajemstvi, hlavicky, teloRaw) {
const cas = hlavicky['x-diktuj-timestamp'];
const podpis = hlavicky['x-diktuj-signature'];
if (typeof cas !== 'string' || !/^\d{1,15}$/.test(cas) ||
typeof podpis !== 'string' || !/^v1=[a-f0-9]{64}$/.test(podpis)) return false;
const ocekavany = createHmac('sha256', tajemstvi)
.update(cas + '.').update(teloRaw).digest('hex');
if (!timingSafeEqual(Buffer.from(podpis.slice(3), 'hex'),
Buffer.from(ocekavany, 'hex'))) return false;
const stari = Math.floor(Date.now() / 1000) - Number(cas);
return stari >= -60 && stari <= 300;
}Tajemství webhooku uchovávejte na serveru. Podpis kontrolujte nad surovým tělem před parsováním JSON. Odmítejte zprávy starší než pět minut a zprávy více než minutu z budoucnosti.
Otestujte doručení
Ve správě webhooků použijte test doručení. Ověřte podpis a odpovězte stavem 2xx. Testovací zprávu poznáte podle zdrojového id začínajícího test-; nezakládejte z ní skutečný přepis.
Opakované pokusy mají stejné zdrojové id, ale nové delivery_id. Zpracované události rozlišujte podle druhu události a zdrojového ID. Fronta je v paměti brány a po restartu se neobnoví, proto webhook není zárukou úplné synchronizace.