内容
# 假肢设计

[](https://devpost.com/software/t-e5rljs)
🏆 **在 [MCP 和 A2A Hackathon - AWS Edition](https://lu.ma/vibecode?tk=V8VB1G) 中获得 Vizcom: Visual Intelligence Award**
个性化假肢,赋予风格。设计一条让你感觉像**你**的假肢腿。
---
## 灵感
我们的灵感来自一位需要假肢腿的密友。他希望有一款能让他感到快乐并反映他个性的产品,但他很难找到一家提供完全定制服务的公司。这段经历让我们意识到个性化假肢的选择是多么有限,我们希望构建一些来改变这一现状。
## 功能
**假肢设计**网络应用允许用户通过简单的下拉界面选择风格偏好——颜色方案、图案、纹理或主题。这些偏好用于生成独一无二的假肢腿设计,然后直接转发给假肢制造商进行生产。
## 工作原理
1. **Vizcom 自动化** – Vizcom 的设计 AI 没有公开 API,因此我们构建了一个 `Apify` **Actor**(见 `my-actor/src/main.py`),通过无头 **Playwright** 浏览器会话驱动 Vizcom。该 Actor 上传源图像 *或* 文本提示,等待 Vizcom 生成 3-D 模型,并自动导出 `GLB`/`STL` 文件。
2. **MCP 协调** – Mastra **MCP** 协调多个代理组件,调用 Apify Actor 并对结果进行后处理。
3. **Arcade.dev 邮件自动化** – 当设计准备好后,会自动发送一封附有 3-D 模型的电子邮件给选定的假肢制造商。
```
┌─────────────┐ 1 ┌──────────────┐ 2 ┌───────────────┐ 3 ┌────────────────┐
│ 前端 │──────────▶│ Apify Actor │──────────▶│ MCP 流程 │──────────▶│ Arcade.dev │
│ (Next.js) │ 提示 │ (Playwright)│ .glb/.stl │ (TypeScript) │ 邮件 │ 制造商 │
└─────────────┘ └──────────────┘ └───────────────┘ └────────────────┘
```
## 系统架构

### Vizcom 自动化演示

*Apify Actor(代理)通过 Playwright 无头控制 Vizcom,执行所有点击、上传和导出,无需人工干预。*
## 技术栈
- **Python** + **Playwright** + **Apify SDK** 用于浏览器自动化
- **Mastra MCP** 用于协调 / 代理框架
- **Arcade.dev** 用于事务性电子邮件
- **Node.js / TypeScript / Next.js** 用于网页 UI
- **Vizcom** 生成性 3-D 设计引擎
## 仓库结构
```
.
├── README.md ← 你在这里
├── my-actor/ ← Apify Actor (Python + Playwright)
│ ├── src/main.py ← 主要自动化脚本
│ ├── requirements.txt ← Python 依赖
│ └── ...
├── frontend/ ← (可选)Next.js 网页应用 — 不包含在此仓库中
└── ...
```
## 开始使用(本地)
### 先决条件
- Python ≥ 3.10
- Node.js ≥ 18(如果你计划运行前端)
- [Apify CLI](https://docs.apify.com/cli) `npm i -g apify`
- Playwright 浏览器:`python -m playwright install firefox`
### 1 · 克隆并安装
```bash
git clone https://github.com/your-org/prosthetic-design.git
cd prosthetic-design/my-actor
pip install -r requirements.txt
```
### 2 · 配置密钥
创建一个 `.env` 文件(或导出环境变量),并填写你的 Vizcom 凭据:
```dotenv
VISCOM_USER=you@example.com
VISCOM_PASSWORD=super-secret
```
### 3 · 运行 Actor
```bash
# 从 my-actor 目录
apify run --debug --headed # 有头模式有助于调试浏览器
```
Actor 默认会上传 `leg.png`(或在提供 `--imageUrl` 时下载一张图像),生成 3-D 模型,并将 `exported.glb` 导出到 Apify 键值存储中。
### 可选 CLI 标志
```bash
--imageUrl <url> # 使用远程图像替代 leg.png
--prompt "neon pink cyberpunk pattern" # 结合提示 + 图像工作流
--headed # 在非无头模式下运行浏览器
--debug # 详细日志
```
## 部署到 Apify Cloud
```bash
# 认证一次
apify login # 粘贴你的 API 令牌
# 从 my-actor 目录部署 Actor
apify push
```
然后通过 Apify UI 或简单的 HTTPS 请求触发 Actor:
```bash
curl -X POST \
-d '{"imageUrl":"https://example.com/leg.jpg"}' \
"https://api.apify.com/v2/acts/<username>~prosthetic-design/run-sync?token=<APIFY_TOKEN>"
```
## 挑战
- **没有 Vizcom API** – 我们逆向工程了 UI,并构建了具有重试逻辑的稳健 Playwright 选择器。
- **无头浏览器的怪癖** – WebGL 和动态 React 组件需要多次变通。
## 成就
- 完全自动化的 Vizcom 生成流程,无需人工点击
- 无缝的电子邮件交接给制造商
- 从用户风格输入到生产就绪的 3-D 模型的端到端个性化
## 我们学到了什么
- 深入了解 Apify 的 Python SDK 和存储原语
- 在单一产品中协调多个代理框架(Apify, MCP)
## 示例生成模型

<sub>四种颜色示例</sub>
## 路线图
- 扩展到其他部位:手臂、脚和肢体覆盖物
- ✅ 在网页 UI 中添加实时 3-D 预览(three.js)
- 集成制造商的定价和订单跟踪 API
## 许可证
根据 MIT 许可证分发。有关更多信息,请参见 [`LICENSE`](LICENSE)。