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
232b772a6b
fix: correct openclaw config set command syntax
...
- Move --json flag to correct position (before value)
- Add explicit encoding and error handling
2026-03-05 12:37:29 +00:00
bb194ef978
refactor: install to dist/padded-cell/ like Dirigent
...
- Plugin name: padded-cell (matches dist subdirectory)
- Install copies files to dist/padded-cell/
- Plugin path set to dist/padded-cell/ directory
- Follows Dirigent pattern: dist/<plugin-name>/
2026-03-05 12:26:52 +00:00
888ed0e51a
fix: install script creates openclaw.plugin.json and index.js
...
- Add writeFileSync import
- Create manifest file during install if not exists
- Create index.js entry point during install if not exists
2026-03-05 12:10:04 +00:00
c366958a37
fix: use PaddedCell as plugin id to match directory name
...
- Change plugin id from 'padded-cell' to 'PaddedCell'
- Update manifest and install script
- OpenClaw infers plugin id from directory name
2026-03-05 12:09:42 +00:00
da34a3eb5e
feat: add OpenClaw plugin manifest and entry point
...
- Add openclaw.plugin.json with proper configSchema
- Add index.js as plugin entry point
- Fix plugin id to 'padded-cell' to match manifest
2026-03-05 12:09:11 +00:00
08e74e3806
feat: add OpenClaw plugin manifest
...
- Add openclaw.plugin.json with plugin metadata
- Define tools: pcexec and safe_restart
2026-03-05 12:08:23 +00:00
7e0c4cd5e6
refactor: use openclaw config commands, keep plugin in place
...
- Use 'openclaw config get/set' commands (like Dirigent)
- Keep plugin in current directory, don't copy to plugins/
- Plugin path is relative to script location (__dirname)
- Only copy pass_mgr binary to ~/.openclaw/bin/
- Keep 6-step install flow with all original features
2026-03-05 11:58:35 +00:00
15474eee48
docs: update README with new install usage
2026-03-05 11:50:28 +00:00