一键导入
plugins
Create and manage Lulu plugins. Use when building custom tools, integrating external APIs, or extending Lulu with new capabilities.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create and manage Lulu plugins. Use when building custom tools, integrating external APIs, or extending Lulu with new capabilities.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Design lightweight Kanban board snapshots for project tracking and workflow visualization
Design and generate data dashboards with charts, tables, and real-time layout
Design mobile app prototypes with native-feeling UI patterns
Design pitch deck slide decks with storytelling flow and investor-ready visuals
Design and generate SaaS landing pages with conversion-focused layouts
Design REST/GraphQL APIs
| name | plugins |
| description | Create and manage Lulu plugins. Use when building custom tools, integrating external APIs, or extending Lulu with new capabilities. |
Lulu plugins let you add custom tools without modifying the core.
~/.lulu/plugins/
~/.lulu/plugins/
└── plugin-slack/
├── lulu-plugin.json # Manifest
└── index.js # ES module
lulu-plugin.json:
{
"name": "slack",
"version": "0.1.0",
"description": "Send messages to Slack",
"author": "Me",
"permissions": ["network:slack.com"]
}
index.js:
export default {
name: "send_slack_message",
description: "Send a message to a Slack channel",
input_schema: {
type: "object",
properties: {
channel: { type: "string", description: "Channel ID" },
message: { type: "string", description: "Message text" }
},
required: ["channel", "message"]
},
async execute(input, config) {
const token = process.env.SLACK_TOKEN;
const resp = await fetch("https://slack.com/api/chat.postMessage", {
method: "POST",
headers: { "Authorization": "Bearer " + token, "Content-Type": "application/json" },
body: JSON.stringify({ channel: input.channel, text: input.message })
});
const data = await resp.json();
return data.ok ? "Message sent!" : "Failed: " + JSON.stringify(data);
}
};
~/.lulu/plugins/my-tool.js
Same structure as index.js above, just as a single file.
interface Plugin {
name: string; // Tool name (e.g., "send_slack_message")
description: string; // What it does
input_schema: object; // JSON Schema for inputs
execute(input, config): Promise<string>; // Main function
permissions?: string[]; // Optional permission tags
}
| Permission | Allows |
|---|---|
network | Any outbound HTTP request |
network:domain.com | Only requests to domain.com |
filesystem:read | Read any file |
filesystem:write | Write any file |
env:VAR_NAME | Read specific env var |
shell | Run shell commands |
Plugins are reloaded on each conversation turn. No server restart needed.