Пређи на садржај
BeeuniBeeuni
Српски
Esc
↑↓навигација↵отвори⌘Jпреглед
На овој страници

Referenca manifesta

Svaki ključ beeuni.yaml v2, sa podrazumevanim vrednostima, ograničenjima i pravilima validacije.

Манифест је датотека коју платформа сматра меродавном за пројекат. На овој страници наведени су сви кључеви beeuni.yaml (v2), њихови типови и подразумеване вредности, као и начин на који их платформа валидира. За верзију једноставнијим језиком погледајте Ваш пројекат.

Две површине конфигурације

Beeuni пројекат има две површине конфигурације са строгим, међусобно искључивим надлежностима.

  • Beeuni конфигурација — beeuni.yaml у корену репозиторијума дефинише окружење пројекта, агенте, алате, конекторе и окидаче. Sandbox шаблони могу да користе сопствени Dockerfile.
  • Конфигурација агента — датотеке агента, вештине и датотеке harness-а. Њих чита harness агента, у sandbox-у и локално.
Путања Садржај
beeuni.yaml Манифест: агенти и чему сваки може да приступи, окидачи, конектори, env, шаблони sandbox-а.
agents/<name>.md Један агент: frontmatter и системски упит. Именује га agents.<name>.file.
skills/<name>/SKILL.md Једна вештина. Учитавају је сви harness-и.
memory/ Меморија пројекта.
tools/<name>.ts Алати пројекта, по један модул за сваки. Декларише их tools:; покрећу их сви harness-и. Погледајте Алати.
harnesses/opencode/ Датотеке које чита само стандардни harness: opencode.jsonc, plugins/, tools/, commands/. opencode.config_dir упућује овде.

Пројекти настали пре 2026-09 чувају агенте и вештине у .beeuni/opencode/, а меморију у .beeuni/memory/. Beeuni чита оба распореда.

Спој између ова два дела је датотека .md агента. Кључ манифеста agents.<name> управља датотеком коју именује agents.<name>.file, или agents/<name>.md ако је file изостављен. Сва поља понашања налазе се искључиво у frontmatter-у и телу те датотеке .md, никада у beeuni.yaml:

  • системски упит
  • model, mode
  • temperature, top_p
  • steps, permission

Блок манифеста agents: задаје само правила управљања: који агенти могу да се покрену и чему сваки од њих може да приступи. Валидатор то спроводи. Одбацује блок v2 агента који садржи било које поље понашања, уз грешку која упућује на сопствену датотеку .md агента.

Локација и верзије

Сваки репозиторијум са важећим манифестом у корену је Beeuni пројекат. beeuni.yaml (v2, само YAML) је тренутни формат за нове пројекте, које креира веб-ток „Create project“ и beeuni init. beeuni.toml (v1) и даље ради за постојеће пројекте, али платформа за њега не прихвата нове функције v2. За шему v1 и кораке миграције са v1 на v2 погледајте Застарели TOML.

beeuni_version: 2 захтева YAML — датотека .toml која декларише beeuni_version: 2 не пролази валидацију. Манифест који декларише верзију већу од 2 одмах се одбацује, тако да платформа никада не протумачи погрешно неко будуће поље. Непознати кључеви највишег нивоа се игноришу, па у датотеку можете да сместите сопствене метаподатке.

validateManifest() је јединствени пролаз који стоји иза beeuni ship, провере спајања захтева за измену и beeuni validate. Свуда важе иста правила, па је све што се споји у main структурно исправно. Шема је јавна и генерише се из истог пакета:

Усмерите beeuni.yaml на шему v2 ради валидације у уређивачу или је преузмите преко CLI-ја:

# yaml-language-server: $schema=https://beeuni.ai/schema/beeuni.v2.schema.json
beeuni_version: 2
beeuni schema --version 2

Потпун пример

beeuni_version: 2
default_agent: beeuni

project:
  name: my-project
  description: What this project is.

env:
  required: [DATABASE_URL]
  optional: [STRIPE_API_KEY, WEBHOOK_SLACK_SECRET]

sandbox:
  templates:
    - slug: ml
      name: ML Development
      dockerfile: Dockerfile.ml
      cpu: 4
      memory: 16

opencode:
  config_dir: harnesses/opencode

agents:
  beeuni:
    file: agents/beeuni.md
    connectors: all
    secrets: all
    beeuni_permissions: all
    skills: all

  release-bot:
    file: agents/release-bot.md
    sandbox: ml
    connectors: [github]
    beeuni_permissions: [project.gitops.push]
    secrets: [GITHUB_AGENT_TOKEN]

