Token导航 LogoToken导航TokenDH.com
promptly (Yonier Gomez) logo
运维云端stdio官方级别未说明来源级核验

promptly (Yonier Gomez)

MCP Server

AI Locker是一款自托管的Web应用,用于管理AI提示、技能、配置和命令,内置AI聊天功能。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
多模型支持JavaScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

YonierGomez

提供方

YonierGomez

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

✦ AI储物柜

AI储物柜 --一个漂亮的、自托管的web应用程序,用于管理您的AI提示、技能、转向配置、MCP服务器设置和shell命令。 内置AI聊天功能 从自然语言生成提示、技能、指导规则、MCP配置和命令。

采用真正的黑色玻璃形态设计和多提供商AI支持构建。

](https://hub.docker.com/r/yoniergomez/ai-locker) ](https://nodejs.org) ![React](https://react.dev) ![PostgreSQL](https://postgresql.org) ![License: MIT](LICENSE)

______________________________________________________________________

☕ 支持这个项目

如果AI Locker为您节省了时间,请考虑支持其开发:

](https://github.com/sponsors/YonierGomez) ![Buy Me a Coffee](https://buymeacoffee.com/yoniergomez)

______________________________________________________________________

✨ 特性

特性描述
🤖 AI聊天内置聊天功能,可从自然语言生成提示、技能、指导、MCP配置和命令。支持 开放人工智能, Anthropic, 谷歌双子座, 亚马逊基石,以及 开放路由历史悠久,最新型号(GPT-5.4、Claude 4.6、Gemini 3.1)。
📝 鼓励存储带有类别、型号、温度、最大标记和Markdown编辑器的AI提示模板
技能具有触发短语和活动/非活动切换的可重用AI技能定义
🧭 转向行为指导和系统说明,范围(全球/项目/会议)和优先级
🤖 代理AI代理预设结合了模型、系统提示、温度、技能、转向和MCP连接——一键即可使用
🔌 MCP配置带有语法高亮显示的JSON编辑器的模型上下文协议服务器配置
💻 命令带有Shell/platform/category、复制到剪贴板和使用情况跟踪的Shell命令库
🧩 代码片段31种语言(Python、YAML、Dockerfile、HCL、SQL等)的可重用代码片段,语法突出显示
🪝 钩子根据IDE事件(文件编辑、代理停止、工具使用、任务执行)自动化操作。自动触发Ask Agent提示或shell命令
🔐 金库存储使用AES-256-GCM加密的API密钥、令牌、私钥、密码和机密。默认情况下隐藏值,按需显示。参考任何地方 {{VAR_NAME}}
📊 仪表盘使用活动热图、使用图表、模型分布和收藏夹库进行分析
🔍 智能搜索命令面板(⌘K)用于在所有部分进行即时搜索。全文搜索、类别过滤器、收藏夹过滤器。
🗂️ 详情视图每个项目的只读细节模式——可最大化到全屏
📝 Markdown编辑器具有实时渲染和语法突出显示的编辑/拆分/预览模式
📈 令牌计数器所有内容的实时令牌估计,按大小进行颜色编码
🏷️ 标签和类别使用颜色选择器自定义标签和类别
🗑️ 垃圾软删除,5天自动清除,一键恢复
☁️ S3备份和同步AWS S3/CCloudflare R2/Backblaze B2/MinIO——备份、恢复和自动同步调度
📱 响应式完全支持移动设备——适用于任何屏幕尺寸
🐳 Docker就绪使用PostgreSQL的单容器,多阶段构建
🎨 Glassmorphism用户界面真正的黑色主题(#0a0a0a)、模糊、透明和渐变,带有春季动画

______________________________________________________________________

🐳 使用Docker进行部署

不需要本地依赖,只需要Docker。官方镜像在Docker Hub上发布为 yoniergomez/ai-locker 和支持 amd64, arm64,以及 armv7.

选项A:Docker Compose(推荐)

不需要克隆。包括PostgreSQL、持久卷和自动重启。

# Download the compose file
curl -O https://raw.githubusercontent.com/YonierGomez/ai-locker/main/compose.yaml

# Start (pulls the image automatically from Docker Hub)
docker compose up -d

打开 http://localhost:9091 你完了。

compose.yaml

services:

  app:
    image: yoniergomez/ai-locker:latest
    container_name: ai-locker
    ports:
      - "9091:3001"
    environment:
      NODE_ENV: production
      PORT: 3001
      DB_HOST: postgres-db
      DB_PORT: 5432
      DB_NAME: ai-locker
      DB_USER: ai-locker
      DB_PASSWORD: secret
      DB_TYPE: postgres
      # Alternatively, use a connection string:
      # DATABASE_URL: postgresql://ai-locker:secret@postgres-db:5432/ai-locker
    volumes:
      - ai_locker_data:/data
    restart: unless-stopped
    depends_on:
      postgres-db:
        condition: service_healthy

  postgres-db:
    image: postgres:alpine
    container_name: ai-locker_postgres
    restart: unless-stopped
    environment:
      POSTGRES_DB: ai-locker
      POSTGRES_USER: ai-locker
      POSTGRES_PASSWORD: secret
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ai-locker -d ai-locker"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  ai_locker_data:
  postgres_data:

______________________________________________________________________

选项B:Docker Compose——SQLite(无数据库服务)

最小组合文件——内置SQLite的单个容器。不需要PostgreSQL。

# Download the compose file
curl -O https://raw.githubusercontent.com/YonierGomez/ai-locker/main/compose.yaml

# Start
docker compose up -d

compose.yaml (SQLite variant)

services:

  app:
    image: yoniergomez/ai-locker:latest
    container_name: ai-locker
    ports:
      - "9091:3001"
    environment:
      NODE_ENV: production
      PORT: 3001
      DB_PATH: /data/ai-locker.db
    volumes:
      - ai_locker_data:/data
    restart: unless-stopped

volumes:
  ai_locker_data:

打开 http://localhost:9091.

______________________________________________________________________

选项C:Docker运行--SQLite

内置SQLite的单个容器。无需额外服务。

docker run -d \
  --name ai-locker \
  -p 3001:3001 \
  -v ai_locker_data:/data \
  --restart unless-stopped \
  yoniergomez/ai-locker:latest

打开 http://localhost:3001.

______________________________________________________________________

选项D:运行Docker——外部PostgreSQL

通过连接字符串指向您自己的PostgreSQL实例。

docker run -d \
  --name ai-locker \
  -p 3001:3001 \
  -v ai_locker_data:/data \
  -e DATABASE_URL=postgresql://user:pass@host:5432/ai-locker \
  --restart unless-stopped \
  yoniergomez/ai-locker:latest

______________________________________________________________________

环境变量

变量默认值描述
PORT3001服务器端口(容器内部)
NODE_ENVproduction环境
DATABASE_URL--完整的PostgreSQL/MySQL连接字符串
DB_HOST / DB_PORT / DB_NAME / DB_USER / DB_PASSWORD / DB_TYPE--单个DB变量(替代 DATABASE_URL)
DB_PATH/data/prompts.dbSQLite路径(未设置DB变量时使用)
API_KEY-用于保护所有API端点的承载令牌(可选)

______________________________________________________________________

🔐 API密钥保护

使用Bearer令牌保护您的AI Locker实例。当 API_KEY 设置,则所有API请求都必须包含标头 Authorization: Bearer .

1.生成安全密钥:

openssl rand -hex 32
# Example: a3f8c2d1e4b5a6f7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1

2.将其设置在您的环境中:

# .env file
API_KEY=a3f8c2d1e4b5a6f7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1

# Or with Docker Compose
environment:
  API_KEY: a3f8c2d1e4b5a6f7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1

# Or with docker run
docker run -e API_KEY=your-key-here ...

3.配置前端:

在浏览器中打开AI Locker→ 设置→ API密钥 → 粘贴密钥并保存。

或者在浏览器控制台中手动设置:

localStorage.setItem('promptly_api_key', 'your-key-here')
注: 密钥存储在 localStorage 并与每个API请求一起自动发送。如果没有在前端配置密钥,应用程序将显示身份验证错误。

有用的命令

# View logs
docker compose logs -f

# Stop
docker compose down

# Update to the latest image
docker compose pull && docker compose up -d

# Build from source instead of using the official image
git clone https://github.com/YonierGomez/ai-locker.git && cd ai-locker
# Edit compose.yaml: replace `image:` with `build: .`, then:
docker compose up -d --build

# Backup PostgreSQL
docker exec ai-locker_postgres pg_dump -U ai-locker ai-locker > backup-$(date +%Y%m%d).sql

# Backup SQLite (docker run mode)
docker cp ai-locker:/data/prompts.db ./backup-$(date +%Y%m%d).db

# Custom port
PORT=8080 docker compose up -d

______________________________________________________________________

🛠️ 发展

只有当你想修改源代码时才需要。

npm run install:all   # install all dependencies
npm run dev           # start backend + frontend in watch mode
  • 前端:http://localhost:3000
  • 后端API:http://localhost:3001

______________________________________________________________________

项目结构

ai-locker/
├── backend/                 # Express.js API
│   ├── config/
│   │   └── database.js      # PostgreSQL / SQLite setup
│   ├── routes/
│   │   ├── ai.js            # AI Chat (multi-provider: OpenAI, Anthropic, Gemini, Bedrock, OpenRouter)
│   │   ├── prompts.js       # Prompts CRUD
│   │   ├── skills.js        # Skills CRUD
│   │   ├── steering.js      # Steering CRUD
│   │   ├── mcp.js           # MCP Configs CRUD
│   │   ├── commands.js      # Commands CRUD
│   │   ├── hooks.js         # Hooks CRUD
│   │   ├── vault.js         # Vault (AES-256-GCM encrypted secrets)
│   │   ├── tags.js          # Tags management
│   │   ├── categories.js    # Categories management
│   │   ├── backup.js        # S3 backup/restore (export + import)
│   │   ├── trash.js         # Soft delete / trash
│   │   └── settings.js      # App settings + stats
│   └── server.js            # Entry point + auto-sync cron
├── frontend/                # React + Vite
│   └── src/
│       ├── components/      # Shared UI components
│       │   ├── CommandPalette.jsx  # ⌘K search
│       │   ├── Sidebar.jsx
│       │   ├── Topbar.jsx
│       │   ├── ItemCard.jsx
│       │   ├── DetailModal.jsx  # Full read-only detail view
│       │   ├── Modal.jsx        # Create/edit modal (maximizable)
│       │   ├── MarkdownEditor.jsx
│       │   ├── ModelSelector.jsx
│       │   ├── CategorySelector.jsx
│       │   └── TagsSelector.jsx
│       ├── pages/
│       │   ├── AiSessionPage.jsx   # AI Chat
│       │   ├── DashboardPage.jsx
│       │   ├── PromptsPage.jsx
│       │   ├── SkillsPage.jsx
│       │   ├── InstructionsPage.jsx
│       │   ├── AgentsPage.jsx
│       │   ├── McpPage.jsx
│       │   ├── CommandsPage.jsx
│       │   ├── HooksPage.jsx
│       │   ├── SnippetsPage.jsx
│       │   ├── NotesPage.jsx
│       │   ├── VaultPage.jsx
│       │   ├── TrashPage.jsx
│       │   └── SettingsPage.jsx
│       └── utils/
│           ├── api.js       # API client
│           ├── models.js    # AI models list
│           └── tokens.js    # Token estimation
├── docs/
│   └── index.html           # Landing page
├── Dockerfile               # Multi-stage build
├── compose.yaml             # Docker Compose (app + PostgreSQL)
└── README.md

______________________________________________________________________

🗂️ 详情视图

图书馆里的每一件物品都有 全屏详细视图 点击任一卡片即可访问:

  • 所有元数据(型号、令牌、温度、创建/更新日期、标签)的只读视图
  • Markdown渲染 用于提示、技能和指导内容
  • 语法突出显示JSON 用于MCP配置(透明背景,只有颜色)
  • 最大化按钮 --展开视图以填充整个屏幕
  • 操作按钮:复制·编辑·删除·切换收藏
  • 如果局部视图已最大化,则“编辑”也会打开最大化

______________________________________________________________________

🪝 钩子

根据IDE事件自动执行操作:

事件描述
fileEdited / fileCreated / fileDeleted当文件更改时触发——支持glob模式,如 *.ts
promptSubmit / agentStop代理生命周期事件
preToolUse / postToolUse工具执行之前/之后--按以下条件筛选 read, write, shell, web, * 或正则表达式
preTaskExecution / postTaskExecution规范任务生命周期
userTriggered手动触发器

每个钩子要么运行 询问代理人 (向代理发送提示)或 运行命令 (执行带有可选超时的shell命令)。

______________________________________________________________________

🔐 金库

使用AES-256-GCM加密秘密存储 API_KEY 作为加密种子:

  • 类型:密钥,API密钥,令牌,密码,私钥,公钥,证书,变量
  • 价值观 始终隐藏在UI中--单击眼睛图标以显示
  • 参考 提示、技能或命令中的任何秘密 {{VAR_NAME}}
  • 解析端点: POST /api/vault/resolve --全部替换 {{VAR_NAME}} 给定文本中的占位符及其解密值
# Resolve variables in text
curl -X POST http://localhost:3001/api/vault/resolve \
  -H "Content-Type: application/json" \
  -d '{"text": "Authorization: Bearer {{OPENAI_API_KEY}}"}'
# → {"resolved": "Authorization: Bearer sk-..."}

______________________________________________________________________

💻 命令

shell命令专用库:

  • 支持外壳: bash, zsh, sh, fish, powershell, cmd, python, ruby, node
  • 平台过滤器: all, macOS, Linux, Windows
  • 一键复制到剪贴板,使用计数器
  • 分类组织、收藏夹、搜索
  • 包含在S3备份和JSON导出中

______________________________________________________________________

☁️ 备份与恢复

你的图书馆总是安全的。AI Locker支持通过S3兼容存储和本地JSON文件进行完全备份和还原。

S3/云存储

兼容 AWS S3, Cloudflare R2 的, 回火B2,以及 MinIO --任何S3兼容的提供程序都可以工作。

动作描述
测试连接保存前验证凭据和存储桶访问权限
保存S3配置一键保存连接设置和自动同步首选项
立即备份立即上传带时间戳的快照+更新 latest.json
浏览备份列出存储桶中所有备份的日期和大小
恢复从任何列出的快照单击还原--选择合并或完全替换
自动同步定时自动备份--打开后立即启动,无需重新启动

自动同步间隔: 15m · 30m · 1h · 2h · 3h · 6h · 9h · 12h · 1d · 2d

备份什么

每个部分都包含在每个备份中:

  • ✅ 鼓励
  • ✅ 技能
  • ✅ 转向
  • ✅ MCP配置
  • ✅ 命令
  • ✅ 标签
  • ✅ 分类

JSON导出和导入

没有云存储?没问题随时导出完整的JSON快照并导入以在实例之间迁移。

# Export via API
curl http://localhost:3001/api/backup/export/json -o backup.json

# Import via API
curl -X POST http://localhost:3001/api/backup/import/json \
  -H "Content-Type: application/json" \
  -d @backup.json
提示: 前缀路径是自动规范化的——如果您输入 my-backups 没有拖尾 /,AI Locker会自动添加它,因此S3密钥始终正确。

______________________________________________________________________

🤖 AI聊天

AI储物柜内置 AI聊天 它从自然语言生成库项。描述你需要什么,人工智能会创建提示、技能、指导规则、MCP配置或shell命令——准备保存到你的库中。

多提供商支持

提供者模型
开放人工智能GPT-5.4、GPT-4.1、o3、o1
Anthropic克劳德作品4.6,十四行诗4.6,俳句4.5
谷歌双子座双子座3.1 Pro,双子座3 Flash,双子座2.5 Pro/Flash
亚马逊基石Claude 4.6,Nova 2(通过AWS IAM)
开放路由一个API密钥中的所有提供程序

在中配置您的首选提供商和API密钥 设置→ 人工智能集成。聊天记录会保留在浏览器中,并可随时清除。

______________________________________________________________________

🤖 支持的AI模型(2026年3月)

AI Locker附带了所有主要供应商的最新型号列表:

  • 开放人工智能:GPT-5.4、GPT-4.1、o3、o1
  • Anthropic:克劳德作品4.6、十四行诗4.6、俳句4.5、克劳德3.7
  • 谷歌:双子座3.1 Pro、双子座3 Flash、双子座2.5 Pro/Flash
  • :火焰4特立独行,火焰4童子军,火焰3.3 70b
  • 扩展应用识别:Grok 3测试版,Grok 3迷你测试版
  • 深度求索:V3(2026年3月),R1
  • 米斯特拉尔:小3.1,大2411,编码
  • 英伟达:Nemotron 3 Super,Nemotron Ultra 253B
  • 字节跳动:种子2.0精简版
  • 最小最大:2.7米
  • 微软:Phi-4,Phi-4迷你版
  • 亚马逊:Nova Pro、Nova Lite、Nova Micro
  • 还有更多。..

您还可以直接在模型选择器中键入任何自定义模型ID。

______________________________________________________________________

📡 API 参考

方法端点描述
GET/api/prompts列表提示
POST/api/prompts创建提示
PUT/api/prompts/:id更新提示
DELETE/api/prompts/:id移至垃圾箱
PATCH/api/prompts/:id/favorite切换收藏夹
GET/api/skills列出技能
GET/api/steering列表转向
GET/api/mcp列出MCP配置
GET/api/mcp/export/active将活动配置导出为JSON
GET/api/commands列出命令
POST/api/commands创建命令
PUT/api/commands/:id更新命令
DELETE/api/commands/:id移至垃圾箱
PATCH/api/commands/:id/favorite切换收藏夹
PATCH/api/commands/:id/use增加使用次数
GET/api/hooks列表挂钩
POST/api/hooks创建钩子
PUT/api/hooks/:id更新挂钩
PATCH/api/hooks/:id/toggle切换为活动状态
PATCH/api/hooks/:id/favorite切换收藏夹
DELETE/api/hooks/:id移至垃圾箱
GET/api/vault列出vault条目(从未返回值)
GET/api/vault/:id/reveal获取解密值
POST/api/vault创建条目
PUT/api/vault/:id更新条目
PATCH/api/vault/:id/favorite切换收藏夹
DELETE/api/vault/:id移至垃圾箱
POST/api/vault/resolve解决 {{VAR_NAME}} 在文本中
GET/api/trash列出被丢弃的物品
PATCH/api/trash/:type/:id/restore还原项目
DELETE/api/trash/:type/:id永久删除
DELETE/api/trash清空垃圾桶
GET/api/backup/export/json将所有数据导出为JSON
POST/api/backup/import/json导入JSON备份
POST/api/backup/s3/upload备份到S3
GET/api/backup/s3/list列出S3备份
POST/api/backup/s3/restore从S3还原
POST/api/backup/s3/test测试S3连接
GET/api/backup/s3/statusS3配置状态
GET/api/ai/config获取AI配置(提供者、模型、配置)
POST/api/ai/generate生成聊天响应(多提供商)
POST/api/ai/save将AI生成的项目保存到库中
GET/api/settings获取所有设置
PUT/api/settings更新设置
GET/api/settings/stats获取统计数据和分析
GET/api/health健康检查

______________________________________________________________________

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

______________________________________________________________________

☕ 支持

如果这个项目对你有帮助,请考虑支持它的发展:

](https://github.com/sponsors/YonierGomez)

![Buy Me a Coffee](https://buymeacoffee.com/yoniergomez)

______________________________________________________________________

📄 许可证

MIT© 约尼尔·戈麦斯

目录标签

目录标签

多模型支持JavaScriptClaudeAI管理本地部署自托管Web应用提示工程

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP