Vai al contenuto
CADCAMFUN
Documentazione

Documentazione

Avvio rapido

Dalle dipendenze dello spazio di lavoro a una finestra del desktop supportata dal vero sidecar locale.

Tradotto automaticamente dall'inglese. Vedi l'originale in inglese

Requisiti

Gli installatori e il checkout del sorgente sono diversi

Una build desktop pubblicata è disponibile su pagina di download. Questa guida installa il repository e viene eseguita desktop:dev. Leggere Installare quando invece desideri gli artefatti di rilascio.

L'area di lavoro dichiara Bun 1.4.4 come gestore dei pacchetti. Utilizzare il file di blocco del repository per l'installazione delle dipendenze. Lo sviluppo desktop nativo richiede anche una toolchain Rust, le dipendenze di build Tauri della piattaforma e una visualizzazione web del sistema installata. La CLI Tauri è già una dipendenza di sviluppo desktop.

  • macOS: Strumenti da riga di comando Xcode per il collegamento e il packaging Rust/nativo.
  • Finestre: la toolchain MSVC e i prerequisiti di runtime/build WebView2.
  • Linux: WebKitGTK 4.1, indicatore di applicazione, librsvg, OpenSSL e strumenti bundler. Il flusso di lavoro CI registra i pacchetti utilizzati su Ubuntu.
  • compagno iOS: macOS, Xcode, CocoaPods e una build Expo nativa contenente il modulo di blocco locale.

Un'anteprima del browser richiede dipendenze da Bun e dallo spazio di lavoro ma non compila la shell Rust. Un programma di installazione della versione richiede inoltre la configurazione della firma; che è separato dallo sviluppo dell'interfaccia utente locale.

Installa le dipendenze

Dalla radice del repository
bun install
bun run --filter @cadcamfun/desktop typecheck
bun test packages/core

Installa una volta nella root dell'area di lavoro in modo locale workspace:* le dipendenze si risolvono insieme. CI utilizza bun install --frozen-lockfile per rifiutare la deriva del lockfile. Utilizzare gli script del pacchetto per selezionare il compilatore configurato del repository anziché dare per scontato che ogni pacchetto utilizzi lo stesso eseguibile TypeScript.

I comandi mirati sopra forniscono un rapido controllo della fonte. I controlli dell'intera area di lavoro sono bun run typecheck e bun run test; coprono più moduli e potrebbero richiedere più tempo. Un singolo pacchetto che passa non dimostra che tutte le integrazioni di runtime sono configurate.

Configurazione della banca dati

Il desktop reale non richiede un comando di migrazione CLI separato. Il suo launcher fornisce la directory dei dati dell'applicazione e le migrazioni graduali al sidecar; l'apertura del database applica le migrazioni in sospeso. bun run desktop:dev mette in scena la risorsa di migrazione come parte della preparazione del sidecar.

Lo strumento da riga di comando del database è separato. bun run db:migrate delega al pacchetto database e per impostazione predefinita è ./data/cadcamfun.db rispetto alla directory del processo di quel pacchetto, normalmente packages/db/data/cadcamfun.db quando richiamato tramite lo script root. Imposta un assoluto DATABASE_URL quando è necessario scegliere come target un database specifico.

Solo quando si modifica lo schema del database
bun run db:generate
bun run db:migrate

La generazione legge packages/db/src/schema.ts e scrive migrazioni sotto packages/db/drizzle. L'applicazione delle migrazioni aggiorna il database CLI selezionato, non tutti i database dell'applicazione. I dati desktop nativi risiedono nella directory dei dati dell'applicazione Tauri; utilizza un sidecar avviato manualmente CADCAMFUN_DATA_DIR.

Scegli deliberatamente il database

Una migrazione CLI riuscita non cambia il database aperto dal desktop. Individua la directory dei dati collaterali prima di indagare sui progetti mancanti o applicare un'operazione manuale sui dati.

Apri il desktop

Dalla radice del repository
bun run desktop:dev

Questo compila il vero sidecar di Bun e mette in scena le migrazioni, quindi esegue Tauri. Tauri inizia Vite alle http://localhost:1420 e apre la visualizzazione web. Il guscio di Rust attende la stretta di mano del sidecar; la visualizzazione web controlla l'integrità prima di mostrare le schermate indirizzate.