triggers:
  - slug: daily-digest
    type: cron
    agent: beeuni
    cron: '0 0 9 * * 1-5'
    timezone: America/Los_Angeles
    prompt: |
      Summarize yesterday's commits. Open a CR against main.

Кључеви највишег нивоа

Кључ Обавезно Напомене
beeuni_version да мора бити 2
default_agent да мора да именује декларисаног, омогућеног агента
imports не друге YAML датотеке или директоријуми чији се triggers, connectors, agents, apps и tools спајају у овај манифест. Погледајте imports:
tools не алати доступни свакој сесији: назив алата → путања модула релативна у односу на репозиторијум или beeuni:<name> за Beeuni алат. Уз кључ tools, сесије добијају само Beeuni алате наведене у њему. Покрећу их сви harness-и. Погледајте tools:
runtime не "opencode" (подразумевано) или "pi" — harness агента који се покреће унутар sandbox-а сесије; pi покреће експериментални harness у истом процесу као демон sandbox-а и чита исте датотеке агента .md и вештине. Заставица функције pi_harness пројекта бира експериментални harness без овог реда. За експериментални harness је потребна заставица llm_gateway; без ње сесија покреће стандардни harness.
harnesses.pi.packages не експериментални harness пакети које учитавају експериментални harness сесије пројекта. Погледајте harnesses:
pi.config_dir не harnesses/pi, затим .beeuni/pi ако постоји. експериментални harness-изворни settings.json, extensions/, skills/ и prompts/.
project.name / project.description не метаподаци за приказ; платформа не чита project.name за назив пројекта који се приказује
env.required / env.optional не називи env променљивих; required служи само као смерница и никада се не намеће при покретању сесије
sandbox / sandbox.templates / sandbox.default не слика(е) sandbox-а и хардвер
opencode.config_dir не подразумевани harnesses/opencode, затим застарели .beeuni/opencode
triggers не листа cron, webhook и monitor окидача
connectors не листа дефиниција конектора
policy.default_mode не allow_all (подразумевано) или risk; режим одобравања конектора за цео пројекат
agents да мапа управљања називима и блоковима; не сме бити празна. Уз imports, мапа може да се налази у увезеној датотеци

imports:

Поделите један манифест на више YAML датотека. Користите ово када beeuni.yaml прерасте један екран: 30 окидача са вишередним упитима, конектор за сваки тим, по једна датотека за сваку групу агената.

# beeuni.yaml
beeuni_version: 2
default_agent: beeuni
imports:
  - triggers/                # a directory: every .yaml and .yml file below it
  - agents.yaml              # a single file
agents:
  beeuni:
    connectors: all
beeuni.yaml
agents.yaml
triggers/
  reports/
    weekly.yaml
    monthly.yaml
  dockets/
    freedom-forever.yaml
# triggers/reports/weekly.yaml
triggers:
  - slug: weekly-report
    name: Cross-Sector Weekly Report
    type: cron
    agent: galileo
    cron: "0 15 * * 0"
    prompt: |-
      Build the weekly report.

Коренска датотека и њени увози чине једну конфигурацију пројекта. Окидач у једној датотеци може да именује агента декларисаног у другој.

Правила

  1. Putanja je relativna u odnosu na koren repozitorijuma. .., apsolutne putanje i glob obrasci se odbacuju.
  2. Uvoz direktorijuma obuhvata sve datoteke .yaml i .yml u njemu i svim poddirektorijumima, sortirane po putanji. Ostale datoteke se preskaču.
  3. Uvezena datoteka definiše triggers, connectors, agents, apps, tools i imports. Svi ostali ključevi (beeuni_version, default_agent, runtime, project, env, opencode, sandbox, policy, policies) ostaju у коренској датотеци. Ако уvezена датотека постави неки од њих, валидација не успева.
  4. Увезена датотека може да увози друге датотеке. Ограничење је 8 нивоа и 200 датотека. Циклус је грешка. Датотека до које се стигне више пута спаја се само једном.
  5. Једно име, једна датотека. Ако су окидач, конектор, агент, апликација или алат са истим именом дефинисани у две датотеке, то је грешка у којој се наводе обе датотеке. Ништа се не преписује без упозорења.
  6. Ставке се спајају редом: прво датотека која увози, затим њене увезене датотеке наведеним редоследом.

