Osobní přístupové tokeny
Osobní přístupové tokeny (PATs) umožňují programový přístup k TeamDay API pro automatizaci, CI/CD pipeline a ověřování agenta.
Rychlý start
1. Vytvoření vašeho tokenu
- Přejděte na Settings → Profile
- Posuňte se na Personal Access Tokens
- Klikněte na Create Token
- Dejte mu popisný název (např. "CI Pipeline", "Production Automation")
- Zvolte dobu vypršení (doporučeno 90 dnů)
- Zkopírujte token ihned - bude zobrazen pouze jednou!
2. Použijte váš token
Zahrňte token v hlavičce Authorization:
curl -H "Authorization: Bearer td_your-token-here" \
https://teamday.ai/api/v1/agents
Nebo nastavte jako proměnnou prostředí:
export TEAMDAY_TOKEN="td_your-token-here"
curl -H "Authorization: Bearer $TEAMDAY_TOKEN" \
https://teamday.ai/api/v1/agents
Nejlepší bezpečnostní praktiky
Důležité bezpečnostní pokyny
- Nikdy nezavazujte tokeny do správy verzí - Používejte proměnné prostředí nebo správce tajemství
- Pravidelně rotujte tokeny - Nastavte vhodné doby vypršení
- Používejte samostatné tokeny na integraci - Usnadní odvolání
- Pojmenujte tokeny popisně - Vědět, kde se každý token používá
- Okamžitě odvolte nepoužívané tokeny - Snížit bezpečnostní riziko
- Nikdy nesdílejte tokeny - Každý člen týmu by měl mít svůj
Doporučení uložení
Bezpečné uložení:
- Proměnné prostředí:
export TEAMDAY_TOKEN="..." - Správci tajemství: AWS Secrets Manager, HashiCorp Vault, 1Password
- CI/CD tajemství: GitHub Secrets, GitLab CI/CD proměnné
.envsoubory (s.gitignore)
Nezabezpečené uložení:
- Zakódováno ve zdrojovém kódu
- Zavázáno do repozitáří git
- Sdíleno přes Slack/email
- Uloženo v prostých textových souborech na sdílených jednotkách
Rozsahy tokenů a oprávnění
Osobní přístupové tokeny mají stejná oprávnění jako uživatel, který je vytvořil:
- Přístup k organizaci: Token je vymezen na vaši aktuální organizaci
- Oprávnění uživatele: Dědí oprávnění vaší role (admin, člen, prohlížeč)
- Přístup k prostředkům: Lze přistupovat ke všem prostředkům, ke kterým máte přístup přes UI
- Soukromé prostředky: Přístup k vašim soukromým agentům, prostorům a chatu
API endpointy s PAT
Po ověření máte přístup k těmto endpointům:
Agenti
# Vypsat všechny agenty
GET /api/v1/agents
# Vytvořit agenta
POST /api/v1/agents
# Získat detaily agenta
GET /api/v1/agents/{agentId}
# Aktualizovat agenta
PATCH /api/v1/agents/{agentId}
# Smazat agenta
DELETE /api/v1/agents/{agentId}
# Spustit agenta
POST /api/v1/agents/{agentId}/execute
Úlohy
# Vypsat úlohy
GET /api/v1/tasks
# Vytvořit úlohu
POST /api/v1/tasks
# Získat detaily úlohy
GET /api/v1/tasks/{taskId}
# Aktualizovat úlohu
PATCH /api/v1/tasks/{taskId}
Spuštění
# Vypsat spuštění
GET /api/v1/executions
# Získat detaily spuštění
GET /api/v1/executions/{executionId}
# Získat strom spuštění (s delegacemi)
GET /api/v1/executions/{executionId}/tree
# Zrušit spuštění
POST /api/v1/executions/{executionId}/cancel
Spaces (Operace se soubory)
# Procházet soubory
GET /api/spaces/{spaceId}/files/browse?path={path}
# Číst soubor
GET /api/spaces/{spaceId}/files/read?path={path}
# Psát soubor
POST /api/spaces/{spaceId}/files/write
# Nahrát soubor
POST /api/spaces/{spaceId}/files/upload
Úplnou dokumentaci endpointů najdete v naší API Reference.
Příklad: Vytvoření a spuštění agenta
const TEAMDAY_TOKEN = process.env.TEAMDAY_TOKEN!
// 1. Vytvoření agenta
const agent = await fetch('https://teamday.ai/api/v1/agents', {
method: 'POST',
headers: {
'Authorization': `Bearer ${TEAMDAY_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Kontrolor kódu',
role: 'Starší vývojář',
systemPrompt: 'Kontrolujete kód pro kvalitu, bezpečnost a osvědčené postupy.',
visibility: 'organization',
}),
}).then(r => r.json())
console.log(`Agent vytvořen: ${agent.id}`)
// 2. Spuštění agenta
const execution = await fetch(`https://teamday.ai/api/v1/agents/${agent.id}/execute`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${TEAMDAY_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
message: 'Zkontroluj ověřovací kód v src/auth.ts',
spaceId: 'space_your-workspace',
stream: false, // Získat úplnou odpověď, když je hotova
}),
}).then(r => r.json())
console.log(`Kontrola byla dokončena:`, execution.messages)
Používání tokenů v CI/CD
GitHub Actions
name: Nasazení s TeamDay Agent
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Nasazení přes TeamDay Agent
env:
TEAMDAY_TOKEN: ${{ secrets.TEAMDAY_TOKEN }}
run: |
curl -X POST https://teamday.ai/api/v1/agents/char_deploy_bot/execute \
-H "Authorization: Bearer $TEAMDAY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"message": "Nasadit commit ${{ github.sha }} do produkce",
"spaceId": "space_production",
"stream": false
}'
GitLab CI
deploy:
stage: deploy
script:
- |
curl -X POST https://teamday.ai/api/v1/agents/${AGENT_ID}/execute \
-H "Authorization: Bearer ${TEAMDAY_TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"message\": \"Nasadit ${CI_COMMIT_SHA}\"}"
only:
- main
Používání tokenů v izolovaných prostředích
Při používání agentů v izolovaných virtuálních prostředích (jako kontejnery Docker nebo cloudové funkce) předajte token jako proměnnou prostředí:
# V Space Settings → Environment Variables
TEAMDAY_TOKEN=td_your-token-here
Váš agent pak může použít tento token k volání jiných TeamDay API nebo delegování práce jiným agentům.
Správa tokenů
Prohlížení vašich tokenů
Přejděte na Settings → Profile → Personal Access Tokens a zobrazit:
- Název tokenu a datum vytvoření
- Časová značka poslední použití
- Datum vypršení
- Maskovaná hodnota tokenu (pro identifikaci)
Odvolání tokenů
Klikněte na ikonu koše vedle libovolného tokenu, abyste jej okamžitě odvolali. To bude:
- Trvale zneplatnit token
- Zastavit všechny požadavky API pomocí tohoto tokenu
- Odstranit token z vašeho účtu
Varování Odvolání tokenu přeruší všechny skripty, CI/CD pipeline nebo integrace, které jej používají. Před odvoláním se ujistěte, že tyto systémy aktualizujete.
Vypršení tokenu
Tokeny se automaticky vypršují na základě doby vypršení, kterou jste vybrali:
- 7 dnů - Pro testování a krátkodobé použití
- 30 dnů - Pro měsíční automatizaci
- 90 dnů - Doporučeno pro produkční použití
- 180 dnů - Pro dlouhodobě běžící integrace
- 365 dnů - Maximální vypršení (vyžaduje pečlivou správu bezpečnosti)
Budete muset vytvořit nový token, když starý vyprší.
Omezení sazby
Aktuální omezení sazby
- Vytvoření tokenu: 10 tokenů za hodinu na uživatele
- Požadavky API: 1 000 požadavků za minutu na token
- Spuštění agenta: 100 souběžných spuštění na organizaci
Pokud dosáhnete omezení sazby, obdržíte odpověď 429 Too Many Requests. Implementujte exponenciální zpoždění v automatizačních skriptech.
Zpracování chyb
Vždy zpracovávejte chyby ověřování elegantně:
async function callTeamDayAPI(endpoint: string, options: RequestInit) {
const response = await fetch(`https://teamday.ai${endpoint}`, {
...options,
headers: {
'Authorization': `Bearer ${process.env.TEAMDAY_TOKEN}`,
'Content-Type': 'application/json',
...options.headers,
},
})
if (response.status === 401) {
throw new Error('Neplatný nebo vypršelý token. Vytvořte nový token v Settings → Profile.')
}
if (response.status === 403) {
throw new Error('Token postrádá oprávnění pro tuto operaci.')
}
if (response.status === 429) {
throw new Error('Omezení sazby překročeno. Prosím opakujte později.')
}
if (!response.ok) {
const error = await response.json().catch(() => ({ message: response.statusText }))
throw new Error(`TeamDay API chyba: ${error.message}`)
}
return response.json()
}
Migrace z OAuth na PAT
Pokud aktuálně používáte tokeny OAuth z CLI, zvažte migraci na Osobní přístupové tokeny:
OAuth (CLI):
- ✅ Interaktivní tok ověřování
- ✅ Automatické obnovení tokenu
- ❌ Vyžaduje prohlížeč pro počáteční ověření
- ❌ Tokeny vypršují (přístup 15 min, obnovení 90 dnů)
Osobní přístupové tokeny:
- ✅ Dlouhodobé (až 1 rok)
- ✅ Nepotřebuje prohlížeč
- ✅ Ideální pro serverovou automatizaci
- ❌ Ruční správa tokenů
- ❌ Žádné automatické obnovení
Zvolte PAT pro:
- CI/CD pipeline
- Serverová automatizace
- Kontejnery Docker
- Cloudové funkce
- Cron úlohy
Zvolte OAuth pro:
- Interaktivní používání CLI
- Místní vývoj
- Desktopové aplikace
Odstraňování potíží
Chyba "Invalid token"
Možné příčiny:
- Token vypršel
- Token byl odvolán
- Token byl zkopírován nesprávně (chybí prefix nebo znaky)
Řešení: Vytvořte nový token a aktualizujte proměnné prostředí.
Chyba "Forbidden"
Možné příčiny:
- Váš účet nemá oprávnění pro požadovanou operaci
- Token je z jiné organizace
Řešení: Zkontrolujte členství v organizaci a oprávnění role.
Token v požadavcích nefunguje
Kontrolní seznam:
- ✅ Zahrňte celý token s předponou
td_ - ✅ Použijte
Authorization: Bearerzáhlaví (ne jenAuthorization) - ✅ Žádné extra mezery ani nové řádky v hodnotě tokenu
- ✅ Token nevypršel
- ✅ Token patří správné organizaci
Související dokumentace
- API Reference - Kompletní dokumentace endpointů API
- Architektura ověřování - Přehled všech metod ověřování
- Příručka CLI Tool - Použití TeamDay CLI
- Automatizace pracovního postupu - Budování automatizovaných pracovních postupů
Potřebujete pomoc?
Pokud máte problémy s Osobními přístupovými tokeny:
- Zkontrolujte naši Příručku pro odstraňování potíží
- Kontaktujte podporu na [email protected]
- Hlásit chyby na GitHub Issues