feat: add AIEOS identity support and harden cron scheduler security
- Add IdentityConfig with format=openclaw|aieos, aieos_path, and aieos_inline - Implement AIEOS v1.1 JSON parser and system prompt injection - Add build_system_prompt_with_identity() supporting both OpenClaw markdown and AIEOS JSON - Harden cron scheduler with SecurityPolicy checks (command allowlist, forbidden path arguments) - Skip retries on deterministic security policy violations - Add comprehensive tests for AIEOS config and cron security edge cases - Update README with AIEOS documentation and schema overview - Add .dockerignore tests for build context security validation
This commit is contained in:
parent
76074cb789
commit
acea042bdb
7 changed files with 790 additions and 22 deletions
74
README.md
74
README.md
|
|
@ -119,6 +119,7 @@ Every subsystem is a **trait** — swap implementations with a config change, ze
|
|||
| **Observability** | `Observer` | Noop, Log, Multi | Prometheus, OTel |
|
||||
| **Runtime** | `RuntimeAdapter` | Native (Mac/Linux/Pi) | Docker, WASM (planned; unsupported kinds fail fast) |
|
||||
| **Security** | `SecurityPolicy` | Gateway pairing, sandbox, allowlists, rate limits, filesystem scoping, encrypted secrets | — |
|
||||
| **Identity** | `IdentityConfig` | OpenClaw (markdown), AIEOS v1.1 (JSON) | Any identity format |
|
||||
| **Tunnel** | `Tunnel` | None, Cloudflare, Tailscale, ngrok, Custom | Any tunnel binary |
|
||||
| **Heartbeat** | Engine | HEARTBEAT.md periodic tasks | — |
|
||||
| **Skills** | Loader | TOML manifests + SKILL.md instructions | Community skill packs |
|
||||
|
|
@ -284,8 +285,81 @@ allowed_domains = ["docs.rs"] # required when browser is enabled
|
|||
|
||||
[composio]
|
||||
enabled = false # opt-in: 1000+ OAuth apps via composio.dev
|
||||
|
||||
[identity]
|
||||
format = "openclaw" # "openclaw" (default, markdown files) or "aieos" (JSON)
|
||||
# aieos_path = "identity.json" # path to AIEOS JSON file (relative to workspace or absolute)
|
||||
# aieos_inline = '{"identity":{"names":{"first":"Nova"}}}' # inline AIEOS JSON
|
||||
```
|
||||
|
||||
## Identity System (AIEOS Support)
|
||||
|
||||
ZeroClaw supports **identity-agnostic** AI personas through two formats:
|
||||
|
||||
### OpenClaw (Default)
|
||||
|
||||
Traditional markdown files in your workspace:
|
||||
- `IDENTITY.md` — Who the agent is
|
||||
- `SOUL.md` — Core personality and values
|
||||
- `USER.md` — Who the agent is helping
|
||||
- `AGENTS.md` — Behavior guidelines
|
||||
|
||||
### AIEOS (AI Entity Object Specification)
|
||||
|
||||
[AIEOS](https://aieos.org) is a standardization framework for portable AI identity. ZeroClaw supports AIEOS v1.1 JSON payloads, allowing you to:
|
||||
|
||||
- **Import identities** from the AIEOS ecosystem
|
||||
- **Export identities** to other AIEOS-compatible systems
|
||||
- **Maintain behavioral integrity** across different AI models
|
||||
|
||||
#### Enable AIEOS
|
||||
|
||||
```toml
|
||||
[identity]
|
||||
format = "aieos"
|
||||
aieos_path = "identity.json" # relative to workspace or absolute path
|
||||
```
|
||||
|
||||
Or inline JSON:
|
||||
|
||||
```toml
|
||||
[identity]
|
||||
format = "aieos"
|
||||
aieos_inline = '''
|
||||
{
|
||||
"identity": {
|
||||
"names": { "first": "Nova", "nickname": "N" }
|
||||
},
|
||||
"psychology": {
|
||||
"neural_matrix": { "creativity": 0.9, "logic": 0.8 },
|
||||
"traits": { "mbti": "ENTP" },
|
||||
"moral_compass": { "alignment": "Chaotic Good" }
|
||||
},
|
||||
"linguistics": {
|
||||
"text_style": { "formality_level": 0.2, "slang_usage": true }
|
||||
},
|
||||
"motivations": {
|
||||
"core_drive": "Push boundaries and explore possibilities"
|
||||
}
|
||||
}
|
||||
'''
|
||||
```
|
||||
|
||||
#### AIEOS Schema Sections
|
||||
|
||||
| Section | Description |
|
||||
|---------|-------------|
|
||||
| `identity` | Names, bio, origin, residence |
|
||||
| `psychology` | Neural matrix (cognitive weights), MBTI, OCEAN, moral compass |
|
||||
| `linguistics` | Text style, formality, catchphrases, forbidden words |
|
||||
| `motivations` | Core drive, short/long-term goals, fears |
|
||||
| `capabilities` | Skills and tools the agent can access |
|
||||
| `physicality` | Visual descriptors for image generation |
|
||||
| `history` | Origin story, education, occupation |
|
||||
| `interests` | Hobbies, favorites, lifestyle |
|
||||
|
||||
See [aieos.org](https://aieos.org) for the full schema and live examples.
|
||||
|
||||
## Gateway API
|
||||
|
||||
| Endpoint | Method | Auth | Description |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue