cb683c43bb
fix: avoid clobbering sensitive config fields during configure
...
Reading the entire plugins tree via openclaw config get returns redacted
values for sensitive fields. Writing it back overwrites real secrets with
the __OPENCLAW_REDACTED__ sentinel. Changed to set individual leaf paths
only when missing.
2026-04-16 14:34:07 +00:00
392eafccf2
Merge pull request 'feat(ego-mgr): add lookup subcommand' ( #15 ) from feat/ego-mgr-lookup into main
...
Reviewed-on: #15
2026-04-14 21:35:37 +00:00
39856a3060
feat(ego-mgr): add lookup subcommand
...
ego-mgr lookup <username>
- Finds agent whose default-username == username
- Echoes the agent-id (map key in agent-scope)
- Exits 7 if not found or column missing
2026-04-14 21:33:09 +00:00
c6f0393c65
fix: lock-mgr lock identifier if file does not exist
2026-04-13 16:00:40 +01:00
1a202986e8
fix: lock-mgr release meta-lock before exiting
2026-04-13 15:46:49 +01:00
dcc91ead9b
fix: lock-mgr get key from arg instead of env
2026-04-13 15:37:13 +01:00
311d9f4d9f
feat: add lock-mgr CLI tool and wire into install script
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-12 21:41:51 +01:00
525436d64b
Merge pull request 'feat/proxy-pcexec' ( #14 ) from feat/proxy-pcexec into main
...
Reviewed-on: #14
2026-03-30 11:57:56 +00:00
36f3c93484
fix: preserve existing plugin config on install
2026-03-30 11:56:52 +00:00
1ac75f429c
fix: load plugin config from api.pluginConfig
2026-03-30 11:47:42 +00:00
a2b965094d
chore: log proxy pcexec auth context
2026-03-30 11:38:05 +00:00
98a75a50d3
feat: add proxy pcexec tool
2026-03-30 11:22:26 +00:00
4a8a4b01cb
docs: clarify proxy pcexec rules
2026-03-30 09:22:25 +00:00
95fb9ba820
docs: update proxy pcexec env vars
2026-03-30 09:12:56 +00:00
764ada7c60
chore: organize planning docs
2026-03-30 09:07:00 +00:00
81c0a4c289
Merge pull request 'feat: add default columns to ego.json' ( #13 ) from feat/default-ego-columns into main
...
Reviewed-on: #13
2026-03-24 19:10:56 +00:00
4e8e264390
feat: add default columns to ego.json
...
Initialize ego.json with default columns on first install:
- columns (Agent Scope): default-username, name, discord-id, email, role,
position, date-of-birth, agent-id, gender
- public-columns (Public Scope): git-host, keycloak-host
2026-03-24 19:10:23 +00:00
21d7a85ba1
Merge pull request 'feat: add /ego-mgr slash command' ( #12 ) from feat/ego-mgr-slash-command into main
...
Reviewed-on: #12
2026-03-24 19:01:28 +00:00
7346c80c88
feat: add /ego-mgr slash command
...
Add /ego-mgr slash command with subcommands:
- get, set, list, delete, add-column, add-public-column, show
- Uses pcexec to call ego-mgr binary with proper env vars
Translate all Chinese text to English in responses.
Note: pcexec tool name and function names remain unchanged.
2026-03-24 10:59:05 +00:00
7fd2819a04
Merge pull request 'feat: rename pass_mgr → secret-mgr, add ego-mgr binary and skill' ( #11 ) from feat/ego-mgr-and-rename into main
...
Reviewed-on: #11
2026-03-24 09:50:40 +00:00
98fc3da39c
feat: rename pass_mgr → secret-mgr, add ego-mgr binary and skill
...
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
2026-03-24 09:36:03 +00:00
be0f194f47
docs: add pass_mgr to secret-mgr migration steps
2026-03-24 00:52:05 +00:00
2816f3a862
docs: remove env var rename note
2026-03-24 00:45:11 +00:00
ce79a782b9
docs: add agent auto-register & column validation rules
2026-03-24 00:43:22 +00:00
63d7fb569e
feat: add ego-mgr requirements & secret-mgr rename spec
2026-03-24 00:40:05 +00:00
2f149ed1b4
Fix pass-mgr skill command syntax
2026-03-15 03:49:45 +00:00
123c73cfc6
Merge pull request 'fix(pcexec): include stderr in error message for better debugging' ( #10 ) from fix/pcexec-error-message into main
...
Reviewed-on: #10
2026-03-15 03:43:58 +00:00
79c5f4cd27
fix(pcexec): include stderr in error message for better debugging
2026-03-09 08:53:04 +00:00
61cffae9ca
Merge pull request 'fix: resolve issues #4 #6 #7 #8 for install and pass_mgr' ( #9 ) from fix/issues-4-6-7-8 into main
...
Reviewed-on: #9
2026-03-09 07:44:39 +00:00
99787e6ded
fix: resolve issues #4 #6 #7 #8 for install and pass_mgr
2026-03-08 23:09:16 +00:00
2e38cb8fe2
tighten secret handling guidance
2026-03-08 21:50:44 +00:00
c16149db9d
note username optional for pass_mgr set
2026-03-08 21:47:20 +00:00
b00086816c
refine pass-mgr usage guidance
2026-03-08 21:44:47 +00:00
a347908d9f
add pass-mgr skill
2026-03-08 21:39:29 +00:00
bc2c5f8bd6
Merge pull request 'feat/refactor-and-pcguard' ( #3 ) from feat/refactor-and-pcguard into main
...
Reviewed-on: #3
2026-03-08 21:32:53 +00:00
ddaea57f2d
feat: rewrite pass_mgr with build-time AES key, update pcexec & install
...
pass_mgr:
- Complete rewrite using build-time AES key (injected via ldflags)
- New command format: get-secret/get-username --key, set --key --secret
- Admin commands: init, handoff, init-from (rejected when AGENT_* env set)
- Inline pcguard check for agent commands
- Legacy 'get <key>' kept for backward compat
- Storage: pc-pass-store/<agent-id>/<key>.gpg with AES-256-GCM
- Admin password stored as SHA-256 hash in .pass_mgr/admin.json
pcexec.ts:
- Support new 'get-secret --key' pattern alongside legacy 'get <key>'
- Pass environment to fetchPassword for pcguard validation
- Deduplicate matches, sanitize all resolved passwords from output
install.mjs:
- Generate random 32-byte hex build secret (.build-secret)
- Reuse existing secret on rebuilds
- Pass to go build via -ldflags -X main.buildSecret=<secret>
README.md:
- Document new pass_mgr command format
- Document admin handoff/init-from workflow
- Document security model limitations
- Update project structure
2026-03-08 21:12:27 +00:00
c186eb24ec
fix: copy package.json to install dest for npm install
2026-03-08 12:02:11 +00:00
0569a5dcf5
feat: refactor project structure + add pcguard + AGENT_VERIFY injection
...
- Restructure: pcexec/ and safe-restart/ → plugin/{tools,core,commands}
- New pcguard Go binary: validates AGENT_VERIFY, AGENT_ID, AGENT_WORKSPACE
- pcexec now injects AGENT_VERIFY env + appends openclaw bin to PATH
- plugin/index.ts: unified TypeScript entry point with resolveOpenclawPath()
- install.mjs: support --openclaw-profile-path, install pcguard, new paths
- README: updated structure docs + security limitations note
- Removed old root index.js and openclaw.plugin.json
2026-03-08 11:48:53 +00:00
239a6c3552
add NEW_FEAT and remove task lists
2026-03-08 11:40:40 +00:00
59d72ef365
add PATH injection task
2026-03-07 16:55:44 +00:00
0760fed8ff
add pcguard tasks to agent tasks
2026-03-06 12:57:11 +00:00
5134325794
add pcguard task list and README note
2026-03-06 12:48:13 +00:00
842a19a56c
Merge pull request 'fix: remove shell:true default to fix command output' ( #2 ) from fix/shell-option into main
...
Reviewed-on: #2
2026-03-06 09:24:57 +00:00
903e5efddb
fix: remove shell:true default to fix command output
...
- Removed shell:true default that caused double shell wrapping
- This was causing echo and other commands to return empty output
- Now matches OpenClaw exec behavior which never uses shell:true
2026-03-06 09:20:38 +00:00
9c70cc33a5
Merge pull request 'dev/zhi' ( #1 ) from dev/zhi into main
...
Reviewed-on: #1
2026-03-05 19:08:00 +00:00
c2fb28301c
fix: rename init() to register() for OpenClaw plugin API
...
OpenClaw expects 'register' or 'activate' export, not 'init'
2026-03-05 19:02:53 +00:00
27a94d1da7
fix: use OpenClaw plugin SDK format with api.registerTool()
...
- Change index.js to export init() function that receives api
- Use api.registerTool() to dynamically register tools
- Remove tools array from manifest (not needed for dynamic registration)
- Add passMgrPath to configSchema
2026-03-05 18:57:58 +00:00
858538aaad
fix: add source index.js, install script copies from source
...
- Add index.js to project root as source
- Add configSchema to openclaw.plugin.json
- Install script now copies these files from source to dist/
- Ensures dist/ is reproducible from source
2026-03-05 14:51:37 +00:00
e97ce0208e
fix: add configSchema and root index.js to plugin manifest
...
- OpenClaw requires configSchema in plugin manifest
- Add root index.js as entry point (like Dirigent)
- Update install script to generate correct manifest
2026-03-05 14:49:03 +00:00
6454004d66
fix: correct OpenClaw config order - load.paths before allow
...
- OpenClaw validates plugin exists in load.paths before allowing it in allow list
- Reorder: 1) load.paths, 2) allow, 3) entries
2026-03-05 12:44:39 +00:00