Неисправан увоз поништава цео манифест, као и синтаксна грешка у YAML-у. beeuni validate, beeuni ship и провера спајања захтева за измену пријављују грешку пре него што стигне до main:

imports: triggers "weekly-report" is declared in both triggers/a.yaml and triggers/b.yaml — one name, one file

Измене се уписују у датотеку у којој је ставка дефинисана. Када контролна табла, API или beeuni triggers enable|disable|rm измени окидач, конектор, агента или апликацију дефинисану у увезеној датотеци, уписује се само та датотека. Коренска датотека се не преписује. Нова ставка се уписује у коренску датотеку. Ако желите да буде у увезеној датотеци, преместите је ручно.

imports захтева beeuni.yaml. Манифест који је beeuni.toml игнорише кључ.

tools:

Алати који су доступни сесији, наведени по имену. Вредност има један од два облика:

Облик Значење
beeuni:<name> Beeuni алат (web_search, image_search, scrape_webpage, memory, show), чије одржавање води Beeuni. Кључ мора бити <name>.
Путања до модула релативна у односу на корен репозиторијума Алат самог пројекта, у било којој фасцикли. Ако се наведе под именом Beeuni алата, модул замењује Beeuni алат.
tools:
  web_search: beeuni:web_search
  image_search: beeuni:image_search
  scrape_webpage: beeuni:scrape_webpage
  memory: tools/memory.ts                # replaces the Beeuni memory tool
  lookup_order: tools/lookup_order.ts
  crm_note: integrations/crm/note.ts

стандардни harness и експериментални harness покрећу исти модул. Уговор модула, beeuni tools ls, beeuni tools eject и упутство за миграцију са harnesses/opencode/tools/ налазе се у одељку Tools.

Правило избора.

  • Нема кључа tools ни у коренској ни у било којој увезеној датотеци: сесије добијају свих пет Beeuni алата. Сваки пројекат направљен пре увођења ове листе задржава их.
  • Постоји кључ tools, чак и ако је празан (tools: {} или tools: са обрисаним свим редовима): сесије добијају само Beeuni алате наведене у њему, као beeuni:<name> или као путању до модула. Рачуна се и кључ tools у увезеној датотеци.

Обришите ред beeuni:<name> да бисте уклонили тај алат за све агенте. Користите agents.<name>.tools да бисте ограничили алате за једног агента.

Грешке.

  • Име мора бити у snake_case формату: ^[a-z][a-z0-9_]{0,63}$.

  • Име алата из окружења за извршавање (bash, read, write, edit, apply_patch, glob, grep, list, task, question, todowrite, webfetch, websearch, skill, lsp, invalid, execute, plan_exit, pty_*) представља грешку.

  • Путања се завршава са .ts, .js, .mts, .mjs, .cts или .cjs. Не сме да почиње са / или -, нити да садржи сегмент . или ...

  • beeuni:<name> под другим кључем представља грешку. На пример, под именом Beeuni алата web_search: beeuni:image_search:

    tools.web_search: мора бити `beeuni:web_search` (Beeuni алат) или путања релативна у односу на корен репозиторијума до .ts или .js модула (нпр. `tools/web_search.ts`) који га замењује.
  • beeuni:<name> за име које није име Beeuni алата представља грешку, на пример web_serch: beeuni:web_serch:

    tools.web_serch: мора бити путања релативна у односу на корен репозиторијума до .ts или .js модула (нпр. `tools/web_serch.ts`). `beeuni:<name>` именује Beeuni алат под његовим именом: `web_search: beeuni:web_search`, `image_search: beeuni:image_search`, `scrape_webpage: beeuni:scrape_webpage`, `memory: beeuni:memory`, `show: beeuni:show`.
  • beeuni validate пријављује и дефинисани модул који не постоји. Вредност beeuni: не захтева датотеку.

Упозорења. Упозорење никада не доводи до неуспеха beeuni validate.

  • Кључ tools у ком није наведен ниједан од пет Beeuni алата:

    tools: Сесије овог пројекта не добијају ниједан Beeuni алат (web_search, image_search, scrape_webpage, memory, show). Додајте `<name>: beeuni:<name>` да бисте задржали неки алат.

    Ово открива случај када пројекат дода свој први алат и случајно уклони свих пет подразумеваних.

  • Вредност tools агента која именује Beeuni алат који пројекат не учитава:

    agents.beeuni.tools: „show“ је Beeuni алат који овај пројекат не учитава: додајте `show: beeuni:show` у највиши ниво `tools` или га овде уклоните.

