Communitygithub.com

YaoApp/yao

✨ Alle deine Agents und Arbeitsbereiche an einem Ort, auf jedem Gerät, das du besitzt. Verfolge Aufgaben auf einem Board, zugänglich über Desktop, Mobilgerät, Browser oder API. Selbst gehostet.

Was ist yao?

YaoApp/yao ist ein selbst gehostetes System zur Verwaltung von Agents und Arbeitsbereichen, das einen einheitlichen Zugriff über Desktop, Mobilgerät, Browser und API ermöglicht. Es bietet eine zentrale Aufgabenverwaltung auf einem Board und stellt eine Geheimnisverwaltung bereit, bei der Agenten zur Laufzeit benutzerkonfigurierte Geheimnisse über das CLI-Tool `tai tool` sicher auslesen können. Die Geheimnisse werden mit AES-256-GCM verschlüsselt gespeichert und nur beim Lesen entschlüsselt. Das System unterstützt mehrere Sprachen (Bash, Node.js, Python, PowerShell) und enthält Sicherheitsregeln, die das Protokollieren, Speichern oder Weiterleiten von Geheimnissen an das LLM verbieten sowie eine Prüfpfad-Protokollierung für jeden `secret_read`-Aufruf sicherstellen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add YaoApp/yao

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Geheimnisverwaltung

Agents können zur Laufzeit benutzerkonfigurierte Geheimnisse über das tai tool CLI auslesen. Geheimnisse werden im Ruhezustand verschlüsselt (AES-256-GCM) und nur beim Lesen entschlüsselt.

Verfügbare Tools

ToolBeschreibung
secret_listGeheimnisnamen und Beschreibungen auflisten (keine Werte)
secret_readEinen einzelnen Geheimniswert nach Namen lesen

Verwendung

Bash

# Verfügbare Geheimnisse auflisten
tai tool secret_list

# Ein Geheimnis lesen
TOKEN=$(tai tool secret_read '{"name": "GITHUB_TOKEN"}' | jq -r '.value')
git clone "https://${TOKEN}@github.com/org/repo.git"

Node.js

const { execSync } = require("child_process");

function readSecret(name) {
  const raw = execSync(
    `tai tool secret_read '${JSON.stringify({ name })}'`,
    { encoding: "utf-8" }
  );
  return JSON.parse(raw).value;
}

const token = readSecret("GITHUB_TOKEN");

Python

import json
import subprocess

def read_secret(name: str) -> str:
    result = subprocess.run(
        ["tai", "tool", "secret_read", json.dumps({"name": name})],
        capture_output=True, text=True, check=True,
    )
    return json.loads(result.stdout)["value"]

token = read_secret("GITHUB_TOKEN")

PowerShell

function Read-Secret {
    param([string]$Name)
    $json = @{ name = $Name } | ConvertTo-Json -Compress
    $result = tai tool secret_read $json | ConvertFrom-Json
    return $result.value
}

$token = Read-Secret -Name "GITHUB_TOKEN"

Sicherheitsregeln

  1. Geheimniswerte niemals ausgeben oder protokollieren – Schreibe Geheimnisse nicht in stdout, stderr oder Logdateien.
  2. Geheimnisse niemals in Dateien schreiben – Ausnahme: SSH-Schlüssel dürfen mit chmod 600-Berechtigungen in ~/.ssh/ geschrieben werden.
  3. Geheimnisse niemals an das LLM senden – Geheimniswerte dürfen nicht im Prompt-Inhalt, in Systemnachrichten oder in Tool-Aufrufergebnissen erscheinen, die an das Modell weitergeleitet werden.
  4. Bereichsisolierung – Geheimnisse sind pro Benutzer und Agent isoliert. Ein Agent kann nur auf für ihn konfigurierte Geheimnisse zugreifen.
  5. Prüfpfad – Jeder secret_read-Aufruf wird im Prüfpfad mit der Identität des Aufrufers protokolliert.

Verwandte Skills