M1: Rename pass_mgr to secret-mgr - Rename directory, binary, and Go module - Update install.mjs to build/install secret-mgr - Update pcexec.ts to support secret-mgr patterns (with legacy pass_mgr compat) - Update plugin config schema (passMgrPath → secretMgrPath) - Create new skills/secret-mgr/SKILL.md - install.mjs now initializes ego.json on install M2: Implement ego-mgr binary (Go) - Agent Scope and Public Scope column management - Commands: add column/public-column, delete, set, get, show, list columns - pcexec environment validation (AGENT_VERIFY, AGENT_ID, AGENT_WORKSPACE) - File locking for concurrent write safety - Proper exit codes per spec (0-6) - Agent auto-registration on read/write - Global column name uniqueness enforcement M3: ego-mgr Skill - Create skills/ego-mgr/SKILL.md with usage guide and examples Ref: REQUIREMENTS_EGO_MGR.md
2.6 KiB
2.6 KiB
name, description
| name | description |
|---|---|
| ego-mgr | Manage agent personal information (name, email, timezone, etc.). Use when storing, retrieving, listing, or managing agent profile fields. Trigger on requests about agent identity, personal info, profile settings, or ego-mgr usage. MUST call ego-mgr via the pcexec tool. |
Ego Manager
Purpose
Use ego-mgr to manage agent personal information fields. Supports per-agent fields (Agent Scope) and shared fields (Public Scope).
Mandatory safety rule
Always invoke ego-mgr through the pcexec tool. Do NOT run ego-mgr directly.
Concepts
- Agent Scope columns: Each agent stores its own value independently
- Public Scope columns: All agents share the same value
- Column names are globally unique — a name cannot be both agent-scope and public-scope
Workflow
- First, create a column:
ego-mgr add column <name>orego-mgr add public-column <name> - Then, set its value:
ego-mgr set <name> <value> - Read it:
ego-mgr get <name>orego-mgr show
Commands (run via pcexec)
Add columns
# Agent-scope column (per-agent values)
ego-mgr add column <column-name> [--default <default-value>]
# Public-scope column (shared by all agents)
ego-mgr add public-column <column-name> [--default <default-value>]
Delete a column
ego-mgr delete <column-name>
Removes the column and all its values across all scopes.
Set a value
ego-mgr set <column-name> <value>
Automatically writes to the correct scope (agent or public) based on column type.
Get a value
ego-mgr get <column-name>
Outputs just the value (no label).
Show all fields
ego-mgr show
Lists all fields with values (public first, then agent-scope).
List column names
ego-mgr list columns
Lists all column names (public first, then agent-scope).
Error exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Usage error |
| 2 | Column not found |
| 3 | Column already exists |
| 4 | Permission error (not via pcexec) |
| 5 | File lock failed |
| 6 | JSON read/write error |
Common use cases
Set up agent identity
ego-mgr add column name
ego-mgr set name "小智"
ego-mgr add column email
ego-mgr set email "zhi@example.com"
Set shared config
ego-mgr add public-column timezone --default UTC
ego-mgr add public-column language --default zh-CN
Check current profile
ego-mgr show
Usage notes
- Always create columns before setting values
- Column names are case-sensitive
- Public scope values are readable and writable by all agents
- Agent scope values are isolated per-agent