yaoBLOCK
✨ All your agents and workspaces in one place, on every device you own. Track tasks on a board, accessible from desktop, mobile, browser, or API. Self-hosted.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
✨ All your agents and workspaces in one place, on every device you own. Track tasks on a board, accessible from desktop, mobile, browser, or API. Self-hosted.
🏠 Homepage: https://yaoagents.com
📚 Docs: https://yaoagents.com/docs
🖥️ Yao Desktop: https://yaoagents.com/download
📱 Android (Beta): https://yaoagents.com/download/yaoagents
⚡⚡⚡ DeepSeek Harness is now integrated — use it directly in the desktop app, Android, or browser, running across your devices. Learn more →
🧠 Jev is TypeSafe AI's System One model: it doesn't write text, it returns typed decisions with confidence. Now available in Yao Agents. Learn more →
中文
How it works
Agents run on your own devices. Every machine you add is another place for them to work, all managed from one place.
Workspaces
Every workspace is isolated. Work stays separate, managed across all your computers, and accumulates into documents that become your knowledge base.
While working, agents can read what they need from any node.
Task Board
Say what you need in a conversation, and it becomes a task on your board.
Keep the conversation going, keep it running, and it improves with use, growing into an agent purpose-built for this kind of work.
Connect task agents to your apps, or share them with others.
Open API
Expert and task agents integrate into your own apps and workflows. They're built on standard APIs, with both SSE and WebSocket support.
Let your agents become part of your busines
f29cb2f7d38cOBSERVED · 2026-10-19Install
Commands as the repository documents them. They are shown, not run.
git clone "https://${TOKEN}@github.com/org/repo.git"Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
# Secret Management
Agents can read user-configured secrets at runtime using the `tai tool` CLI.
Secrets are encrypted at rest (AES-256-GCM) and decrypted only when read.
## Available Tools
| Tool | Description |
|------|-------------|
| `secret_list` | List secret names and descriptions (no values) |
| `secret_read` | Read a single secret value by name |
## Usage
### Bash
```bash
# List available secrets
tai tool secret_list
# Read a secret
TOKEN=$(tai tool secret_read '{"name": "GITHUB_TOKEN"}' | jq -r '.value')
git clone "https://${TOKEN}@github.com/org/repo.git"
```
### Node.js
```javascript
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
```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
```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"
```
## Security Rules
1. **Never print or log secret values** — Do not write secrets to stdout, stderr, or any log file.
2. **Never write secrets to files** — Exception: SSH keys may be written to `~/.ssh/` with `chmod 600` permissions.
3. **Never send secrets to the LLM** — Secret values must not appear in prompt content, system messages, or tool call results that are forwarded to the model.
4. **Scope isolation** — Secrets are scoped per user per agent. An agent can only access secrets configured for it.
5. **Audit trail** — Every `secret_read` call is logged in the audit trail with the caller's identity.Trust audit
BLOCKgrade F · trust 45/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (2 observation(s))
- Network
- declared (1 observation(s))
- Shell
- declared (3 observation(s))
- Dependencies
- pinned
- Secrets in source
- found
Findings (25)
if !strings.HasPrefix(privateKeyStr, "-----BEGIN RSA PRIVATE KEY-----") {privateKeyStr = fmt.Sprintf("-----BEGIN RSA PRIVATE KEY-----\n%s\n-----END RSA PRIVATE KEY-----\n", privateKeyStr)-----BEGIN PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
label = "exec(background)"
func (cond Condition) Exec() bool {func (b *Box) Exec(ctx context.Context, cmd []string, opts ...ExecOption) (*ExecResult, error) {description: Secret management expert. ALWAYS invoke this skill when you need to read API keys, tokens, or other secrets configured by the user. Never hardcode credentials — use this skill to retrieve
test.docx
test.ogg
icon.icns
fmt.Print(token)
console.log(` Password: ${ROOT_USER_PASSWORD}`);"key": "sk-ant-invalid-key-should-fail"
echo "YAO_DB_PRIMARY=postgres://$DB_USER:$PASSWORD@$DB_HOST" >> $GITHUB_ENV
echo "YAO_DB_PRIMARY=postgres://$DB_USER:$PASSWORD@$DB_HOST" >> $GITHUB_ENV
echo "YAO_DB_PRIMARY=postgres://$DB_USER:$PASSWORD@$DB_HOST" >> $GITHUB_ENV
echo "YAO_DB_PRIMARY=postgres://$DB_USER:$PASSWORD@$DB_HOST" >> $GITHUB_ENV
YAO_DB_PRIMARY=postgres://yao:[email protected]:5432/agent_test?sslmode=disable
const secret = "e2e-webhook-test-secret"
APIKey: "sk-real-secret-key-12345",
// token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
docx.docx
pptx.pptx
Gates applied: critical_finding, no_behavioural_pass.
f29cb2f7d38cfull audit observations/trust-audit/skill/yaoapp__yao.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-19 | f29cb2f7d38c | BLOCK | F | 45 | first audit |
Questions
What does the yao skill do?
✨ All your agents and workspaces in one place, on every device you own. Track tasks on a board, accessible from desktop, mobile, browser, or API. Self-hosted.
Is yao safe to install?
No — not without reading the findings first. The audit graded it F (45/100) and found 9 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can yao access on my machine?
The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
Which assistants does yao work with?
Its documentation mentions cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (f29cb2f7d38c), read on 2026-10-19. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/yaoapp/yao/)
Not your listing, or something out of date? Claim or update your listing.