project:

Опционални метаподаци намењени људима: name и description. Платформа не користи ову табелу ни за шта — назив пројекта који се приказује преузима се из његовог записа у бази података. Сматрајте је документацијом за оне који читају репозиторијум.

env:

Наводи имена променљивих окружења које су потребне вашим сесијама. Вредности се чувају на страници Environment variables у контролној табли, никада у самом манифесту. Платформа их дешифрује и убризгава као обичне променљиве окружења при покретању сесије.

env:
  required: [DATABASE_URL]
  optional: [STRIPE_API_KEY]
Поље Тип Напомене
required string[] Информативно. Контролна табла тражи од корисника ове вредности, али покретање сесије се не блокира ако нека вредност недостаје.
optional string[] Доступно сесијама ако је постављено. Није проблем ако изостаје.

Имена променљивих окружења морају одговарати ^[A-Z_][A-Z0-9_]*$. Secrets Manager ограничава дужину имена на 64 знака — дуже име се овде успешно парсира, али за њега никада не може да се постави вредност. Ни имена која почињу са BEEUNI_ не могу добити вредност. Имена нека имају највише 64 знака и избегавајте префикс BEEUNI_. Цео уговор: Secrets.

sandbox: и sandbox.templates

Листа именованих слика окружења за изоловано извршавање које могу да се покрену. Опционо — ако нема ставки, свака сесија се покреће са подразумеваном сликом платформе. Сваки шаблон мора да садржи тачно једно од следећег: dockerfile (путања релативна у односу на корен репозиторијума) или image (јавна Docker референца, са верзијом или digest-ом који су фиксирани).

sandbox:
  templates:
    - slug: ml
      name: ML Development
      dockerfile: Dockerfile.ml
      cpu: 4
      memory: 16
      disk: 50
Поље Тип Подразумевано Напомене
slug string — Обавезно. Јединствено за сваки пројекат. default је резервисано.
name string slug Ознака која се приказује у бирачу на контролној табли.
dockerfile string — Путања релативна у односу на репозиторијум. Не може да се користи истовремено са image.
image string — Јавна Docker слика, са тачно наведеном ознаком или digest вредношћу. Не може да се користи истовремено са dockerfile.
entrypoint string сопствена вредност runtime слоја Замена за улазну тачку контејнера.
cpu int подразумевано код провајдера vCPU језгра. Опсег: 1–32.
memory int подразумевано код провајдера RAM у GiB. Опсег: 1–128.
disk int подразумевано код провајдера Диск у GiB. Опсег: 1–500.
container_runtime bool false Покреће Docker у изолованом окружењу са bridge и overlay умрежавањем. Погледајте Runtime.

Свака вредност мора бити позитиван цео број. Вредност испод минимума не пролази валидацију и јавља се грешка. Вредност изнад максимума пролази уз упозорење, а затим се при извршавању ограничава на максимум. GPU уређаји нису подржани — навођење gpu доводи до упозорења, не до грешке. Погледајте Runtime да бисте сазнали шта runtime слој додаје вашој слици.

sandbox.default

Поставите default у sandbox да бисте поставили један шаблон као подразумевани за цео пројекат. Свака сесија, окидач и канал ће га затим покренути без навођења slug вредности.

sandbox:
  default: dev
  templates:
    - slug: dev
      dockerfile: Dockerfile.dev

default мора да именује шаблон наведен у овом манифесту или резервисану вредност "default" за слику платформе.

Агент може да изабере своје окружење помоћу agents.<name>.sandbox. Вредност мора да именује шаблон из манифеста или контролне табле, или "default".

agents:
  researcher:
    sandbox: ml

Шаблон за сесију се одређује овим редоследом:

  1. Изричито наведен sandbox_slug сесије.
  2. sandbox изабраног агента.
  3. sandbox.default пројекта.
  4. "default" платформе.

Cron окидачи, webhook окидачи, распореди и канали користе шаблон изабраног агента.

Измена спецификације (cpu, memory, disk, container_runtime или саме слике) поново прави снимак пројекта. Нова величина примењује се на следећу сесију, а не на ону која је већ покренута.

opencode:

Локација директоријума за конфигурацију стандардни harness-а. Опционално, уз подразумевану вредност.

opencode:
  config_dir: harnesses/opencode
