Plugin sources and development workspace for PI-Desktop:
plugin sources, installable .piplug packages, and the tools that build them.
Releases are published on the plugin center. plugins.aiuo.net is the client's default catalog source and the supported release channel: create the plugin, bind the repository it lives in, tag a version and submit it. The center packs the files, audits the source, records the SHA-256, and mirrors
catalog.json+packages/to AIUO-Net/pi-desktop-plugins for the GitHub fallback channel. Committing to this repository alone no longer ships anything to users.
| Path | Description |
|---|---|
catalog.json |
Index of the plugins in this repository, generated by scripts/rebuild_catalog.py |
packages/*.piplug |
Packed plugin packages, built by scripts/pack_plugin.py |
plugins/<id>/ |
Plugin source directories, one folder per plugin |
scripts/ |
Build helpers (pack_plugin.py, rebuild_catalog.py, security_audit.py) |
tests/, website/ |
Plugin test suite and the marketplace website |
The plugin center is the live list: it serves the newest release of every plugin, including the
ones published from their authors' own repositories. This repository keeps the sources under
plugins/.
| Plugin | Description | Author |
|---|---|---|
| pi.todo | Lightweight todo app with four-quadrant matrix and simple list layouts, due reminders and AI tool integration | PI-Desktop |
| pi.token-insights | Token usage dashboard tracking PI-Desktop, Claude Code, Codex and other tools | PI-Desktop |
| pi.gitlens | GitLens-style local Git management docked in the work panel (human UI only, no agent tools) | PI-Desktop |
| pi.ssh-manager | Local-first SSH host management with AI remote command tool, transient panel passwords and no persisted credentials | PI-Desktop |
| pi.terminal | Interactive terminal docked in the work panel; multi-tab, cross-platform shell | PI-Desktop |
| pi.session-orchestrator | Coordinate real durable worker sessions from an Agent with bounded parallel execution, multi-round supervision and final-report acceptance | PI-Desktop |
Sources in this repository:
| Plugin | Description | Author |
|---|---|---|
| pi.scratch-calc | Scratch calculator with multi-line history, percentage/power/π/e and dark mode | Tioit-Wang |
| pi.super-domain-man | Multi-platform DNS record management and SSL certificate monitoring/issuance | Tioit-Wang |
| pi.markdown | Local Markdown notes with WYSIWYG editing, table of contents, code highlighting, Mermaid / KaTeX | Tioit-Wang |
| pi.clipboard-history | Clipboard history capturing text during runtime, retained 30 days, one-click restore | Tioit-Wang |
| pi.log-viewer | Large log viewer with streaming pagination, live tail, search highlighting and multi-file tabs | Tioit-Wang |
| pi.file-manager | Project file manager in the right work panel: directory tree, syntax-highlighted editor, Markdown preview, media and CSV/JSON views, read-only SQLite browser, context-menu file operations, filename search | Tioit-Wang |
| pi.bianqian | Markdown desktop sticky notes: multi-note, live preview, task lists, highlighter and trash | ZY |
| io.github.muzimu217.session-import | Universal session import + forge: bring sessions in from ZCode, WorkBuddy, Claude Code, Codex, OpenCode and Pi, then distill them into project conventions and reusable practices | muzimu217 |
| io.github.muzimu217.deps-audit | Dependency vulnerability audit: runs osv-scanner over the workspace, lists known OSV matches and lets the Agent propose a fix or upgrade | muzimu217 |
| io.github.liushunqiu.pi-idea-git | IDEA-style Git tool window: staged/unstaged change lists, hunk-level stage & revert, commit, branch switcher, graph log and stashes | liushunqiu |
| pi.workspace-file-guard | Keeps model-written test, log, cache and temp files off the system drive, Desktop and Downloads; junk stays in the project's Temp or scratch | xingleiwu |
| pi.goal-x | Persistent workspace goals, task evidence and host-owned completion audits | Goal X contributors |
| pi.parchment | Warm parchment global theme: cream paper background with a faint grid, ink user bubbles, paper assistant cards and monospace meta lines (styling only) | pkmcenter |
Published on the plugin center from their own repositories:
| Plugin | Description | Author |
|---|---|---|
| cc.mcii.session-notify | Watch every session's state changes and push titles and status to Feishu, DingTalk, WeCom, KOOK, ServerChan, Telegram or a generic webhook; message bodies are never read | LectWolf |
| cc.mcii.session-usage | /usage command showing the current session's input, output, cache reads, cache writes and hit rate |
LectWolf |
| cn.star.computer-use | Codex-style computer use: let the Agent drive the desktop to finish simple tasks | TheFalreStar |
| cn.star.grok-enhance | Execution discipline for Grok plus Grep / Glob (and already-installed memory / skill_manage) activation on the first request of every turn | TheFalreStar |
| cn.star.skill-learning | Turns a finished task into a reusable SKILL, reviewing long sessions in the background instead of in the chat | TheFalreStar |
| cn.star.user-profile | Local user and machine profile with a character cap, injected into the system prompt each turn and written through the memory tool; no remote memory service | TheFalreStar |
| io.github.catdford.color-picker | Browse Tailwind / Material palettes, pick colors from an image with a pixel loupe, build schemes with harmony rules or AI, check WCAG contrast and color blindness, export CSS variables / Tailwind / JSON, or install the palette as a PI-Desktop theme | catdford |
| local.pi-markdown | Local Markdown notes with true WYSIWYG editing (Typora-style Milkdown Crepe), light/dark themes, outline, code highlighting, Mermaid and KaTeX, global search, Markdown/HTML/image export and a read-only preview_file agent tool |
Tioit-Wang |
| pi.theme.studio | Theme studio: 5 built-in palettes, visual editing of all 56 --ds-* tokens and 7 window regions with fills, gradients, images, blur and radius, live preview, WCAG contrast checks and 4 agent tools for building themes from a prompt |
Tioit-Wang |
| Plugin | Description |
|---|---|
| demo.hello | Minimal example: panel + command + tool registration |
| demo.workspace-summary | Practical template: scan workspace and generate a summary |
| demo.workspace-notes | High-risk capability demo: file read/write + network requests |
- Open PI-Desktop → Plugins
- Go to the Marketplace page
- Click Refresh to load the latest catalog
- Browse and install plugins
The default source is the plugin center:
https://plugins.aiuo.net/catalog.json
The same page switches to the backup channels the client ships — the GitHub mirror
(raw.githubusercontent.com/AIUO-Net/pi-desktop-plugins/main/catalog.json) and the CNB mirror —
for networks where the center is unreachable.
# 1) Fork + clone
git clone https://github.com/<you>/pi-desktop-plugins.git
cd pi-desktop-plugins
# 2) Copy a template
cp -R plugins/demo.workspace-summary plugins/my.plugin-id
# 3) Edit manifest + code
# - Update id/name/version/description in manifest.json
# - Implement main.js
# - Create renderer/index.html (optional panel UI)
# 4) Pack
python3 scripts/pack_plugin.py plugins/my.plugin-id
# 5) Test in PI-Desktop
# - Use "Load dev plugin" or install the .piplug directly
# 6) Run the release gates before publishing
python3 scripts/security_audit.py --check-packagesDevelopment happens in this repository; releases happen on the plugin center. Both ways in reach the same backend:
-
Console — sign in at plugins.aiuo.net → My Plugins → Create plugin: upload the package, bind the repository the plugin lives in, submit. Later versions are submitted from the plugin's own page.
-
AI client — install the publishing skill and let an agent run the flow:
https://plugins.aiuo.net/skill.mdThe skill drives the MCP endpoint
https://plugins.aiuo.net/mcpwith a personal access token from Console → Tokens, kept at~/.pi-desktop/plugin-center.token. It sends the fields of your localmanifest.jsonplus the source files —ui,contributes,activationEvents,fsandnetincluded, because anything a call omits is dropped and the installed plugin becomes invalid.
A release needs three things:
- A tagged source repository. Push the plugin and tag the version (
v0.4.8); the tag, or a commit SHA, becomes thesourceRefthe source review reads. - A bound repository. The plugin is bound to one repository through the console's source binding (a GitHub App grant). That binding is what the review and the catalog's source pin follow, so it cannot be swapped afterwards without an operator.
- A version nobody published before, with release notes. The center audits the source, an operator approves, and the version goes live with its SHA-256 and install counts.
Ids under pi. and demo. are a reserved namespace and need an operator to release.
plugins/<id>/
├── manifest.json # Required: plugin metadata
├── main.js # Required: CJS entry, exports onLoad()/onUnload()
├── renderer/ # Optional: panel UI
│ ├── index.html
│ ├── style.css
│ └── script.js
├── README.md # Recommended: shown in marketplace detail
└── skills/ # Optional: AI agent tool definitions
{
"schemaVersion": 1,
"id": "my.plugin-id",
"name": "My Plugin",
"version": "0.1.0",
"description": "What it does",
"i18n": {
"en": { "name": "My Plugin", "description": "What it does" },
"zh-CN": { "name": "我的插件", "description": "插件功能描述" }
},
"author": "your-name",
"main": "main.js",
"categories": ["productivity"],
"permissions": ["ui.panel"],
"engines": { "piDesktop": ">=0.2.0" }
}| Permission | Use |
|---|---|
ui.panel |
Open isolated panel |
fs.read.workspace |
Read workspace files |
fs.write.workspace |
Modify workspace files |
clipboard.read / clipboard.write |
Clipboard access |
notify |
Local notifications |
net.fetch |
Outbound network requests |
shell.openExternal |
Open external links |
agent.tool.register |
Register AI agent tools |
Tip: Request the minimum set of permissions. High-risk permissions prompt the user at install time.
Plugin review is a release gate. See SECURITY.md for the mandatory policy, blocker list, risk tiers, artifact checks, and vulnerability reporting process. New plugins and behavior-changing releases must pass python3 scripts/security_audit.py --check-packages; high-risk changes require two independent maintainer reviews.
- Fork this repository
- Create your plugin from a demo template
- Test thoroughly in PI-Desktop
- Submit a Pull Request (ensure unique
id, semver versioning, clear docs)
A Pull Request adds sources to this repository. To ship a release to users, publish it on the plugin center — see Publish a Plugin below.
See CONTRIBUTING.md for details.
- Package root must contain
manifest.json - No symlinks or path traversal
- Store-compressed
.piplugformat - Max package size: 50 MB
- Bundle your own dependencies — no host-side
npm install
MIT