基于 Flask 的 Axure 原型分享平台,支持原型文件上传、多角色账号管理、AI对话答疑等功能。
- 用户认证与权限管理
- Axure 原型文件上传与管理
- AI 智能答疑对话(内嵌向量数据库),需设置规则元件关键词(元件命名)
- 支持多角色账号简易权限管理
- 支持自动渲染markdown元件,需将该元件命名为
MDAS - 原型分享,支持公开、密码保护分享、私有模式
- 浏览器插件:支持 Edge 插件 预览 Axure 时快速上传到托管平台
- 后端:Flask 3.1.2
- 数据库:SQLAlchemy (SQLite)
- 用户认证:Flask-Login
- 表单处理:Flask-WTF
- 数据库迁移:Flask-Migrate (Alembic)
- AI 集成:支持OPENAI协议的多种 AI API (SiliconFlow、小米Mimo等)
- 向量检索:BAAI/bge-m3 嵌入模型
axure.share/
├── app/
│ ├── services/ # 业务逻辑层
│ ├── utils/ # 工具函数
│ ├── models.py # 数据模型
│ ├── routes.py # 路由定义
│ ├── forms.py # 表单定义
│ ├── permissions.py # 权限控制
│ ├── config.py # 配置构建
│ └── app_factory.py # 应用工厂
├── migrations/ # 数据库迁移文件
├── static/ # 静态资源
├── templates/ # Jinja2 模板
├── uploads/ # 上传文件目录
├── instance/ # 数据库实例目录
├── .env.example # 环境变量示例
├── requirements.txt # Python 依赖
└── app.py # 应用入口
git clone <repository-url>
cd axure.sharepython -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windowspip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple复制 .env.example 为 .env 并配置相关参数:
cp .env.example .env主要配置项说明:
| 配置项 | 说明 |
|---|---|
SECRET_KEY |
Flask 秘钥密钥 |
SQLALCHEMY_DATABASE_URI |
数据库连接 URI |
MAIN_AI_API_KEY |
主 AI API 密钥 |
MAIN_AI_BASE_URL |
主 AI API 地址 |
SILICONFLOW_API_KEY |
SiliconFlow API 密钥 |
EMBEDDING_MODEL |
嵌入模型名称 |
flask db upgradepython app.py访问 http://localhost:7855 即可使用。
项目提供了 Docker 源码挂载部署方式:镜像只提供 Python 运行环境,源码目录会挂载到容器 /workspace。因此后续修改代码或拉取最新代码后,不需要重新构建镜像,只需要重启容器即可生效。
- 已安装 Docker
- Linux / Debian 环境可直接执行
.sh脚本 - Windows 环境可直接执行 PowerShell 脚本
chmod +x deploy-docker.sh docker/entrypoint.sh update-docker.sh
./deploy-docker.sh.\deploy-docker.ps1部署完成后访问:
http://localhost:7855
部署脚本会自动完成以下操作:
- 如果不存在
.env,自动从.env.example复制一份。 - 创建
instance、uploads/prototypes、uploads/source_files、uploads/attachments目录。 - 构建运行环境镜像,默认镜像名为
axure-share-runtime:latest。 - 删除旧容器并创建新容器,默认容器名为
axure-share。 - 将当前源码目录挂载到容器
/workspace。 - 容器启动时安装
requirements.txt、执行flask db upgrade并运行python app.py。
如果只是修改了源码,执行:
docker restart axure-share如果当前目录是 Git 仓库,也可以使用更新脚本自动拉取代码并重启容器:
Linux / Debian:
./update-docker.shWindows PowerShell:
.\update-docker.ps1如果已经构建或拉取了运行环境镜像,也可以使用:
docker compose up -ddocker-compose.yml 默认使用镜像:
axure-share-runtime:latest
如需指定镜像名:
AXURE_SHARE_IMAGE=your-registry/axure-share-runtime:latest docker compose up -dWindows PowerShell:
$env:AXURE_SHARE_IMAGE="your-registry/axure-share-runtime:latest"
docker compose up -d| 变量 | 默认值 | 说明 |
|---|---|---|
AXURE_SHARE_IMAGE |
axure-share-runtime:latest |
Docker 镜像名称 |
AXURE_SHARE_CONTAINER |
axure-share |
容器名称 |
AXURE_SHARE_PORT |
7855 |
宿主机访问端口 |
PIP_INDEX_URL |
https://pypi.tuna.tsinghua.edu.cn/simple |
容器内安装依赖使用的 pip 源 |
示例:修改端口为 8080 部署。
Linux / Debian:
AXURE_SHARE_PORT=8080 ./deploy-docker.shWindows PowerShell:
$env:AXURE_SHARE_PORT="8080"
.\deploy-docker.ps1flask admin create-admin# 生成迁移脚本
flask db migrate -m "commit message"
# 执行迁移
flask db upgrade- Python 3.10+
- SQLite 3
AGPL v3 + 禁止商业化条款 - 详见 LICENSE 文件