Поље Тип Подразумевано Напомене
config_dir string harnesses/opencode, па .beeuni/opencode Директоријум релативан у односу на репозиторијум.

Ако config_dir није постављено, Beeuni користи први од harnesses/opencode и .beeuni/opencode који садржи opencode.json или opencode.jsonc. Тај директоријум садржи само датотеке које чита стандардни harness: opencode.jsonc, plugins/, tools/ и commands/. Агенти и вештине налазе се у корену репозиторијума, у agents/ и skills/. opencode.jsonc остаје изворни регистар стандардни harness-а за додатке, MCP сервере, провајдере и дозволе — немојте те поставке дуплирати у манифесту. Погледајте Agents.

harnesses:

Подешавања за појединачни harness. pi.config_dir показује на директоријум експериментални harness конфигурације, изворне за експериментални harness и релативне у односу на репозиторијум (подразумевано: harnesses/pi, па .beeuni/pi). Директоријум се увози при покретању експериментални harness-ја. pi.packages је засебно подешавање: оно инсталира пакете из harnesses.pi.packages манифеста за сваког агента. Тренутно постоји један кључ пакета: pi.packages, пакети за експериментални harness које учитава свака експериментални harness сесија овог пројекта (runtime: pi или ознака pi_harness). Пакет може бити било шта са packages: додаци (алати, hook-ови, команде) и вештине и упити које пакет садржи.

runtime: pi
harnesses:
  pi:
    packages:
      - npm:pi-web-access@0.30.0            # pinned extension version
      - source: npm:pi-mcp-adapter@2.36.0
        extensions: ["extensions/*.ts"]     # load only these files of the package
        skills: []                          # load none of its skills
      - ./harnesses/pi/audit.ts             # an extension file in this repository
Формат уноса Значење
npm:<name>@<x.y.z> npm пакет са тачно одређеном верзијом. Опсег верзија или изостављена верзија не пролазе валидацију.
./<path> Датотека додатка или директоријум пакета у овом репозиторијуму. Не сме да изађе из репозиторијума помоћу ...
{ source, extensions, skills, prompts, themes } Исти извор са експериментални harness филтерима за укључивање/изузимање. Ако се филтер изостави, учитава се све; [] не учитава ништа.

Највише 20 уноса. Git извори нису дозвољени.

По агенту

Агент може да дода своје пакете и изостави оне на највишем нивоу помоћу agents.<name>.harnesses:

harnesses:
  pi:
    packages: [npm:pi-web-access@0.30.0]            # every agent
agents:
  researcher:
    harnesses:
      pi:
        packages: [npm:@juicesharp/rpiv-todo@2.11.0] # researcher only
  reviewer:
    harnesses:
      pi:
        exclude: [pi-web-access]                     # reviewer loads no web tools
  • Пакети агента су листа са највишег нивоа, умањена за exclude агента, увећана за његове packages.
  • Ако унос агента наводи пакет који је наведен и на највишем нивоу, за тог агента замењује унос са највишег нивоа (другом верзијом или другим филтерима).
  • exclude наводи имена пакета (pi-web-access, @scope/name) или путање ./, онако како су наведени на највишем нивоу. Верзија се никада не наводи.
  • Свака јединствена листа пакета гради се једном. Агенти са истом листом деле ту верзију.
  • Пакети припадају агенту са којим сесија почиње. Подагент који други агент покрене помоћу алата task користи само стандардне алате радног простора (bash, read, write, edit, glob, grep), а не своје пакете нити пакете надређеног агента; hook-ови додатака надређеног агента и даље се примењују на његове позиве. Покрените сесију са тим агентом да бисте користили његове пакете.

Како пакети стижу до сесије:

  1. Спајање захтева за измену ове листе покреће једнократну изградњу пакета за sandbox платформу, без инсталационих скрипти. Сваки додатак се унапред уграђује у једну минимизовану датотеку. Изградња задржава остале датотеке пакета, осим кода који та датотека већ садржи, декларација типова, мапа изворног кода и датотека README и CHANGELOG у корену. Пројекти са истом листом деле исту изградњу.
  2. Нова или поново покренута сесија преузима изграђени пакет док клонира свој репозиторијум и директно учитава сваки додатак. Сесија никада не покреће npm install нити компајлира пакет.
  3. Пакет који не може да се унапред изгради (на пример, пакет чији pi.extensions користи glob обрасце) и даље ради: сесија га учитава из инсталираних пакета, али то траје дуже. Ако код пакета чита неку датотеку која се изоставља приликом изградње, додајте у његов унос филтер extensions: сесија ће га онда такође учитавати из инсталираних пакета.
  4. Сесија која почне пре него што изградња постане доступна покреће се без пакета пројекта и започиње изградњу; следећа сесија ће их имати.

