feat(craft-agents): 添加craft-agents应用配置和文档

添加craft-agents应用的docker-compose配置、数据配置文件和README文档
This commit is contained in:
arch3rPro
2026-04-10 09:52:05 +08:00
parent 354fb12eba
commit 6ad7b05160
9 changed files with 361 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
additionalProperties:
formFields:
- default: 9100
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Web Port
labelZh: Web端口
required: true
rule: paramPort
type: number
label:
en: Web Port
zh: Web端口
ja: Webポート
ko: Web 포트
- default: "Craft-Agents-"
edit: true
envKey: CRAFT_SERVER_TOKEN
labelEn: Server Token
labelZh: 服务器令牌
random: true
required: true
rule: paramComplexity
type: password
label:
en: Server Token
zh: 服务器令牌
ja: サーバートークン
ko: 서버 토큰

View File

View File

@@ -0,0 +1,23 @@
services:
craft-agents:
image: ghcr.io/lukilabs/craft-agents-server:0.8.4
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:9100"
volumes:
- craft-agents-data:/home/craftagents/.craft-agent
environment:
- TZ=Asia/Shanghai
- CRAFT_SERVER_TOKEN=${CRAFT_SERVER_TOKEN}
- CRAFT_RPC_HOST=0.0.0.0
labels:
createdBy: "Apps"
volumes:
craft-agents-data:
driver: local
networks:
1panel-network:
external: true

226
apps/craft-agents/README.md Normal file
View File

@@ -0,0 +1,226 @@
# 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` 查看数据位置
### 安全访问方式
根据官方文档,推荐以下几种安全访问方式:
#### 方式1Tailscale推荐
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
```
#### 方式3Cloudflare 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
```
#### 方式4SSH隧道
快速临时访问,无需任何设置:
```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

View File

@@ -0,0 +1,31 @@
name: Craft Agents
tags:
- 开发工具
- AI助手
title: AI Agent工作空间支持多LLM提供商和MCP集成
description: AI Agent工作空间支持多LLM提供商和MCP集成
additionalProperties:
key: craft-agents
name: Craft Agents
tags:
- DevTool
- AI
shortDescZh: AI Agent工作空间支持多LLM提供商和MCP集成
shortDescEn: AI Agent workspace with multi-LLM provider support and MCP integration
type: website
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://agents.craft.do
github: https://github.com/lukilabs/craft-agents-oss
document: https://github.com/lukilabs/craft-agents-oss#readme
architectures:
- amd64
- arm64
description:
en: Craft Agents is an AI agent workspace that supports multiple LLM providers (Anthropic, Google AI Studio, ChatGPT Plus, GitHub Copilot) and MCP integration. It features multi-session management, dynamic status workflow, and can run as a headless server.
zh: Craft Agents是一个AI Agent工作空间支持多种LLM提供商Anthropic、Google AI Studio、ChatGPT Plus、GitHub Copilot和MCP集成。它具有多会话管理、动态状态工作流等功能可以作为无头服务器运行。
zh-Hant: Craft Agents是一個AI Agent工作空間支持多種LLM提供商Anthropic、Google AI Studio、ChatGPT Plus、GitHub Copilot和MCP集成。它具有多會話管理、動態狀態工作流等功能可以作為無頭服務器運行。
ja: Craft Agentsは、複数のLLMプロバイダーAnthropic、Google AI Studio、ChatGPT Plus、GitHub CopilotとMCP統合をサポートするAIエージェントワークスペースです。マルチセッション管理、動的ステータスワークフローなどの機能を備え、ヘッドレスサーバーとして実行できます。
ko: Craft Agents는 여러 LLM 제공자(Anthropic, Google AI Studio, ChatGPT Plus, GitHub Copilot)와 MCP 통합을 지원하는 AI 에이전트 워크스페이스입니다. 다중 세션 관리, 동적 상태 워크플로 등의 기능을 갖추고 있으며 헤드리스 서버로 실행할 수 있습니다.
memoryRequired: 512

View File

@@ -0,0 +1,29 @@
additionalProperties:
formFields:
- default: 9100
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Web Port
labelZh: Web端口
required: true
rule: paramPort
type: number
label:
en: Web Port
zh: Web端口
ja: Webポート
ko: Web 포트
- default: "Craft-Agents-"
edit: true
envKey: CRAFT_SERVER_TOKEN
labelEn: Server Token
labelZh: 服务器令牌
random: true
required: true
rule: paramComplexity
type: password
label:
en: Server Token
zh: 服务器令牌
ja: サーバートークン
ko: 서버 토큰

View File

View File

@@ -0,0 +1,23 @@
services:
craft-agents:
image: ghcr.io/lukilabs/craft-agents-server:latest
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:9100"
volumes:
- craft-agents-data:/home/craftagents/.craft-agent
environment:
- TZ=Asia/Shanghai
- CRAFT_SERVER_TOKEN=${CRAFT_SERVER_TOKEN}
- CRAFT_RPC_HOST=0.0.0.0
labels:
createdBy: "Apps"
volumes:
craft-agents-data:
driver: local
networks:
1panel-network:
external: true

BIN
apps/craft-agents/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB