acryldev/acryl--plugins-acryl-plugin-admin ↗★ 256
acryl-plugin-admin
ACRYL plugin administration, one Cordis plugin for every surface: Settings > Plugins Lifecycle and Architecture tabs (Client) and their private same-origin routes (Host), driven by the shared ctx.acrPluginLifecycle service 适合需要在Web和桌面端统一管理Cordis插件生命周期的系统管理员。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:acryldev/acryl#36202668b4175f2840ed4673cd8475ee37c1acfe&path:plugins/acryl-plugin-adminacryl-plugin-admin
Plugin administration for every ACRYL surface, as Cordis plugins. It was inside the Desktop app; it now serves Desktop and Web from one implementation (spec 040 "Surface sharing").
- Host plugin (
src/index.ts): the private same-origin routes behind Settings > Plugins./api/acryl-plugin-admin/architectureneeds only the web server and projects the live Cordis graph./api/acryl-plugin-admin/lifecycle[/enable|/disable|/reload]is a dependency-gated child plugin: it mounts when a surface has publishedctx.acrPluginLifecycle(Desktop and Web both do), unmounts without failing the parent when it goes away, and returns when it comes back.
- Client plugin (
src/client): the Architecture and Lifecycle tabs, contributed to thesettings.plugins.tabslot, with their own dictionaries and styles, each owned by one effect. PluginLifecycleView(src/lifecycle/view.ts): the renderer-facing projection over the shared lifecycle authority (client-graph membership, the composed Blend when a surface has one, "reload the page" receipts). Desktop's plugin controller reuses it, so there is one implementation.
Nothing here may import Electron or a Desktop-only service. Composed for both surfaces through the plugin-admin capability
in acryl-harness-runtime's coding-capabilities.ts.
Layout
src/
index.ts Host plugin (routes, dependency-gated lifecycle child)
http.ts loopback same-origin and bounded-JSON helpers (same behaviour as Desktop settings and workspace routes)
lifecycle/ contract, route, view
architecture/ contract, inspector, route
client/ lifecycle/ and architecture/ tabs, api adapters, locales, styles; index.ts is the Client plugin
tests/ mirrors src/