Tieni aperto il terminale di avvio. La shell possiede il ciclo di vita del sidecar e fornisce il token di lancio e i percorsi. Se l'avvio non riesce, controllare il motivo dell'avvio e i registri dell'applicazione. La visualizzazione Web ritenta il rilevamento dell'endpoint per un massimo di 150 secondi; la shell consente un riavvio automatico del sidecar.

Anteprima dell'interfaccia utente solo del browser
bun run --filter @cadcamfun/desktop dev

Aprire http://localhost:1420. Con n VITE_SIDECAR_URL, utilizza l'API falsa in memoria. Supporta un sottoinsieme di richieste e non fornisce progetti persistenti, sessioni del provider o finestre di dialogo native. Connettiti a un sidecar live impostando sia l'URL del sidecar Vite che le variabili del processo token.

Il pacchetto desktop è tauri:dev lo script crea uno stub sidecar quando manca il file binario. Lo stub supporta l'isolamento della shell. Preferisci la radice desktop:dev comando durante l'esercizio dei servizi applicativi.

bun run desktop:dev prime corse build:sidecar, che compila il sidecar e organizza le migrazioni (steps della pipeline compile e resources). Quindi inizia tauri dev nel pacchetto desktop.

Verificare la prima sessione

  1. Attendi che l'applicazione lasci la schermata di avvio e confermi che è connessa all'API desiderata.
  2. Crea o apri un progetto e inserisci CAD o CAM.
  3. Salvare il lavoro e riaprirlo tramite l'interfaccia utente del progetto/risorsa per verificare la persistenza.
  4. Se utilizzi l'assistente, configura un provider di modelli supportato nelle impostazioni del desktop prima di avviare una conversazione.
  5. Se utilizzi il compagno iOS, abilita il relativo gateway e crea un accoppiamento del dispositivo sul desktop.

Testare un percorso visibile non convalida la sicurezza della lavorazione. Ispezionare stock, attrezzature, limiti della macchina, post-output e risultati di verifica per l'operazione effettiva prima di trasferire l'output NC a una macchina.

Eseguire il sito di documentazione
bun run --cwd packages/web start
bun run --cwd packages/web check
bun run --cwd packages/web build

La rete start il comando esegue Astro. Utilizzare l'indirizzo locale stampato. La rete dev lo script avvia inoltre l'API di Studio, che può aprire il database locale selezionato; usarlo quando si lavora su Studio anziché solo sulla documentazione statica.

Comandi successivi

ObiettivoComando
Compila solo il sidecar e metti in scena le migrazionibun run build:sidecar
Crea frontend senza programmi di installazionebun run build:desktop
Esaminare il piano di build nativobun scripts/build.ts --dry-run
Rigenerare i client APIbun run generate
Controlla i client generatibun run generate:check
Esegui test di trasporto compagnobun run --cwd apps/mobile test

Verifica un'API reale senza un modello

Avvia il sidecar manuale descritto nella guida allo sviluppo locale o utilizza l'endpoint/token di un processo di sviluppo che controlli. La seguente ricetta crea un progetto usa e getta e lo elenca. Necessita di arricciatura; l'estrazione opzionale dell'identificatore utilizza Bun. Sostituisci la porta e il token di esempio con quelli del tuo sidecar isolato.

Secondo terminale: salute, crea, elenca, leggi
CADCAM_URL=http://127.0.0.1:43111
CADCAM_TOKEN=local-development-token

curl --fail-with-body "$CADCAM_URL/api/health"

curl --fail-with-body -X POST "$CADCAM_URL/api/projects"   -H "Authorization: Bearer $CADCAM_TOKEN"   -H 'Content-Type: application/json'   -d '{"name":"Documentation smoke","description":"Disposable local check","isPublic":false}'   -o /tmp/cadcamfun-project-smoke.json

curl --fail-with-body "$CADCAM_URL/api/projects"   -H "Authorization: Bearer $CADCAM_TOKEN"

CADCAM_PROJECT_ID=$(bun --no-env-file -e   'const row = await Bun.file("/tmp/cadcamfun-project-smoke.json").json(); console.write(row.id)')
curl --fail-with-body "$CADCAM_URL/api/projects/$CADCAM_PROJECT_ID"   -H "Authorization: Bearer $CADCAM_TOKEN"

Health restituisce un oggetto status/timestamp. La creazione del progetto restituisce HTTP 201 e una riga di progetto con il suo identificatore. L'elenco restituisce una serie di progetti con relazioni e conteggi proprietario/organizzazione; la lettura per identificatore restituisce uno di questi progetti correlati. L'esempio non richiama un modello né genera l'output della macchina.

