mirror of
https://github.com/arch3rPro/1Panel-Appstore.git
synced 2026-04-15 00:17:12 +08:00
227 lines
6.4 KiB
Markdown
227 lines
6.4 KiB
Markdown
|
|
# Craft Agents
|
|||
|
|
|
|||
|
|
Craft Agents 是一个强大的 AI Agent 工作空间,支持多种 LLM 提供商和 MCP 集成。
|
|||
|
|
|
|||
|
|
## 功能特点
|
|||
|
|
|
|||
|
|
- **多 LLM 提供商支持**:支持 Anthropic、Google AI Studio、ChatGPT Plus、GitHub Copilot 等多种 AI 提供商
|
|||
|
|
- **MCP 集成**:支持连接 MCP 服务器、REST API 和本地文件系统
|
|||
|
|
- **多会话管理**:具有收件箱/归档功能,支持会话标记和状态工作流
|
|||
|
|
- **权限模式**:三级权限系统(探索、询问编辑、自动),可自定义规则
|
|||
|
|
- **动态状态系统**:可自定义会话工作流状态(待办、进行中、完成等)
|
|||
|
|
- **自动化**:支持事件驱动的自动化,可基于标签变化、计划任务、工具使用等触发
|
|||
|
|
- **无头服务器模式**:可作为远程服务器运行,桌面应用作为瘦客户端连接
|
|||
|
|
- **Web UI**:内置 Web 界面,可通过浏览器访问和管理
|
|||
|
|
|
|||
|
|
## 使用说明
|
|||
|
|
|
|||
|
|
### 默认端口
|
|||
|
|
|
|||
|
|
- Web 界面/RPC 端口: 9100
|
|||
|
|
|
|||
|
|
### 配置说明
|
|||
|
|
|
|||
|
|
#### 必需参数
|
|||
|
|
|
|||
|
|
- **服务器令牌 (CRAFT_SERVER_TOKEN)**:用于客户端认证的 Bearer 令牌,系统会自动生成格式为 `Craft-Agents-<随机复杂密码>` 的安全令牌,您也可以自定义
|
|||
|
|
|
|||
|
|
#### 可选参数
|
|||
|
|
|
|||
|
|
- **Web 端口 (PANEL_APP_PORT_HTTP)**:Web界面访问端口,默认为 `9100`
|
|||
|
|
|
|||
|
|
#### 安全说明
|
|||
|
|
|
|||
|
|
⚠️ **重要提示**:本应用默认使用 `--allow-insecure-bind` 参数启动,允许在内网环境下使用非加密的 `ws://` 协议。这适用于以下场景:
|
|||
|
|
|
|||
|
|
- ✅ **内网环境**:应用运行在受信任的内网环境中
|
|||
|
|
- ✅ **反向代理**:通过 Nginx/Caddy 等反向代理处理 TLS
|
|||
|
|
- ❌ **公网直接暴露**:不推荐直接暴露到公网
|
|||
|
|
|
|||
|
|
**生产环境建议**:
|
|||
|
|
- 使用反向代理(如 Nginx、Caddy)处理 TLS 加密
|
|||
|
|
- 或在容器内配置 TLS 证书(设置环境变量 `CRAFT_RPC_TLS_CERT` 和 `CRAFT_RPC_TLS_KEY`),并移除 `--allow-insecure-bind` 参数
|
|||
|
|
|
|||
|
|
**数据存储**:应用数据存储在Docker命名卷中,由Docker自动管理权限,无需手动配置。
|
|||
|
|
|
|||
|
|
### 连接方式
|
|||
|
|
|
|||
|
|
#### 通过 Web UI 访问
|
|||
|
|
|
|||
|
|
部署后,通过浏览器访问 `http://<服务器IP>:9100`,使用设置的服务器令牌登录。
|
|||
|
|
|
|||
|
|
#### 通过桌面应用连接
|
|||
|
|
|
|||
|
|
在 Craft Agents 桌面应用中,配置远程工作空间:
|
|||
|
|
- URL: `ws://<服务器IP>:9100` 或 `wss://<服务器IP>:9100`(启用 TLS 时)
|
|||
|
|
- Token: 部署时设置的服务器令牌
|
|||
|
|
|
|||
|
|
### 数据目录
|
|||
|
|
|
|||
|
|
应用数据存储在Docker命名卷 `craft-agents-data` 中,映射到容器内的 `/home/craftagents/.craft-agent` 目录,包括:
|
|||
|
|
- 配置文件
|
|||
|
|
- 会话数据
|
|||
|
|
- 工作空间设置
|
|||
|
|
- 技能和源配置
|
|||
|
|
|
|||
|
|
**数据管理**:
|
|||
|
|
- 数据卷由Docker自动管理,无需手动设置权限
|
|||
|
|
- 数据会持久化保存,即使容器删除也不会丢失
|
|||
|
|
- 可以通过 `docker volume inspect craft-agents-data` 查看数据位置
|
|||
|
|
|
|||
|
|
### 安全访问方式
|
|||
|
|
|
|||
|
|
根据官方文档,推荐以下几种安全访问方式:
|
|||
|
|
|
|||
|
|
#### 方式1:Tailscale(推荐)
|
|||
|
|
|
|||
|
|
Tailscale 创建设备间的私有网格网络,无需端口转发、证书或防火墙规则。
|
|||
|
|
|
|||
|
|
**优势**:
|
|||
|
|
- ✅ 无需配置TLS证书
|
|||
|
|
- ✅ 端到端加密
|
|||
|
|
- ✅ 服务器只能从您的Tailscale网络访问
|
|||
|
|
|
|||
|
|
**配置方法**:
|
|||
|
|
```yaml
|
|||
|
|
environment:
|
|||
|
|
- CRAFT_RPC_HOST=100.x.y.z # Tailscale IP
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 方式2:反向代理(nginx, Caddy)
|
|||
|
|
|
|||
|
|
标准的生产部署方式,反向代理处理TLS终止和访问控制。
|
|||
|
|
|
|||
|
|
**Caddy 示例**(自动HTTPS):
|
|||
|
|
```
|
|||
|
|
craft.example.com {
|
|||
|
|
reverse_proxy localhost:9100
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Nginx 示例**:
|
|||
|
|
```nginx
|
|||
|
|
server {
|
|||
|
|
listen 443 ssl;
|
|||
|
|
server_name craft.example.com;
|
|||
|
|
|
|||
|
|
ssl_certificate /path/to/cert.pem;
|
|||
|
|
ssl_certificate_key /path/to/key.pem;
|
|||
|
|
|
|||
|
|
location / {
|
|||
|
|
proxy_pass http://localhost:9100;
|
|||
|
|
proxy_http_version 1.1;
|
|||
|
|
proxy_set_header Upgrade $http_upgrade;
|
|||
|
|
proxy_set_header Connection "upgrade";
|
|||
|
|
proxy_set_header Host $host;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
使用反向代理时,应用绑定到 localhost:
|
|||
|
|
```yaml
|
|||
|
|
environment:
|
|||
|
|
- CRAFT_RPC_HOST=127.0.0.1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 方式3:Cloudflare Tunnel
|
|||
|
|
|
|||
|
|
无需开放端口或管理证书,通过HTTPS暴露服务。
|
|||
|
|
|
|||
|
|
**快速隧道**(即时HTTPS URL):
|
|||
|
|
```bash
|
|||
|
|
cloudflared tunnel --url http://localhost:9100
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
会生成一个 `https://<random>.trycloudflare.com` URL。
|
|||
|
|
|
|||
|
|
**永久自定义域名**:
|
|||
|
|
```bash
|
|||
|
|
# 一次性设置
|
|||
|
|
cloudflared tunnel login
|
|||
|
|
cloudflared tunnel create craft-agents
|
|||
|
|
cloudflared tunnel route dns craft-agents agents.yourdomain.com
|
|||
|
|
|
|||
|
|
# 运行隧道
|
|||
|
|
cloudflared tunnel run --url http://localhost:9100 craft-agents
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 方式4:SSH隧道
|
|||
|
|
|
|||
|
|
快速临时访问,无需任何设置:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 在客户端:转发本地端口9100到远程服务器
|
|||
|
|
ssh -L 9100:localhost:9100 user@your-server
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
然后从桌面应用或浏览器连接到 `ws://localhost:9100`。
|
|||
|
|
|
|||
|
|
#### 方式5:直接配置TLS证书
|
|||
|
|
|
|||
|
|
如需直接在应用中启用TLS,需要:
|
|||
|
|
|
|||
|
|
1. **生成证书**(参考官方文档):
|
|||
|
|
```bash
|
|||
|
|
# 使用官方脚本生成开发证书
|
|||
|
|
./scripts/generate-dev-cert.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **修改 docker-compose.yml**:
|
|||
|
|
```yaml
|
|||
|
|
volumes:
|
|||
|
|
- craft-agents-data:/home/craftagents/.craft-agent
|
|||
|
|
- ./certs:/certs:ro # 挂载证书目录
|
|||
|
|
|
|||
|
|
environment:
|
|||
|
|
- CRAFT_SERVER_TOKEN=${CRAFT_SERVER_TOKEN}
|
|||
|
|
- CRAFT_RPC_HOST=0.0.0.0
|
|||
|
|
- CRAFT_RPC_TLS_CERT=/certs/cert.pem
|
|||
|
|
- CRAFT_RPC_TLS_KEY=/certs/key.pem
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. **移除 `--allow-insecure-bind` 参数**
|
|||
|
|
|
|||
|
|
#### 访问方式
|
|||
|
|
|
|||
|
|
- **启用TLS后**:
|
|||
|
|
- Web UI: `https://192.168.123.201:9100`
|
|||
|
|
- 桌面客户端: `wss://192.168.123.201:9100`
|
|||
|
|
|
|||
|
|
- **不启用TLS(仅内网测试)**:
|
|||
|
|
- Web UI: `http://192.168.123.201:9100`
|
|||
|
|
- 桌面客户端: 可能无法连接(浏览器API限制)
|
|||
|
|
|
|||
|
|
**推荐顺序**:
|
|||
|
|
1. Tailscale(最简单安全)
|
|||
|
|
2. 反向代理(标准生产方案)
|
|||
|
|
3. Cloudflare Tunnel(无需端口转发)
|
|||
|
|
4. SSH隧道(临时访问)
|
|||
|
|
5. 直接TLS配置(不推荐)
|
|||
|
|
|
|||
|
|
## 支持的 LLM 提供商
|
|||
|
|
|
|||
|
|
### 直接连接
|
|||
|
|
|
|||
|
|
- **Anthropic**:API 密钥或 Claude Max/Pro OAuth
|
|||
|
|
- **Google AI Studio**:API 密钥
|
|||
|
|
- **ChatGPT Plus / Pro**:Codex OAuth
|
|||
|
|
- **GitHub Copilot**:OAuth(设备代码)
|
|||
|
|
|
|||
|
|
### 第三方提供商
|
|||
|
|
|
|||
|
|
通过自定义端点支持:
|
|||
|
|
- OpenRouter
|
|||
|
|
- Vercel AI Gateway
|
|||
|
|
- Ollama(本地模型)
|
|||
|
|
- 其他 OpenAI 兼容端点
|
|||
|
|
|
|||
|
|
## 相关链接
|
|||
|
|
|
|||
|
|
- 官方网站: https://agents.craft.do
|
|||
|
|
- GitHub: https://github.com/lukilabs/craft-agents-oss
|
|||
|
|
- 文档: https://github.com/lukilabs/craft-agents-oss#readme
|
|||
|
|
|
|||
|
|
## 许可证
|
|||
|
|
|
|||
|
|
Apache License 2.0
|