Presale Generator
Presale Generator bierze zapytanie ofertowe (RFP) i prowadzi je aż do wycenionego, zaplanowanego presales, bez ręcznego dotykania arkusza kalkulacyjnego. Jak każdą wtyczkę Speedwave, także tę pisze, rozwija i dostarcza wyłącznie Speednet.
Co robi
Dział zatytułowany „Co robi”Wskazujesz Presale Generatorowi dokumenty wejściowe (RFP, brief, materiały pomocnicze), a on wyodrębnia wymagania, rozdzielając funkcjonalne od niefunkcjonalnych, i znajduje aktorów oraz przypadki użycia. Na tej podstawie buduje hierarchiczny podział prac na epiki, funkcje i zadania, szacuje każde z nich w godzinach, a na końcu tworzy harmonogram i plan zespołu. Przechowuje każdy presales jako wersjonowany stan, więc możesz go iterować i porównywać wersje w miarę zmian wymagań. Nie potrzebuje żadnych danych uwierzytelniających: nie ma żadnego zewnętrznego systemu, do którego trzeba by się logować, bo worker tylko przechowuje i przelicza stan, a analizę wykonuje model.
Z czego się składa
Dział zatytułowany „Z czego się składa”Wtyczka ma trzy części:
- Worker, który udostępnia 53 narzędzia w postaci czystych funkcji, pogrupowane w stan, fazy i kroki procesu, iteracje i śledzenie zmian, terminy, dopasowanie zespołu, ekstrakcję dokumentów, artefakty oraz hierarchiczny podział prac. Narzędzia nie mają własnych opinii: przechowują i zwracają ustrukturyzowany stan.
- Warstwa ekstrakcji dokumentów napisana w Pythonie, z kilkoma silnikami (markitdown, pdftotext, pandoc, openpyxl, python-docx i docling), dzięki którym worker czyta pliki PDF, Word, Excel i inne formaty. Zobacz Dokumenty biurowe, żeby dowiedzieć się, jak Speedwave obsługuje te formaty.
- Zestaw zasobów: 22 komendy i 24 umiejętności, które prowadzą cały proces. Umiejętności odpowiedzialne za szacowanie i podział prac działają na najsilniejszym dostępnym modelu i z najwyższym poziomem wysiłku rozumowania, bo to one dźwigają analityczny ciężar całego procesu.
Jak to działa
Dział zatytułowany „Jak to działa”Pracujesz nad jedną szansą sprzedażową naraz. Tworzysz ją komendą /presale:add, wrzucasz dokumenty źródłowe (RFP, wymagania, pliki PDF, Word, Excel, PowerPoint) do jej folderu wejściowego, a potem wybierasz ją komendą /presale:select, żeby każda kolejna komenda działała właśnie na niej.
Od tego momentu proces przechodzi przez ustalone fazy: ekstrakcja, analiza, podział prac, szacowanie, harmonogram, zespół. Komenda /presale:continue mówi ci, w jakiej jesteś fazie i jaka jest dokładnie następna komenda, więc nigdy nie musisz zapamiętywać kolejności. Jeśli wolisz sterować ręcznie: /presale:extract zamienia dokumenty w różnych formatach na czysty markdown, /presale:analyze wyciąga aktorów, cele i wymagania oraz proponuje stos technologiczny, który musisz potwierdzić, /presale:create-wbs rozkłada wymagania na epiki, funkcje i zadania, /presale:estimate szacuje wyłącznie nakład pracy w godzinach, a /presale:timeline i /presale:team tworzą harmonogram i skład zespołu.
Faza jest wyliczana, a nie ustawiana ręcznie: przechodzi dalej dopiero wtedy, gdy zakończy się każdy jej krok, a wymagania wstępne są egzekwowane po kolei, więc komenda podziału prac zatrzyma się i powie ci, jeśli analiza jeszcze nie jest gotowa. Wszystko jest przechowywane lokalnie w folderze danej szansy sprzedażowej, wersjonowane dla każdej iteracji, ze śladem audytowym, a po każdej fazie zapisywany jest punkt kontrolny, więc możesz się zatrzymać i wrócić później.
Umiejętności i komendy
Dział zatytułowany „Umiejętności i komendy”Umiejętności orkiestrujące prowadzą fazy procesu i równolegle uruchamiają umiejętności podrzędne.
| Umiejętność | Co robi |
|---|---|
presale-rfp-analyzer | Orkiestruje analizę RFP, dzieląc dokument na fragmenty obsługiwane przez równoległe agenty |
presale-breakdown | Orkiestruje podział prac na epiki, funkcje i zadania |
presale-estimator | Orkiestruje szacowanie nakładu pracy, grupując zadania między agentami |
presale-add | Tworzy nową szansę sprzedażową i jej strukturę folderów |
presale-select | Aktywuje istniejącą szansę sprzedażową jako bieżącą |
presale-auto-assume | Zamienia każdą otwartą lukę w udokumentowane założenie z poziomem pewności i ryzykiem |
presale-cross-reference-builder | Mapuje, jak artefakty odnoszą się do siebie nawzajem w całym presales |
presale-risk-aggregator | Zbiera, deduplikuje i priorytetyzuje ryzyka znalezione we wszystkich fazach |
presale-team-composition | Proponuje skład zespołu na podstawie stosu technologicznego i szacunków |
presale-timeline | Buduje harmonogram dostawy na podstawie oszacowanego podziału prac, zależności, dostępności i dni wolnych |
presale-use-cases | Wyprowadza aktorów i przypadki użycia, z głównym przebiegiem, wariantami alternatywnymi i wyjątkami |
Trzynaście kolejnych umiejętności podrzędnych wykonuje w tle pracę na poszczególnych fragmentach. Uruchamiają je powyższe orkiestratory, ty sam nigdy ich nie wywołujesz bezpośrednio.
| Umiejętność | Co robi |
|---|---|
presale-extract-actors | Wyodrębnia aktorów z pojedynczego fragmentu dokumentu RFP |
presale-extract-business-goals | Wyodrębnia cele biznesowe z pojedynczego fragmentu dokumentu RFP |
presale-extract-categories | Wyodrębnia kategorie wymagań z pojedynczego fragmentu dokumentu RFP |
presale-extract-fr | Wyodrębnia wymagania funkcjonalne z pojedynczego fragmentu dokumentu RFP, z kontekstem odniesień krzyżowych |
presale-extract-nfr | Wyodrębnia wymagania niefunkcjonalne z pojedynczego fragmentu dokumentu RFP, z kontekstem odniesień krzyżowych |
presale-extract-gaps | Wyodrębnia luki i otwarte pytania z pojedynczego fragmentu dokumentu RFP, z pełnym kontekstem odniesień krzyżowych |
presale-extract-compare | Porównuje wyniki różnych silników ekstrakcji dla dokumentu i wybiera najlepszy |
presale-breakdown-epic-plan | Przypisuje wymagania funkcjonalne do epików w sposób deterministyczny, zastępując równoległą rundę epików, żeby uniknąć duplikatów |
presale-breakdown-epic | Grupuje wymagania funkcjonalne w epiki |
presale-breakdown-feature | Rozkłada epiki na funkcje |
presale-breakdown-task | Rozkłada funkcje na zadania |
presale-breakdown-decisions | Identyfikuje decyzje techniczne i architektoniczne na podstawie zakresu podziału prac |
presale-estimate-task | Szacuje partię zadań metodą pojedynczego punktu w wariancie optymistycznym, z uwzględnieniem strumieni pracy |
Komendy działają pod /presale::
| Komenda | Co robi |
|---|---|
add, select, unselect | Tworzy szansę sprzedażową, aktywuje ją albo czyści aktywną |
list, status, health | Pokazuje szanse sprzedażowe, ogólny postęp albo wskaźnik kondycji |
extract | Konwertuje dokumenty źródłowe na markdown, dobierając silnik do formatu |
analyze, analysis | Uruchamia analizę wymagań albo pokazuje jej wyniki |
create-wbs, breakdown | Buduje hierarchiczny podział prac albo go pokazuje |
estimate | Szacuje nakład pracy w godzinach w całym podziale prac |
actors, use-cases | Pokazuje wyodrębnionych aktorów i przypadki użycia |
team, timeline | Pokazuje skład zespołu albo harmonogram dostawy |
continue | Mówi ci, w jakiej jesteś fazie i jaka jest dokładnie następna komenda |
presale | Punkt wejścia, który wyświetla dostępne subkomendy |
Komendy iteracji działają pod /presale:iteration:
| Komenda | Co robi |
|---|---|
create | Zapisuje bieżący stan jako nową iterację, z wyzwalaczem i powodem |
list | Wyświetla wszystkie iteracje zapisane dla wybranej szansy sprzedażowej |
switch | Ustawia jedną z wcześniejszych iteracji jako aktywną |
compare | Wylicza różnicę między dwiema iteracjami |
Żadna z tych komend nie usuwa danych szansy sprzedażowej; unselect tylko czyści, która jest aktywna.
Narzędzia
Dział zatytułowany „Narzędzia”53 narzędzia workera to czyste funkcje: przechowują i zwracają ustrukturyzowany stan, nie łączą się z żadnym systemem zewnętrznym. Wywołują je wprost umiejętności, a ty nigdy nie sięgasz po nie samodzielnie. Pogrupowane według przeznaczenia:
| Grupa | Narzędzia | Co robi |
|---|---|---|
| Stan i proces | createPresaleState, validatePresaleState, updatePresaleState, setPhase, getValidTransitions, startStep, completeStep, failStep, getReadySteps, getWorkflowStatus, getStepRequirements, getRequiredStructure, getActivePresale, listPresales | Tworzy i waliduje stan szansy sprzedażowej, śledzi, w jakiej jest fazie i kroku, i pilnuje, żeby kroki przebiegały we właściwej kolejności |
| Ekstrakcja dokumentów | listInputDocuments, getExtractionStatus, extractDocument, getExtractionJob, validateExtractionQuality, finalizeComparison, initChunkExtraction, getNextChunkBatch, saveChunkResult, getChunkExtractionStatus, mergeChunkResults, cancelChunkExtraction, retryFailedChunk, getChunkContent, initDerivedExtraction, getNextDerivedBatch | Konwertuje dokumenty źródłowe na markdown, dzieli je na fragmenty dla równoległych agentów i scala wyniki poszczególnych fragmentów w jedną całość |
| Podział prac i artefakty | getBreakdownItems, buildBreakdownHierarchy, saveArtifact, getArtifact, getInputSchema, getTraceability, listArtifactTypes, getArtifactsSummary, scanArtifacts | Buduje hierarchię epików, funkcji i zadań oraz zapisuje i pobiera każdy wyodrębniony artefakt (wymagania, aktorów, cele, luki) wraz z odniesieniami do źródła |
| Iteracje | createIteration, deleteIteration, getIteration, detectChanges, computeDelta, logChange, analyzeChangeImpact | Zapisuje i porównuje wersje presales oraz śledzi, co zmieniło się między nimi |
| Terminy i zespół | setDeadline, updateDeadline, clearDeadline, checkDeadline, getTeamSkills, getTeamAvailability, calculateTeamMatch | Śledzi terminy dostawy i dopasowuje oszacowaną pracę do umiejętności i dostępności zespołu |
Konfiguracja
Dział zatytułowany „Konfiguracja”Presale Generator nie potrzebuje żadnych danych uwierzytelniających, więc konfiguracja to po prostu instalacja i włączenie wtyczki dla każdego projektu. Zobacz Korzystanie z wtyczek, żeby dowiedzieć się, jak zainstalować wtyczkę i ją włączyć.
Gdy jest już włączona, zacznij od /presale:add <nazwa>, żeby utworzyć szansę sprzedażową, dodaj swoje dokumenty źródłowe do jej folderu wejściowego, a potem /presale:select <nazwa>, żeby uczynić ją aktywną. W dowolnym momencie sprawdź postęp komendą /presale:status, albo /presale:health, jeśli chcesz zobaczyć tylko wskaźnik kondycji.
Granice bezpieczeństwa
Dział zatytułowany „Granice bezpieczeństwa”Worker to bezstanowy serwer logiki MCP w Node.js. Nie ma żadnych danych uwierzytelniających ani portów wystawionych na hosta: dociera do niego wyłącznie MCP Hub w sieci projektu, zabezpieczony tak samo jak każdy inny worker, z odebranymi wszystkimi uprawnieniami (capabilities), bez możliwości eskalacji uprawnień i z systemem plików tylko do odczytu. Worker ma wbudowaną warstwę ekstrakcji w Pythonie, która czyta wyłącznie dokumenty, jakie sam umieścisz w folderze wejściowym danej szansy sprzedażowej.