Beállítás
Az IntraCord egy Next.js felhasználói felület (ui/), egy FastAPI-háttér (api/) és egy Pipecat alapú hangcsatorna (pipecat/), egy Redis git almodul, Mingre és Mingre.
Állítsa be
Szüksége van Gitre, egy helyi Docker-motorra (például a Docker Desktopra) és a VS-kódra a Dev Containers kiterjesztéssel.
- Fork IntraCord-hq/IntraCord és klónozza a villát:
git clone https://github.com/<YOUR_HANDLE>/IntraCord
cd IntraCord
-
Nyissa meg a mappát a VS Code alkalmazásban, és futtassa a Dev Containers: Reopen in Container parancsot. Az első összeállítás néhány percet vesz igénybe – elindítja a Postgrest, a Redist és a MinIO-t, elindítja a Python venv-t, létrehozza a
.envfájlokat, és telepíti a felhasználói felület függőségeit. A későbbi nyitás gyors. -
Indítsa el a háttérprogramot a tárolóban található terminálról. A szkript megvárja az állapotellenőrzést, és kinyomtat egy állapot-összefoglalót, így amikor sikeresen kilép, a háttérrendszer feláll:
bash scripts/start_services_dev.sh
- Indítsa el a felhasználói felületet a tárolóban lévő második terminálról:
cd ui && npm run dev -- --hostname 0.0.0.0
- Nyissa meg az alkalmazást a
http://localhost:3000címen.
Ha ezek a lépések nem működnek az Ön számára, nyissa meg a problémát a [GitHub] oldalon (https://github.com/IntraCord-hq/IntraCord/issues).
Cloned IntraCord-hq/IntraCord directly instead of your fork?
Futtassa egyszer a bash scripts/setup_fork.sh-t. Megkéri a villa URL-címét, rámutat a origin elemre, és hozzáadja a upstream IntraCord-hq/IntraCord-t. Lásd: Villa és felfelé irányuló távirányítók.
No VS Code? No devcontainer at all?
A devcontainer fej nélkül fut a Dev Container CLI-n, vagy mindent futtathat közvetlenül a gazdagépen.
Napi workflow
| Milyen | Hogyan |
|---|---|
| Indítsa újra a háttérprogramot | Futtassa újra a bash scripts/start_services_dev.sh-t — először leállítja a régi folyamatokat |
| A háttér leállítása | bash scripts/stop_services.sh |
| Háttérnaplók | tail -f logs/latest/*.log |
| Kód újratöltése | Szerkesztések a api/ automatikus újratöltés alatt; A ari_manager, campaign_orchestrator és arq háttérprogram újraindítására van szükség |
| A konténer újjáépítése | Csak akkor, ha a .devcontainer/, api/requirements*.txt vagy pipecat/ módosul – az egyszerű forrás szerkesztéséhez nincs szükség rá |
| Szinkronizálja a pipecat almodult | git submodule update --init --recursive egy részmodul ütésének meghúzása után |
Hibakeresés
A repo .vscode/launch.json hibakeresési konfigurációkat szállít minden háttérszolgáltatáshoz és a pytesthez. Ha a hibakereső alatt szeretné futtatni a start szkript helyett:
- Ha fut, állítsa le a szkript által kezelt háttérrendszert, hogy a portok szabadok legyenek:
bash scripts/stop_services.sh
- A VS Code Futtatás és hibakeresés paneljén válasszon konfigurációt, és nyomja meg az F5 billentyűt:
| Konfiguráció | Mit futtat |
|---|---|
| API: Uvicorn (újratöltés) | A FastAPI háttérprogram automatikus újratöltéssel (port a UVICORN_PORT-ről a api/.env-ben, alapértelmezett 8000) |
| API: Arq dolgozó (óra) / API: Kampányvezető / API: ARI menedzser | A többi háttérszolgáltatás – szükség szerint indítsa el őket az Uvicorn mellett |
| Tesztek: API (pytest, teljes programcsomag / aktuális fájl) | pytest a hibakereső alatt, a api/.env.test |
| Tesztek: Pipecat (pytest, aktuális fájl) / Python: Aktuális fájl | Hibakeresés egy pipecat tesztben vagy bármely önálló szkriptben |
Minden konfiguráció betölti a api/.env-t (a tesztkonfigurációk api/.env.test-t használnak), és beállítják a justMyCode: false-t, így beléphet a FastAPI-ba és a pipecat kódba – a pipecat/ almodul töréspontjai működnek, mert szerkeszthető. A devcontainerben a Python értelmező előre ki van választva; gazdagép által felügyelt beállításnál válassza ki a ./venv/bin/python elemet a Python: Select Interpreter segítségével először.
Az adattár elrendezése
| Útvonal | Mi van ott |
|---|---|
ui/ | Next.js frontend — a workflow-készítő, Dashboard és ügynökszerkesztő |
api/ | FastAPI háttérrendszer — REST API, kampányszervezés, telefonálás, ARQ háttérmunkások |
pipecat/ | Git almodul a voice pipeline-hoz (STT → LLM → TTS) |
docs/ | Ez a Docusaurus dokumentációs webhely MDX-ben íródott, előnézete npm start |
sdk/ | Python/TypeScript SDK-k az IntraCord programozott vezetéséhez |
scripts/ | Szkriptek beállítása, üzembe helyezése és frissítése |
deploy/ | távoli telepítés által használt nginx és coturn konfigurációs sablonok |
Hozzájárulás a változáshoz
- Hozzon létre egy ágat, és hajtsa végre a változtatást.
- Nyomja a villájához (
origin), és nyissa meg a húzási kérelmet aIntraCord-hq/IntraCord:mainellen. - A karbantartó felülvizsgálja és egyesíti.
A hibajelentések és a funkcióötletek a GitHub Issues és az Ideas lapon mennek keresztül. A good first issue címkével ellátott problémák jó kiindulópont. Ha munka közben kérdése van, használja a IntraCord Community Slack oldalt.
Saját buildet telepítene az upstream hozzájárulás helyett? Ehelyett tekintse meg a Kitelepítések részt.