Cipta templat pipeline
Templat pipeline dikarang dalam tetapan ruang kerja. Entri Pipeline dalam bar sisi ruang kerja ialah baris gilir larian, bukan senarai templat — ia tiada tindakan “cipta templat”.
Untuk mengetahui maksud setiap jenis langkah, kunci badan dan medan konfigurasi, lihat rujukan langkah pipeline.
Cipta templat
Bahagian bertajuk “Cipta templat”- Pergi ke Tetapan → Ruang kerja → Templat pipeline
(
/workspaces/<workspace-id>/settings/pipelines). - Tekan Templat baharu.
Tiada dialog id. Editor terbuka serta-merta pada rangka kerja yang telah disemai
bernama Pipeline baharu, dengan id yang diperuntukkan secara automatik
(pipeline_1, kemudian pipeline_2, …). Klik tajuk dalam pengepala untuk
menamakannya semula.
Kanvas tidak kosong: satu nod kemasukan Trigger, satu nod ejen prompt berlabel Step dan satu sentinel terminal yang menamatkan larian. Sentinel itu tidak dilukis. Editor menyambung semula terminal tersembunyi itu ke setiap titik akhir yang boleh dicapai, jadi kerja yang anda lampirkan selepas Step tetap berjalan.
Tambah nod
Bahagian bertajuk “Tambah nod”Bar sisi Pustaka nod sentiasa berada di kiri editor. Tapisnya dengan kotak Cari nod dan seret satu entri ke kanvas — nod itu mendarat di tempat anda melepaskannya, tanpa sambungan masuk.
| Nod palet | Jenis langkah | Apa yang dilakukannya |
|---|---|---|
| Bash script | listen | Menjalankan skrip shell dengan penggantian {{state}}; tiada ejen dihantar |
| Open conversation | listen | Membuka satu-satunya ruang yang kelihatan bagi larian itu dan checkout-nya; nod ejen menyertai bilik ini |
| Clone PR branch | listen | Menemui cawangan head PR melalui gh pr view dan mengklonnya ke direktori larian |
| Post PR comment | listen | Menyiarkan dapatan yang digabungkan ke PR sebagai komen semakan GitHub |
| Reviewer (prompt) | listen | Menghantar ejen penyemak pakar; menangguhkan sehingga ejen menyerahkan hasilnya |
| Consolidate (join) | join | Menunggu beberapa cabang huluan, kemudian meminta ejen menggabungkan output mereka |
| Custom prompt | listen | Nod dipacu prompt generik yang dialirkan melalui badan promptAgent |
| Post to space | listen | Menghantar mesej ke ruang pemesejan |
| Condition / switch (router) | router | Mencabangkan aliran berdasarkan nilai keadaan |
| If file exists (router) | router | Mengeluarkan kunci laluan "true" apabila sesuatu laluan wujud di bawah klon, jika tidak "false" |
| Any file exists (OR router) | router | Mengeluarkan kunci laluan "true" apabila mana-mana laluan yang disenaraikan wujud |
| All conditions (AND router) | router | Mengeluarkan kunci laluan "true" hanya apabila setiap laluan yang disenaraikan wujud |
| Team dispatch | listen | Menghantar keseluruhan pasukan dan menangguhkan sehingga ia selesai |
| Approval gate | listen | Berhenti seketika untuk keputusan kelulusan |
| For each (map) | forEach | Memaparkan prompt bagi setiap item, kemudian menghantar ejen sekali dengan prompt itu dicantumkan |
| Call sub-pipeline | listen | Menjalankan templat lain sebagai langkah bersarang |
| Clean up worktrees | listen | Membuang worktree terasing yang lapuk; deterministik, tiada ejen dihantar |
Pustaka ini mengelompokkan semua ini di bawah Aliran & logik, Semakan PR, Ejen, Pemesejan dan Kod. Tiada kumpulan Demo.
Sambungkan nod
Bahagian bertajuk “Sambungkan nod”Setiap nod kerja mempunyai port output bulat di tepi kanannya. Seret dari
port itu ke nod lain untuk menyambungkannya. Pencetus permulaan juga sama:
setiap satu memiliki portnya sendiri, jadi wayar dari Jadual tidak juga
keluar dari Larian manual. Tekan Tambah langkah (+) tepat selepas satu
nod untuk menyisipkan satu jenis selepasnya. Tuding titik tengah tepi yang sedia
ada dan tekan × untuk memutuskan sambungan.
Sambungan juga boleh diedit dari nod yang menerimanya:
- Pilih nod hiliran. Panel konfigurasinya terbuka di sebelah kanan.
- Tatal ke Pencetus dari dan ketik cip bagi setiap nod huluan yang perlu didengari nod ini. Mengetik cip yang dipilih akan membuang sambungan itu.
- Jika nod huluan ialah router, blok Kunci laluan muncul di bawah cip
dengan satu medan Kunci laluan dari <node> bagi setiap tepi router.
Masukkan kunci yang dicetuskan oleh tepi itu —
trueataufalseuntuk router fail-wujud, atau nama kes untuk suis.
Setiap nod pencetus ialah titik kemasukan. Satu nod boleh mendengar beberapa huluan (fan-in) dan menyuap beberapa hiliran (fan-out), dan graf itu mesti kekal asiklik — tiada apa-apa dalam editor menghalang anda daripada menyambung kitaran, jadi semak kerja anda.
Sentinel terminal ditapis keluar dari kanvas, jadi ia tidak boleh dipilih. Editor menyambung semula sentinel itu ke setiap titik akhir yang boleh dicapai setiap kali graf berubah, jadi kerja yang anda lampirkan selepas Step yang disemai tetap berjalan. Graf kosong (pencetus tanpa pengganti kerja) menyenaraikan pencetus itu sendiri supaya satu larian selesai serta-merta.
Konfigurasikan nod
Bahagian bertajuk “Konfigurasikan nod”Pilih satu nod untuk membuka panel konfigurasinya. Medan yang muncul bergantung pada badan nod itu.
Setiap nod mempunyai Label, Kunci input (kunci keadaan yang dipisahkan koma, dibaca pada masa pelaksanaan) dan, di bawah Lanjutan, Pengurang, Tamat masa (ms), Percubaan semula, Teruskan jika langkah ini gagal dan Skema output (JSON). Nod listen dan join juga boleh menukar Jenis-nya antara kedua-duanya.
Buka perbualan
Bahagian bertajuk “Buka perbualan”Menambah pemilih skop repo (repositori ruang kerja mana yang hendak di-checkout; kosong bermaksud tiada), satu Nama ruang, dan kotak centang Buka perbualan di dalamnya. Apabila kotak centang itu dihidupkan, medan Nama perbualan menamakan strim yang dibuka oleh bilik itu. Nod ejen menyertai bilik ini — ia tidak membuka biliknya sendiri.
Ejen prompt
Bahagian bertajuk “Ejen prompt”Menambah Ejen (ejen mana yang hendak dihantar), Templat prompt
(gunakan {{key}} untuk merujuk input atau output huluan) dan Kunci output.
Tamat masa (ms) adalah dalam milisaat, bukan saat — 900000 ialah 15
minit. Memasukkan 900 memberi langkah itu 0.9 saat.
Modus perbualan yang digunakan oleh nod ejen prompt tiada medan editor pada nod
ejen. Ia menumpang extras['mode'] (chat, plan atau review) pada nod
Open conversation yang mencipta bilik itu (lalai review). Menetapkannya
pada langkah ejen diabaikan. Kunci itu dipadankan dengan tepat: sebarang ejaan
lain diabaikan secara senyap.
Skrip bash
Bahagian bertajuk “Skrip bash”Menambah Skrip Bash. Tiada medan direktori kerja atau persekitaran, kerana kedua-duanya tidak boleh dikonfigurasi:
- Setiap langkah bash dalam satu larian berkongsi cwd
<cc_root>/pipelines/<runId>/. GITHUB_TOKENdisuntik daripada stor kelayakan, jadighdangit clone https://x-access-token:$GITHUB_TOKEN@…berfungsi tanpa penyediaan.- Skrip itu dilancarkan sebagai boleh laksana literal
bash, jadibashmesti ada padaPATHhos pelayan. Itu pertimbangan Windows.
Router menilai satu syarat dan memulangkan kunci laluan; enjin hanya memicu tepi hiliran yang kunci laluannya sepadan dan menandakan cabang lain sebagai dilangkau.
Memilih router menggantikan medan Kunci output dengan editor syarat. Pilih salah satu daripada empat modusnya:
- Fail wujud — mana-mana — mengeluarkan kunci laluan
"true"apabila mana-mana laluan yang disenaraikan wujud. - Fail wujud — semua — mengeluarkan kunci laluan
"true"hanya apabila setiap laluan yang disenaraikan wujud. - Perbandingan — membandingkan nilai keadaan dengan satu literal.
- Suis — mengeluarkan laluan berdasarkan nilai kunci keadaan, dengan satu kes lalai.
Kemudian tetapkan kunci laluan yang sepadan pada tepi keluar (lihat Sambungkan nod).
Kumpulan boolean and / or / not disokong oleh badan itu tetapi tidak boleh
dikarang daripada borang ini — ia memerlukan pokok predikat yang ditulis dengan
tangan di bawah extras.predicate. Kosa kata penuh predikat dan pengendali ada
dalam
rujukan langkah pipeline.
Tiada konfigurasi tersendiri: ia menunggu semua langkah huluannya.
Gerbang kelulusan
Bahagian bertajuk “Gerbang kelulusan”Gerbang itu menghantar ejen pelulus ke dalam perbualan tersembunyi dengan prompt
gerbang dan menangguhkan. Pelulus meminta keputusan anda dalam perbualan itu dan
menyerahkannya dengan submit_output sebagai
{ "decision": "approved" | "rejected", "reason": "..." }. Keputusan itu
mendarat di bawah kunci output (lalai approval_decision), jadi router suis di
hiliran boleh mencabang berdasarkannya.
Tetapkan Ejen kepada pelulus dan Templat prompt kepada soalan gerbang.
Gerbang diselesaikan melalui submit_output sebagai
{ "decision": "approved" | "rejected", "reason": "..." }. Nod Reviewer (prompt)
menyerah dengan cara yang sama.
Penghantaran pasukan
Bahagian bertajuk “Penghantaran pasukan”Menambah ID pasukan dan Modus penghantaran. Pemilih itu menawarkan tepat dua modus:
allParallel— satu tugasan bagi setiap anggota, menangguhkan sehingga semua selesai.manager— menghantar pemimpin, yang kemudian mewakilkan.
Sebarang nilai lain yang tersimpan berkelakuan sebagai allParallel. Tetapkan
Pengurang kepada append untuk mengumpulkan hasil setiap anggota ke dalam
senarai di bawah kunci output.
For each dan Call sub-pipeline
Bahagian bertajuk “For each dan Call sub-pipeline”For each memetakan ke atas kunci keadaan items secara lalai
(extras.iterableKey / extras.itemKey pada nod). Ia memaparkan promptnya
sekali bagi setiap item ({{item}} secara lalai) dan menghantar ejen sekali
dengan prompt itu dicantumkan. Koleksi kosong selesai serta-merta dengan senarai
kosong. Ia bukan satu penghantaran selari bagi setiap item.
Call sub-pipeline menangguhkan sehingga larian anak mencapai keadaan
terminal, kemudian menggabungkan keadaan akhir anak di bawah kunci output (lalai
subflow_result). Arahkannya kepada anak dengan extras.templateId. Sesuatu
templat tidak boleh memanggil dirinya sendiri; anak yang gagal atau dibatalkan
menggagalkan langkah induk, yang kemudian menyuap polisi cuba semula dan
terus-walaupun-gagal langkah itu.
Isytiharkan input dan benarkan larian manual
Bahagian bertajuk “Isytiharkan input dan benarkan larian manual”Kedua-duanya berada di sebalik Larian manual dalam pengepala editor.
- Tekan Larian manual.
- Hidupkan Benarkan larian manual. Suis ini kekal serta-merta — ia mencipta
(atau memadam) baris pencetus
manualyang menjadikan templat itu muncul dalam pemilih larian. - Tetapkan Maksimum larian selari jika anda mahu had (biarkan kosong untuk
tanpa had). Permulaan tambahan menunggu dalam keadaan
queuedsehingga satu slot kosong. - Tekan Tambah input bagi setiap medan borang yang perlu dikumpulkan oleh larian manual:
| Medan | Keterangan |
|---|---|
| Kunci | Kunci keadaan tempat nilai disimpan; rujuk sebagai {{key}} |
| Label | Label paparan (lalai kepada kunci) |
| Jenis | Teks, Teks berbilang baris, Nombor, Togol, Pilih, Repositori |
| Pilihan (dipisahkan koma) | Pilihan dipisahkan koma, untuk Pilih sahaja |
| Nilai lalai | Nilai yang telah diisi terlebih dahulu |
| Pemegang tempat | Teks petunjuk di dalam medan kosong |
| Teks bantuan | Teks bantuan di bawah medan |
| Diperlukan | Sama ada borang larian menyekat nilai kosong |
Input Repositori memaparkan pemilih ke atas repositori ruang kerja dan
mengisi repo_id, repo_local_path, repo_full_name dan — apabila repositori
itu mempunyai remote GitHub — repo_owner dan repo_name ke dalam muatan
larian.
- Tekan Simpan dalam dialog. Suntingan input dilipat ke dalam draf; ia kekal apabila anda menyimpan templat.
Simpan dan dayakan
Bahagian bertajuk “Simpan dan dayakan”- Tekan Simpan dalam pengepala editor. Pengepala menunjukkan “Perubahan belum disimpan” sehingga anda melakukannya.
- Kembali ke Tetapan → Ruang kerja → Templat pipeline dan pastikan suis baris templat itu dihidupkan. Enjin menolak untuk memulakan templat yang dilumpuhkan dan templat yang dilumpuhkan tidak pernah muncul dalam pemilih larian.
- Untuk memulakannya secara automatik, seret pencetus dari pustaka nod ke kanvas — lihat Sediakan pencetus pipeline.
Panduan berkaitan
Bahagian bertajuk “Panduan berkaitan”- Jalankan pipeline secara manual
- Sediakan pencetus pipeline
- Pantau larian pipeline
- Rujukan langkah pipeline