From 12c95fa055547b0cda27fc321b7ad056ecb39de4 Mon Sep 17 00:00:00 2001 From: nrvo <151435968+nrvo@users.noreply.github.com> Date: Fri, 26 Jan 2024 04:54:06 +0100 Subject: [PATCH] add Anse app --- apps/anse/config.json | 18 ++++++++++++++ apps/anse/docker-compose.yml | 38 ++++++++++++++++++++++++++++++ apps/anse/metadata/description.md | 24 +++++++++++++++++++ apps/anse/metadata/logo.jpg | Bin 0 -> 12448 bytes 4 files changed, 80 insertions(+) create mode 100755 apps/anse/config.json create mode 100755 apps/anse/docker-compose.yml create mode 100755 apps/anse/metadata/description.md create mode 100755 apps/anse/metadata/logo.jpg diff --git a/apps/anse/config.json b/apps/anse/config.json new file mode 100755 index 00000000..3ca9a8e6 --- /dev/null +++ b/apps/anse/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "../schema.json", + "name": "Anse", + "available": true, + "exposable": true, + "port": 8014, + "id": "anse", + "tipi_version": 1, + "version": "1.1.11", + "categories": ["ai"], + "description": "Anse is a fully optimized UI for AI Chats. Supercharged experience for multiple models such as ChatGPT, DALL-E and Stable Diffusion.", + "short_desc": "Fully optimized UI for AI Chats.", + "author": "anse", + "source": "https://github.com/anse-app/anse", + "website": "https://anse.app", + "form_fields": [], + "supported_architectures": ["arm64", "amd64"] +} diff --git a/apps/anse/docker-compose.yml b/apps/anse/docker-compose.yml new file mode 100755 index 00000000..4f07acd6 --- /dev/null +++ b/apps/anse/docker-compose.yml @@ -0,0 +1,38 @@ +version: '3.7' + +services: + anse-demo: + image: ddiu8081/anse:v1.1.11 + restart: unless-stopped + container_name: anse + environment: + - PORT=8014 + ports: + - "${APP_PORT}:8014" + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.anse-web-redirect.redirectscheme.scheme: https + traefik.http.services.anse.loadbalancer.server.port: 8014 + # Web + traefik.http.routers.anse-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.anse-insecure.entrypoints: web + traefik.http.routers.anse-insecure.service: anse + traefik.http.routers.anse-insecure.middlewares: anse-web-redirect + # Websecure + traefik.http.routers.anse.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.anse.entrypoints: websecure + traefik.http.routers.anse.service: anse + traefik.http.routers.anse.tls.certresolver: myresolver + # Local domain + traefik.http.routers.anse-local-insecure.rule: Host(`anse.${LOCAL_DOMAIN}`) + traefik.http.routers.anse-local-insecure.entrypoints: web + traefik.http.routers.anse-local-insecure.service: anse + traefik.http.routers.anse-local-insecure.middlewares: anse-web-redirect + # Local domain secure + traefik.http.routers.anse-local.rule: Host(`anse.${LOCAL_DOMAIN}`) + traefik.http.routers.anse-local.entrypoints: websecure + traefik.http.routers.anse-local.service: anse + traefik.http.routers.anse-local.tls: true diff --git a/apps/anse/metadata/description.md b/apps/anse/metadata/description.md new file mode 100755 index 00000000..38af0dd8 --- /dev/null +++ b/apps/anse/metadata/description.md @@ -0,0 +1,24 @@ +# Anse - AI Chat +[Anse](https://github.com/anse-app/anse) is a fully optimized UI for AI Chats. Supercharged experience for multiple models such as ChatGPT, DALL-E and Stable Diffusion. + +--- + +![](https://user-images.githubusercontent.com/1998168/235366625-e615e68d-592c-4f18-9c9f-1e5cd1778557.png?raw=true) + +--- + +## ⭐ Anse Features +### 🚀 Powerful Plugin System +Powered by Provider plugin , easy to extend AI platforms such as OpenAI, Replicate, and also supports custom model parameters. + +### 💬 Session Record Saving +Use IndexDB to store local data, it will not be uploaded to the server, security issues are guaranteed. + +### 🎉 Multiple Session Modes +Provides different conversations modes,support Single Conversation, Continuous Conversation, OpenAI Image Generation、Stable Diffusion and more. + +### 💎 Improved UI Experience +We have refactored the website UI for the previous version, optimized a lot of details, and also adapted to mobile end and dark mode. + +### 🌈 One-Click Deployment +Support one-click deployment, abandoned use environment variables, you can refer to our documentation to deploy the website to Vercel, Netlify, Docker, Node and other platforms. diff --git a/apps/anse/metadata/logo.jpg b/apps/anse/metadata/logo.jpg new file mode 100755 index 0000000000000000000000000000000000000000..4f30930c9a54e289db17655f225669c68c9ddad4 GIT binary patch literal 12448 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 literal 0 HcmV?d00001