Beeuni такође инсталира скуп системских пакета у сваку експериментални harness сесију. Унос пројекта за исти пакет замењује системску верзију. Репозиторијум такође може да садржи експериментални harness додатке, изворне за експериментални harness, у .pi/extensions/*.ts; експериментални harness их учитава без уноса у манифесту.

Додаци раде без терминалског корисничког интерфејса: алати, hook-ови и команде функционишу; виџети намењени само терминалу не раде ништа.

triggers:

Листа дефиниција за cron, webhook и надзор. Сваки унос покреће сесију која као прву поруку извршава prompt.

triggers:
  - slug: daily-digest
    type: cron
    cron: '0 0 9 * * 1-5'
    prompt: Summarize yesterday's commits.
Поље Обавезно Подразумевано Напомене
slug да — [a-z0-9][a-z0-9_-]{0,127}, јединствено међу окидачима.
type да — cron, webhook или monitor (експериментално).
prompt да — Не сме бити празно. Подржава шаблонизацију.
name не slug Назив за приказ.
agent не default_agent Мора да буде назив кључа у agents:. Изоставите га да бисте користили default_agent; немојте уписивати дословно default.
enabled не true false прескаче ставку.
model не разрешава се у тренутку активирања Облик за пренос provider/model. Закачи активирану сесију за тај модел. Погледајте Models.
session_mode не fresh fresh, reuse, pinned или keyed.
session_id обавезно за pinned — Тачна сесија за поновно слање упита.

Cron окидачи захтевају тачно једно од поља cron (израз са 6 поља) или run_at (једнократна временска ознака ISO-8601), као и timezone као IANA назив. Webhook окидачима је потребан secret_env, назив тајне која користи испоруку broker са потрошачем connector. Окидачима надгледања су потребни run (команда релативна у односу на репозиторијум) и mode (poll или stream), а одбијају сва поља за cron и webhook. Комплетан опис поља, подешавање акредитива, шаблонизација корисног садржаја, крајње тачке и стратегија сесије: погледајте Triggers.

connectors:

Списак спољних алатки које агент може да позива. Дефиниција се налази у Git-у; акредитиви се чувају на платформи, никада у манифесту. Концептуални модел погледајте у одељку Connectors.

connectors:
  - slug: gmail-read
    name: Gmail read only
    provider: pipedream
    app: gmail
    authorization_strategy: user
    policies:
      - match: search_email
        action: always_run
Поље Обавезно Напомене
slug да [a-z0-9][a-z0-9_-]{0,127}, јединствено међу конекторима.
provider да pipedream, mcp, openapi, postman, graphql, http или channel.
name не Назив за приказ. Подразумевано је slug.
authorization_strategy не project или user. Ако се изостави, подразумевано је project. Стратегија пројекта користи активне везе пројекта. Стратегија корисника користи само везу члана који је обавио радњу.
enabled не Подразумевано је true.
credential не Подржан је само shared. Укинути режим per_user доводи до фаталне грешке.
sensitive не Подразумевано је false. true поставља require_approval као подразумевану радњу за неподударајуће захтеве, укључујући читање. Експлицитна правила пројекта и конектора се и даље прво примењују.

Поља специфична за добављача:

Добављач Обавезно поље Напомене
pipedream app account није обавезно; подразумевано је slug.
mcp url transport: http (подразумевано) или sse.
openapi spec URL или путања релативна у односу на репозиторијум.
postman spec URL или путања JSON колекције, манифест .postman/api или URL Postman радног простора.
graphql endpoint spec није обавезно (SDL).
http base_url spec није обавезно.
channel platform slack, teams, email или voice.
computer — Њиме управља API. Не можете га ручно декларисати. Сваки повезани рачунар је један од његових налога. Погледајте Computers.

За конекторе channel ретко је потребан ручно написан унос — повезивањем канала са контролне табле аутоматски се креира. Погледајте Slack & channels. Платформа резервише слагове beeuni_slack, beeuni_teams, beeuni_email и computer; њихова употреба са другим добављачем је грешка при валидацији. Конектор computer се креира када први члан повеже рачунар, јер су ИД-ови машина идентитети контролне равни налога и не смеју да се нађу у манифесту.

connectors.auth: опционално, за провајдере који нису pipedream. type је bearer, basic, custom, api_key, oauth1, hmac, aws_sigv4, mtls или none (подразумевано). oauth1 је ограничен на провајдере openapi, postman и http. in је header (подразумевано), query или cookie. name је обавезан када је type custom или api_key.

connectors.policies: листа парова {match, action}. match је glob образац који се примењује на називе алата. action је always_run, require_approval или block. Политике припадају конектору. Све везе у оквиру тог конектора користе исте политике.

policy.default_mode: кључ највишег нивоа, засебан од connectors:, који поставља режим одобравања конектора за цео пројекат. Прихвата вредност allow_all (подразумевано; покреће се сваки алат који се не подудара) или risk (захтева одобрење за неподударајуће позиве који уписују податке или их уништавају). Подесите га помоћу beeuni connectors policy set --default <risk|allow_all> — погледајте CLI.

Канали

v2 уклања channels: из шеме. Усмеравање канала ка агентима (тренутно Slack, Microsoft Teams, имејл и глас) јесте активно оперативно стање, а не декларативна конфигурација. Подешава се на страници Channels на контролној табли или помоћу команди за ћаскање; то је иста граница која чува акредитиве ван git-а. Повезивањем канала и даље се ствара унос connectors са provider: channel који агент може да позива. Погледајте Slack и канали. Табела [[channels]] из v1 обрађена је у одељку Застарели TOML.

agents:

Мапа назива и блокова, са кључевима по називу агента. Ова мапа служи само за управљање — она одређује чему агент сме да приступи, а не шта говори или ради.

Овај блок је друго од два повезивања: principal добија улоге од Beeuni-ја, а агент додатно носи Beeuni дозволе наведене овде. Сесија може да ради само оно што обе стране дозвољавају. Погледајте Један речник, два повезивања.

default_agent: beeuni

agents:
  beeuni:
    file: agents/beeuni.md
    connectors: all
    secrets: all
    beeuni_permissions: all
    skills: all

  release-bot:
    file: agents/release-bot.md
    connectors: [github]
    connectors_required: [github]
    beeuni_permissions: [project.gitops.push]
    secrets: [GITHUB_AGENT_TOKEN]
Поље Подразумевано Напомене
(кључ мапе) — [a-z0-9][a-z0-9_-]{0,127}, јединствено у оквиру пројекта. Ако није наведено file, уједно је и назив датотеке .md.
file agents/<name>.md Путања до датотеке агента .md у односу на корен репозиторијума. Погледајте Датотека агента.
enabled true false третира агента као ненаведеног — платформа га неће покренути.
connectors none Слагови конектора које агент сме да позива. all значи сваки конектор.
connectors_required none Застарело: анализира се и занемарује. Покретање sandbox-а више не зависи од повезаности конектора; позив конектору са којим ништа није повезано враћа connector_not_connected са везом за повезивање. Ако је наведено, и даље мора бити подскуп од connectors.
secrets none Тајне пројекта које овај агент добија као променљиве окружења у sandbox-у. Преименовано из env у v1.
beeuni_permissions none Beeuni дозволе (радње у пројекту) које агент сме да користи преко CLI-ја, API-ја или git-а. all значи све дозволе пројекта, али је и даље ограничено највишом улогом агента и никада не обухвата дозволе намењене само људима. beeuni_cli је застарели назив: и даље је прихваћен, уз упозорење при валидацији; ако су оба поља постављена на различите вредности, јавља се грешка.
skills none Вештине које агент сме да учита.
apps none Beeuni App слагови које агент сме да отвори када је App restricted или private. all значи сваки App у пројекту. Погледајте Агенти и App-ови.
tools all Алати које агент сме да користи: алати harness-а, Beeuni-ја и пројекта. all, none, листа (само наведени алати) или { exclude: [...] } (сви осим наведених). И даље је подржан и ранији облик мапе { bash: false }. За разлику од претходно наведених додела, ако се tools изостави, то значи да су доступни сви алати. Погледајте Ко сме да користи који алат.
repository_access true Да ли нове сесије добијају репозиторијум пројекта. false онемогућава испоруку репозиторијума и приступ репозиторијуму преко акредитива сесије. Постојеће сесије задржавају сачувану политику.

v2 подразумевано одбија приступ: ако се connectors, secrets, beeuni_permissions, skills или apps изостави код декларисаног агента, добија вредност none. Изричито доделите сваку дозволу која је агенту потребна, као што то чини агент beeuni из почетног примера изнад. Пројекат који прелази са v1 мора ручно поново да додели све дозволе — у v1 се за env (тајне), ако је изостављено, подразумевано поставља all, што је супротно од v2.

connectors_personal остаје застарели улазни алијас за connectors_required. Нови манифести морају да користе connectors_required. Вредност authorization_strategy конектора одређује да ли овлашћење припада пројекту или члану.

Доделе beeuni_permissions потичу из фиксног скупа дозвола везаних за пројекат (project.read, project.gitops.push, project.gitops.merge, project.gitops.ref.any, project.trigger.*, project.secret.*, project.connector.* и друге). Дозволе везане за налог — member.*, billing.*, project.create — никада се не могу доделити агенту. Покрените beeuni validate --scopes из сесије да бисте приказали тренутну листу дозвола које се могу доделити.

Датотека агента

agents.<name>.file наводи датотеку .md агента, у односу на корен репозиторијума.

agents:
  support:
    file: agents/support.md
  • Путања мора да се завршава са .md.
  • Путања не сме да почиње са / или -. Не сме да садржи сегмент . или .., нити празан сегмент.
  • Сваки сегмент сме да садржи само слова, цифре, _, -, . и размаке.
  • Ако се file изостави, Beeuni чита agents/<name>.md, па затим .beeuni/opencode/agents/<name>.md. Када је постављен opencode.config_dir, друга путања је <config_dir>/agents/<name>.md.
  • Када контролна табла сачува агента који има .md, уписује file са том путањом.
  • API одбија захтев којим се мења file (400, код invalid_config). Да бисте преместили агента, преместите његов .md и ажурирајте file у beeuni.yaml у истом commit-у.

beeuni validate и провера спајања захтева за измену одбијају неважећи file и приказују грешку за agents.<name>.file.

Када промене конфигурације ступају на снагу

  • Измена манифеста, agents/, skills/ или конфигурационог директоријума стандардни harness примењује се тек након што се захтев за измену споји са main. Сесије и провера покретача читају подразумевану грану, а не гране сесија.
  • Планер преузима измену cron или webhook конфигурације покретача у року од неколико секунди од спајања.
  • Измена слике sandbox-а или хардвера поново гради снимак. Нова спецификација примењује се на следећу сесију, а не на тренутну.
  • Измена вредности тајне на контролној табли разрешава се при креирању sandbox-а. Примењује се на следећу сесију, а не на ону која је у току.

Правила за повратно уписивање

Измене на контролној табли подразумевају читање, измену и уписивање у датотеку у којој је унос дефинисан: beeuni.yaml или увезену датотеку. Да би разлике између измена у корисничком интерфејсу и током сесије биле чисте:

  1. Поставите beeuni_version као први кључ.
  2. Унутар уноса покретача ређајте поља овим редоследом: slug, name, type, agent, enabled, затим поља специфична за тип, а на крају prompt.
  3. Ако додате webhook покретач пре него што подесите његову тајну, наведите име тајне у env.optional. Оставите покретач enabled: false док се вредност не унесе.

Приступ репозиторијуму

Подесите agents.<name>.repository_access на false за агенте којима нису потребне изворне датотеке пројекта. И даље могу да праве датотеке у sandbox-у и користе додељене алате, тајне и конекторе. Подесите на true за агенте којима је потребан репозиторијум. Git дозволе се подешавају засебно. Ово подешавање промените у уређивачу агента, у одељку Workspace → Project repository access. Подешавање се примењује на нове сесије. Постојеће сесије задржавају сачувану политику, укључујући и након замене окружења за извршавање.

agents:
  support:
    repository_access: false
  engineer:
    repository_access: true

Застарело поље workspace и даље може да се чита: branch значи true, а runtime значи false. Конфигурације са застарелим read и даље одбијају креирање сесије док поље не замените експлицитном логичком вредношћу. Не постоји режим приступа репозиторијуму само за читање. Неусаглашена стара и нова поља се одбијају. Уређивач и SDK шаљу repository_access. Када је приступ онемогућен, API чува и workspace: runtime као компатибилну копију. Тиме се ограничење чува за старије реплике API-ја током постепеног пуштања измена или враћања на претходну верзију. API одговори не садрже ту копију. За ручно написане манифесте који користе само repository_access потребан је ажуриран API.

Да ли вам је ова страница помогла?