Chiudi in modo pulito il sidecar manuale, riavvialo con la stessa directory dei dati, aggiorna l'URL temporaneo ed elenca nuovamente i progetti per verificare la persistenza. Un nuovo lancio può scegliere una porta diversa. Se questo progetto è assente, confrontare innanzitutto la directory dei dati, l'endpoint client e il contesto di autorizzazione.

La pulizia è facoltativa e distruttiva per questo progetto usa e getta: send DELETE /api/projects/<id> solo dopo aver confermato l'identificatore restituito. Creazione/elenco/lettura persistenza dell'applicazione per esercizi senza richiedere la pulizia per avere successo.

Interpretare gli errori di prima esecuzione

FallimentoConfine probabileAzione successiva
L'installazione della dipendenza non può risolvere un pacchetto localeInstallazione nell'area di lavoroEsegui dalla root del repository con la versione Bun e il file di lock dichiarati.
Collegamento nativo o errore WebKitPrerequisiti TauriInstalla le librerie della toolchain/piattaforma utilizzate dalla destinazione CI corrispondente.
Nessun evento prontoConfigurazione, migrazione o avvio del sidecarEsamina stderr e l'evento di errore strutturato. Mantieni lo stdin aperto.
La salute funziona, il bando di progetto restituisce 401AutorizzazioneLa sanità è pubblica; le chiamate API protette necessitano ancora del token del processo corrente.
Crea resi 400Richiedi validazione/convalida aziendaleInvia JSON con un nome non vuoto e controlla il messaggio restituito.
Crea resi 403 con i dati dell'organizzazioneAppartenenza all'organizzazioneUtilizza un'organizzazione accessibile o ometti il campo dell'organizzazione per un controllo locale.
Il compagno nativo dice che il blocco non è disponibileModulo Expo locale mancanteUtilizza una build iOS personalizzata, non Expo Go.

Mantieni la prima verifica di dimensioni ridotte: integrità, un progetto, un disegno/programma persistente, quindi integrazioni facoltative. Il lancio riuscito di un'applicazione di base non configura automaticamente Stripe, i provider di intelligenza artificiale, un repository GitHub remoto o il routing mobile.

Dettagli del requisito

AttrezzoVersioneNecessario per
Bun1.4.4 (il file del repository packageManager)Tutto: installazione, test, sidecar, script
Toolchain Rust + prerequisiti Tauristabile; librerie di visualizzazione web della piattaforma su LinuxLa shell del desktop (desktop:dev, costruisce)
CLI SQLitequalunqueFacoltativo: ispezione del database di sola lettura
Xcode—Solo per il compagno iOS

La tua prima ora, passo dopo passo

Dal clone a un desktop funzionante
git clone https://github.com/nikomatt69/cadcamfun.git
cd cadcamfun
bun install --frozen-lockfile
bun run typecheck                 # all workspaces
bun run test                      # bun test packages apps scripts
bun run desktop:dev               # builds the sidecar + migrations, then tauri dev
  1. Quando la finestra si apre, lo stato del sidecar diventa pronto in pochi secondi; una nuova directory di dati viene migrata al primo avvio.
  2. Crea un progetto, aggiungi un disegno, disegna un rettangolo ed estrudilo.
  3. Apri CAM, seleziona il solido e genera. Controllare il livello di rilascio e le rivendicazioni prima di esportare NC.
  4. Apri il pannello della cronologia ed effettua il commit: il progetto ora ha la sua prima versione.

Non è necessaria alcuna chiave modello

Tutto quanto sopra funziona senza un fornitore di intelligenza artificiale. Aggiungi una chiave più tardi nelle impostazioni dell'assistente.

Nel 3D

Si avvia l'avvio rapido dei pezzi Trascina per orbitare · scorri per ingrandire · trascina con il tasto destro per eseguire la panoramica
Processes at run time. The Tauri shell spawns the sidecar and waits for its {”event”:”ready”,”port”:N} line on stdout (sidecar.rs); the webview then talks HTTP to 127.0.0.1 on that port with the bearer token. The sidecar owns the SQLite database, the embedded nikcli AI host (CADCAMFUN_AI_HOST=nikcli, the default) and plugins; the mobile app reaches it through companion pairing.