Files
Yonexus/docs/FEAT.md
root 08a66d7659 refactor: restructure project layout and add install.mjs
- Move src/ → plugin/ with subdirectories:
  - plugin/core/ (business logic, models, store, permissions, utils, memory)
  - plugin/tools/ (query, resources)
  - plugin/commands/ (placeholder for slash commands)
  - plugin/hooks/ (placeholder for lifecycle hooks)
  - plugin/index.ts (wiring layer only, no business logic)
- Add install.mjs with --install, --uninstall, --openclaw-profile-path
- Add skills/ and docs/ root directories
- Move planning docs (PLAN.md, FEAT.md, AGENT_TASKS.md) to docs/
- Remove old scripts/install.sh
- Update tsconfig rootDir: src → plugin
- Update README.md and README.zh.md with new layout
- Bump version to 0.2.0
- All tests pass
2026-03-10 14:39:24 +00:00

2.7 KiB

FEAT — Yonexus Feature List

Existing Features

Core Model & Storage

  • Organization / Department / Team / Agent / Identity / Supervisor data model
  • In-memory runtime with JSON persistence (data/org.json)
  • Import/export of structure data

Authorization

  • Role model: org_admin, dept_admin, team_lead, agent
  • authorize(action, actor, scope) permission check
  • Registrar whitelist (registrars) and bootstrap registration support

Core APIs

  • createOrganization(actor, name)
  • createDepartment(actor, name, orgId)
  • createTeam(actor, name, deptId)
  • registerAgent(actor, agentId, name, roles?)
  • assignIdentity(actor, agentId, deptId, teamId, meta)
  • setSupervisor(actor, agentId, supervisorId, deptId?)
  • whoami(agentId)
  • queryAgents(actor, scope, query)
  • Query ops: eq, contains, regex
  • Schema queryable whitelist enforcement
  • Pagination (limit, offset)
  • Basic query performance optimization (regex cache + ordered filter eval)

Management & Audit

  • renameDepartment, renameTeam, migrateTeam, deleteDepartment, deleteTeam
  • Structured errors via YonexusError
  • In-memory audit log (listAuditLogs)

Scope Memory

  • Scope memory adapter:
    • scope_memory.put(scopeId, text, metadata)
    • scope_memory.search(scopeId, query, limit)

Developer Experience

  • README.md + README.zh.md
  • Example data (examples/sample-data.json)
  • Demo script (scripts/demo.ts)
  • Smoke test (tests/smoke.ts)

New Features (from NEW_FEAT)

1) Filesystem Resource Layout

Data-only filesystem tree under:

  • ${openclaw dir}/yonexus/organizations/<org-name>/...

Auto-create (idempotent):

  • On createOrganization:
    • teams/, docs/, notes/, knowledge/, rules/, lessons/, workflows/
  • On createTeam:
    • teams/<team-name>/agents/, docs/, notes/, knowledge/, rules/, lessons/, workflows/
  • On assignIdentity:
    • teams/<team-name>/agents/<agent-id>/docs|notes|knowledge|rules|lessons|workflows

2) Document Query Tool

New API:

  • getDocs(scope, topic, keyword)

Parameters:

  • scope: organization | department | team | agent
  • topic: docs | notes | knowledge | rules | lessons | workflows
  • keyword: regex string

Behavior:

  • Read-only search by filename regex under filesystem resources
  • Structured output:
    • ----ORG
    • ----DEPT
    • ----TEAM
    • ----AGENT
  • Invalid regex returns structured error (YonexusError: VALIDATION_ERROR)

Notes

  • ${openclaw dir} resolution order:
    1. YonexusOptions.openclawDir
    2. OPENCLAW_DIR env
    3. ${HOME}/.openclaw
  • Plugin code is not written into ${openclaw dir}/yonexus; only data folders/files are used there.