Voice Iterate Widget (Προεπισκόπηση)
Το αποθετήριο περιέχει ένα ενσωματωμένο στοιχείο Web που καταγράφει ένα πληκτρολογημένο ή οδηγίες μεταγραφής από το πρόγραμμα περιήγησης, την υποβάλλει σε μια ιδιόκτητη εφαρμογή OpenFactory και δημοσκοπεί το εισιτήριο επισκευής που προκύπτει. Η ενσωμάτωση είναι μόνο για προεπισκόπηση.
Η πηγή πακέτου βρίσκεται στο tools/voice-iterate στο μονορέπο του OpenFactory. Κάνετε
να μην υποθέσουμε ότι το @openfactory/voice-iterate ή το πακέτο CDN του έχει δημοσιευτεί.
δημιουργήστε και καρφιτσώστε ένα αναθεωρημένο τεχνούργημα από το αποθετήριο μέχρι να κυκλοφορήσει
αναφέρεται ρητά στο μητρώο πακέτων.
Τρέχον όριο
Το τελικό σημείο δέχεται μια οδηγία για μια εφαρμογή με πηγή Git και αποστέλλει
την κοινή ροή εργασιών επισκευής. Το Στάδιο 0 αλλάζει το αναπτυγμένο αντίγραφο του sandbox και μπορεί
αναδιάταξη αυτής της προεπισκόπησης. Δεν εγγυάται ότι η αλλαγή δεσμεύεται
το upstream αποθετήριο. Ένα εισιτήριο με την ένδειξη done αποδεικνύει μόνο τον καταγεγραμμένο πράκτορα
αποτέλεσμα της εργασίας· ελέγξτε το αποτέλεσμά της και επαληθεύστε μόνοι σας την εφαρμογή.
Η υπηρεσία επιτρέπει το πολύ δύο επαναλήψεις κατά την πτήση ανά εφαρμογή. Επιπλέον
αιτήματα επιστροφής 429 έως ότου ένα εισιτήριο φτάσει σε κατάσταση τερματικού.
Προαπαιτούμενα
- Μια ιδιόκτητη εφαρμογή OpenFactory με
source.git_url. - Ένας πραγματικός λογαριασμός. Οι συνεδρίες επισκέπτη δεν μπορούν να αποστέλλουν αυτόνομες αλλαγές κώδικα.
- Ένα κλειδί λογαριασμού
of_mcp_που διατηρείται σε διακομιστή, ποτέ σε JavaScript του προγράμματος περιήγησης. - HTTPS ή προέλευση ανάπτυξης τοπικού κεντρικού υπολογιστή, εάν χρησιμοποιείται είσοδος μικροφώνου.
Δημιουργήστε το γραφικό στοιχείο από την πηγή
Από το monorepo:
cd tools/voice-iterate
npm ci
npm test
npm run lint
npm run buildΠρομηθευτείτε το πακέτο έκδοσης που προκύπτει ή εγκαταστήστε το από το δικό σας ελεγχόμενο πακέτο μητρώου. Καταγράψτε τη δέσμευση πηγής και το άθροισμα ελέγχου που χρησιμοποιούνται από την εφαρμογή σας.
Χρησιμοποιήστε έναν διακομιστή μεσολάβησης ίδιας προέλευσης
Το γραφικό στοιχείο που βλέπει στο πρόγραμμα περιήγησης καλεί:
POST {endpoint}/iterate
GET {endpoint}/agent-status
GET {endpoint}/agent-status?thread_id={thread_id}Ο διακομιστής σας θα πρέπει να καρφιτσώσει το αναγνωριστικό της εφαρμογής προορισμού και να προωθήσει αυτά τα αιτήματα σε:
POST https://console.openfactory.tech/api/apps/{APP_ID}/iterate
GET https://console.openfactory.tech/api/apps/{APP_ID}/agent-statusΣυνδέστε το Authorization: Bearer <of_mcp_key> μόνο στον διακομιστή. Έλεγχος ταυτότητας
και να περιορίσετε το ποσοστό των δικών σας χρηστών μεσολάβησης. διαφορετικά κάθε επισκέπτης μπορεί να φτάσει στο
διαδρομή μπορεί να ξοδέψει την εξουσία του λογαριασμού σας σε αλλαγές στην καρφιτσωμένη εφαρμογή. Να επιτρέπεται
μόνο οι τρεις διαδρομές και οι δύο παραπάνω μέθοδοι, επιβάλετε όρια μεγέθους αιτήματος και κάντε
μην προωθείτε αυθαίρετες κεφαλίδες ή αναγνωριστικά εφαρμογών.
Προσαρτήστε την τοπικά κατασκευασμένη λειτουργική μονάδα με το τελικό σημείο του διακομιστή μεσολάβησης:
import { createVoiceIterate } from './vendor/openfactory-voice-iterate/index.mjs';
const widget = createVoiceIterate({
appId: '550e8400-e29b-41d4-a716-446655440000',
endpoint: '/api/voice-iterate',
fallback: 'text',
onStatusChange: ({ status, thread }) => {
console.log(status, thread.taskResult);
},
});Το προσαρμοσμένο στοιχείο και τα στυλ του εκτελούνται σε ένα Shadow DOM. Το προεπιλεγμένο κείμενο Η εναλλακτική λύση παραμένει χρησιμοποιήσιμη όταν η αναγνώριση ομιλίας του προγράμματος περιήγησης δεν είναι διαθέσιμη. Οι υπηρεσίες ομιλίας του προγράμματος περιήγησης και η συμπεριφορά απορρήτου διαφέρουν ανάλογα με το πρόγραμμα περιήγησης και την ανάπτυξη. λάβετε συναίνεση και δοκιμάστε το ακριβές υποστηριζόμενο σύνολο προγράμματος περιήγησης. Το OpenFactory λαμβάνει το κείμενο που προκύπτει σε αυτήν τη διαδρομή, ενώ το πρόγραμμα περιήγησης ή μια διαμορφωμένη ομιλία η υπηρεσία μπορεί να επεξεργάζεται τον ήχο ξεχωριστά.
Τεστ αποδοχής
- Υποβάλετε μια αβλαβή, αναστρέψιμη αλλαγή σε μια μη παραγωγική εφαρμογή.
- Επιβεβαιώστε ότι ο διακομιστής μεσολάβησης δεν μπορεί να στοχεύσει καμία άλλη εφαρμογή και απορρίπτει μη επαληθευμένη ταυτότητα καλούντες.
- Παρατηρήστε
queued/workingμέσω ενός τερματικούdone,failed,lostήstaleκατάσταση. - Επιθεωρήστε το αποτέλεσμα της εργασίας και κάντε προεπισκόπηση με μη αυτόματο τρόπο.
- Επιβεβαιώστε ότι το αποθετήριο Git upstream παραμένει αμετάβλητο εκτός εάν υπάρχει ξεχωριστό, Η ελεγμένη ροή εργασιών με παραμονή πηγής αναφέρει αίτημα δέσμευσης ή έλξης.
- Επαναφέρετε ή δημιουργήστε ξανά το sandbox από την κανονική πηγή.
Ανατρέξτε στην ενότητα Prompt-to-app agent και Ανάπτυξη εφαρμογής για την ίδια επιμονή και όρια προώθησης.