Commit Graph

45 Commits

Author SHA1 Message Date
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
zhi
62044ab948 fix: use openclaw config command for configuration management
- Use 'openclaw config get/set --json' instead of direct file manipulation
- Correctly remove plugin path from OpenClaw config during uninstall
- Remove pass_mgr binary during uninstall
2026-03-05 11:25:05 +00:00
zhi
3a495f8d64 fix: create OpenClaw config if not exists and simplify install summary
- Create ~/.openclaw/config.json if it doesn't exist
- Automatically add plugin path to config
- Simplify post-install steps (remove redundant 'add to profile' step)
2026-03-05 11:21:22 +00:00
zhi
259f9dc418 fix: remove unused PADDEDCELL_SKILLS_DIR env variable
The plugins.load.paths configuration is automatically updated,
so this environment variable is not needed.
2026-03-05 11:16:40 +00:00
zhi
ceb17f375b fix: correct path construction in install script
- Fix duplicate .openclaw in env file path
- Use consistent installDir variable throughout
- Fix skills path in OpenClaw config update
- Fix fallback path in uninstall function
2026-03-05 11:13:49 +00:00
zhi
9ecb065b43 feat: interactive password input for pass_mgr admin init
- Remove --key-path parameter requirement
- Add interactive password prompt (hidden input like sudo)
- Require password confirmation
- Password must be at least 6 characters
- Uses golang.org/x/term for secure password input
2026-03-05 11:07:47 +00:00
zhi
84c9df633a feat: require password for admin init and auto-configure plugin path
- pass_mgr admin init now requires --key-path parameter
- Password must be at least 6 characters long
- Install script now updates OpenClaw plugins.load.paths config
- Falls back to manual instructions if config file not found
2026-03-05 10:51:51 +00:00
zhi
5084cfecb8 fix: remove auto-init of pass_mgr from install script
- Remove automatic pass_mgr admin init during installation
- Users must manually run 'pass_mgr admin init' after install
- Update install summary to show initialization as a required step
- This allows non-interactive installation
2026-03-05 10:28:13 +00:00
zhi
21d04b17cd feat: add --uninstall support to install script
- Add --uninstall flag to remove installed components
- List items to be removed before confirmation
- Remove pass_mgr binary, skills modules, and env config
- Preserve admin key directory (warns user to remove manually)
- Update PROJECT_PLAN.md with uninstall usage
2026-03-05 10:13:29 +00:00
zhi
8d270bfddf docs: update test plan with build fix results 2026-03-05 10:01:29 +00:00
zhi
28af11cfbb fix: resolve build errors in pass_mgr, pcexec, and safe-restart
- Fix Go syntax error: use BoolVar for --username flag instead of string
- Fix TypeScript type errors: filter undefined values from process.env
- Fix TypeScript type error: add type assertion for fetch response
- Add .gitignore to exclude node_modules and build outputs
2026-03-05 10:00:30 +00:00
zhi
849effd301 feat: add install script and update project docs
- Add install.mjs: unified installer with dependency check, build, install, config
- Update PROJECT_PLAN.md: add section 6 for installation script requirements
- Update AGENT_TASKS.md: add T-7001~T-7005 for installation tasks
- Support flags: --prefix, --build-only, --skip-check, --verbose
2026-03-05 09:48:40 +00:00
zhi
b37ebb3db1 docs: add bilingual README with language switcher
- Update README.md to English version with language navigation
- Add README.zh-CN.md for Simplified Chinese
- Add language switcher links in both files
2026-03-05 09:38:38 +00:00
root
10e1124550 feat: implement pass_mgr, pcexec, and safe-restart modules
- Add pass_mgr Go binary with AES-256-GCM encryption
- Add pcexec TypeScript tool with password sanitization
- Add safe-restart module with state machine and API
- Add slash command handler with cooldown support
- Update README with usage documentation
2026-03-05 09:27:44 +00:00
nav
10d7e8a6c2 Rename slash command and add permissions/cooldown 2026-03-05 09:00:47 +00:00
nav
455ea26039 Define /padded-cell slash command 2026-03-05 08:57:14 +00:00
nav
0eeb75d257 Add slash command feature toggles 2026-03-05 08:52:27 +00:00
nav
f090e1b31c Clarify no master key; use agent keypair 2026-03-05 08:48:00 +00:00
nav
c294689135 Set default algorithm and admin init args 2026-03-05 08:25:11 +00:00
nav
9036ecf725 Update pass_mgr options and admin key path 2026-03-05 08:20:04 +00:00
nav
840f8c7b67 Update password path and username lookup 2026-03-05 08:14:28 +00:00
nav
a2f75af6d4 Add agent task breakdown 2026-03-05 07:45:15 +00:00
root
572e7d57b0 Add project plan 2026-03-05 07:38:20 +00:00