Commit Graph

72 Commits

Author SHA1 Message Date
nav
a2b965094d chore: log proxy pcexec auth context 2026-03-30 11:38:05 +00:00
nav
98a75a50d3 feat: add proxy pcexec tool 2026-03-30 11:22:26 +00:00
nav
4a8a4b01cb docs: clarify proxy pcexec rules 2026-03-30 09:22:25 +00:00
nav
95fb9ba820 docs: update proxy pcexec env vars 2026-03-30 09:12:56 +00:00
nav
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
zhi
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
zhi
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
zhi
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
nav
be0f194f47 docs: add pass_mgr to secret-mgr migration steps 2026-03-24 00:52:05 +00:00
nav
2816f3a862 docs: remove env var rename note 2026-03-24 00:45:11 +00:00
nav
ce79a782b9 docs: add agent auto-register & column validation rules 2026-03-24 00:43:22 +00:00
nav
63d7fb569e feat: add ego-mgr requirements & secret-mgr rename spec 2026-03-24 00:40:05 +00:00
nav
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
nav
2e38cb8fe2 tighten secret handling guidance 2026-03-08 21:50:44 +00:00
nav
c16149db9d note username optional for pass_mgr set 2026-03-08 21:47:20 +00:00
nav
b00086816c refine pass-mgr usage guidance 2026-03-08 21:44:47 +00:00
nav
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
zhi
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
zhi
c186eb24ec fix: copy package.json to install dest for npm install 2026-03-08 12:02:11 +00:00
zhi
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
nav
239a6c3552 add NEW_FEAT and remove task lists 2026-03-08 11:40:40 +00:00
nav
59d72ef365 add PATH injection task 2026-03-07 16:55:44 +00:00
nav
0760fed8ff add pcguard tasks to agent tasks 2026-03-06 12:57:11 +00:00
nav
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
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
zhi
15474eee48 docs: update README with new install usage 2026-03-05 11:50:28 +00:00
zhi
0daf1432a7 refactor: rewrite install script to match Dirigent pattern
- Plugin name changed to 'padded-cell' (in OpenClaw)
- Install to ~/.openclaw/plugins/padded-cell/ instead of skills
- Add plugins.entries.padded-cell configuration
- Add to plugins.allow list
- Use --install and --uninstall flags
- Follow Dirigent's delta tracking pattern
2026-03-05 11:49:56 +00:00
zhi
1c84b4d6a0 refactor: remove env file creation, use full path in examples
- Remove creation of paddedcell.env file
- Update post-install instructions to use full pass_mgr path
- Simplify to 6 steps (remove verification step)
- Update uninstall to not reference env file
2026-03-05 11:34:19 +00:00