Communitygithub.com

YaoApp/yao

✨ 将所有智能体和工作空间集中在一处,在你拥有的每台设备上都能使用。通过看板追踪任务,可从桌面、移动端、浏览器或 API 访问,支持自托管。

yao 是什么?

YaoApp/yao 是一个开源的智能体管理平台,旨在将多个 AI 智能体及其工作空间整合到统一的界面中。它支持桌面、移动端、浏览器和 API 四种访问方式,用户可以通过看板直观地追踪任务进度。平台采用自托管部署,确保数据完全由用户掌控。该技能特别适合需要跨设备协作、管理多个智能体并保护敏感数据的开发者和团队。其核心功能包括安全密钥管理(AES-256-GCM 加密)、任务看板、以及多种编程语言(Bash、Node.js、Python、PowerShell)的 API 调用示例,便于集成到现有工作流中。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add YaoApp/yao

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

密钥管理

智能体可以在运行时通过 tai tool CLI 读取用户配置的密钥。密钥在静态时使用 AES-256-GCM 加密,仅在读取时解密。

可用工具

工具描述
secret_list列出密钥名称和描述(不包含值)
secret_read按名称读取单个密钥的值

使用方法

Bash

# 列出可用密钥
tai tool secret_list

# 读取密钥
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"

安全规则

  1. 切勿打印或记录密钥值 —— 不要将密钥写入标准输出、标准错误或任何日志文件。
  2. 切勿将密钥写入文件 —— 例外:SSH 密钥可以写入 ~/.ssh/ 目录,权限设置为 chmod 600。
  3. 切勿将密钥发送给 LLM —— 密钥值不得出现在提示内容、系统消息或转发给模型的结果中。
  4. 作用域隔离 —— 密钥按用户和智能体分别作用域。智能体只能访问为其配置的密钥。
  5. 审计追踪 —— 每次 secret_read 调用都会在审计追踪中记录,并标明调用者身份。

相关技能