mirror of
https://github.com/arch3rPro/1Panel-Appstore.git
synced 2026-06-12 01:49:39 +08:00
Compare commits
159 Commits
d648fb025b
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 682533f4ac | |||
| 3addf323b3 | |||
| 98931cae99 | |||
| da76e20972 | |||
| 26db34c6c0 | |||
| 63f7938050 | |||
| c590dd478a | |||
| 36b7464b6b | |||
| 487be95ec5 | |||
| ff943d342e | |||
| b787a007a7 | |||
| f257c285cb | |||
| 7845f547fc | |||
| 74787292de | |||
| 7d618c6da0 | |||
| bec2d11cec | |||
| c3605c7b99 | |||
| 47e7e3394f | |||
| 33cf7fb610 | |||
| 6b9dc52d5b | |||
| 08e5264680 | |||
| 2a22d768b2 | |||
| cc887860ac | |||
| 4f4aa6d91d | |||
| 59c75d6a10 | |||
| 4263be75ae | |||
| 3022f0c6ff | |||
| 9a6972e846 | |||
| 9218b854df | |||
| 148a41f21e | |||
| b8a32d0018 | |||
| 9f43049fb8 | |||
| bd2e75549c | |||
| 4dadf9a4c3 | |||
| 1d6cd922a3 | |||
| a4a3361911 | |||
| 9eda3721b2 | |||
| b6a3d48fe7 | |||
| 25bcb1fa42 | |||
| cdf98b2e13 | |||
| ecf2ab7d8e | |||
| 940c835f28 | |||
| c474f5f6e2 | |||
| 40041c482c | |||
| fbd0372843 | |||
| f12575d941 | |||
| 0b24397e26 | |||
| 99158dfe09 | |||
| cab3c46ba0 | |||
| 7c059b93f5 | |||
| e1c587bad3 | |||
| 69d8baceba | |||
| e9f3948fe7 | |||
| c4899abf01 | |||
| b8a44e4a25 | |||
| e928229ee3 | |||
| f25eed1aac | |||
| 0ebfbdf733 | |||
| 9b8db2d81b | |||
| 845ea14ef7 | |||
| 2eba376cdd | |||
| 668439820f | |||
| fd10b5c2b4 | |||
| cd30230bf0 | |||
| 9f84a8ace0 | |||
| 66db697868 | |||
| 2091dcc4d3 | |||
| 563eaf7c04 | |||
| 1001cb51a8 | |||
| 01f628b02e | |||
| c70d5f8dac | |||
| 5445a28bd7 | |||
| cd1d0d6ef6 | |||
| cd103d50aa | |||
| 9823863186 | |||
| 2da3ad1adc | |||
| e12fefaac1 | |||
| 4c09850cfb | |||
| ec3559a4a0 | |||
| f7f1d02b84 | |||
| d3c8b1aa38 | |||
| 680055843a | |||
| cf76b5f99b | |||
| edd4fb9ce1 | |||
| 8486c8a545 | |||
| 188e11e789 | |||
| 95cbb4b42f | |||
| ccd88efb2a | |||
| 93c6ecf44b | |||
| 50cd99e08d | |||
| 010555d732 | |||
| d71200b377 | |||
| ac095731bd | |||
| 0a4e97ef82 | |||
| 57dd5d2146 | |||
| 3167ad0c84 | |||
| 5800fd08d6 | |||
| a7c5ee6790 | |||
| aaa36432de | |||
| 011ce2e7b2 | |||
| e6f782ec52 | |||
| 6ab4eb8845 | |||
| 7c4517e192 | |||
| 5b1988a895 | |||
| fbf47cfd60 | |||
| e6ee97698b | |||
| 0ecf5f478a | |||
| 6dde71ab93 | |||
| 99076dca58 | |||
| c4d1b19d92 | |||
| 4092625c30 | |||
| 155cc17d2c | |||
| b282772441 | |||
| ad56689664 | |||
| d41450b25d | |||
| 5a08b3739b | |||
| 0e4409dc61 | |||
| dbff3fae09 | |||
| c6804e216f | |||
| 75bcb4d774 | |||
| 01e24ef58e | |||
| d34821bd6c | |||
| b078d49988 | |||
| dba3c2d189 | |||
| bbc9d5d2e2 | |||
| ef7580224c | |||
| 1fc4afba12 | |||
| 48957da119 | |||
| e76c8cdb04 | |||
| 407966ecff | |||
| ee1324a506 | |||
| cf9472a2ca | |||
| cf5e3c016c | |||
| 157504bb71 | |||
| 6e50551931 | |||
| e6982a335b | |||
| 790bfc6623 | |||
| d90c8125ce | |||
| 19975afdd4 | |||
| 2c12569b09 | |||
| d8d8d4e372 | |||
| 8e610447c7 | |||
| f52f2879bb | |||
| 64573a6fad | |||
| fd63aef505 | |||
| 495d24b7c9 | |||
| 5c5a655e0a | |||
| df44dbe2d1 | |||
| 668b2eef44 | |||
| c22980ae83 | |||
| 14a860c11f | |||
| c73dc556ea | |||
| 402f1290a4 | |||
| e97f8b7a79 | |||
| 9e18ea4d6f | |||
| e98811cd04 | |||
| 87bc4e7f86 | |||
| b3e968644e | |||
| 581a3613a0 |
@@ -12,3 +12,9 @@
|
|||||||
|
|
||||||
# Skills
|
# Skills
|
||||||
.trae
|
.trae
|
||||||
|
|
||||||
|
# Codex
|
||||||
|
.codex
|
||||||
|
|
||||||
|
# superpowers
|
||||||
|
/docs
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
# Repository Guidelines
|
||||||
|
|
||||||
|
## Project Shape
|
||||||
|
|
||||||
|
This repository is a third-party 1Panel local app store. It is mostly YAML,
|
||||||
|
Docker Compose files, READMEs, icons, and helper shell scripts. There is no
|
||||||
|
central application build step.
|
||||||
|
|
||||||
|
Top-level files:
|
||||||
|
|
||||||
|
- `data.yaml`: app store metadata and category/tag definitions.
|
||||||
|
- `apps/<app-key>/`: one app package per directory.
|
||||||
|
- `skills/`: app-generation guidance, templates, and helper scripts.
|
||||||
|
- `update/`: update-detection and README-version sync scripts.
|
||||||
|
|
||||||
|
## App Package Layout
|
||||||
|
|
||||||
|
Use this structure for each app:
|
||||||
|
|
||||||
|
```text
|
||||||
|
apps/<app-key>/
|
||||||
|
├── data.yml
|
||||||
|
├── logo.png
|
||||||
|
├── README.md
|
||||||
|
├── README_en.md
|
||||||
|
└── <version>/
|
||||||
|
├── data.yml
|
||||||
|
├── docker-compose.yml
|
||||||
|
└── data/
|
||||||
|
```
|
||||||
|
|
||||||
|
Some apps also include `latest/`. When both `latest/` and a concrete version
|
||||||
|
exist, `latest/` should use an image tagged `latest`, and the concrete version
|
||||||
|
directory should use the pinned image tag.
|
||||||
|
|
||||||
|
## 1Panel Conventions
|
||||||
|
|
||||||
|
- App keys are lowercase and hyphenated, and must match the app directory name.
|
||||||
|
- Top-level `apps/<app-key>/data.yml` contains display metadata.
|
||||||
|
- Version-level `data.yml` contains `additionalProperties.formFields`.
|
||||||
|
- Prefer standard port variables such as `PANEL_APP_PORT_HTTP`,
|
||||||
|
`PANEL_APP_PORT_HTTPS`, `PANEL_APP_PORT_API`, `PANEL_APP_PORT_ADMIN`,
|
||||||
|
`PANEL_APP_PORT_PROXY`, `PANEL_APP_PORT_DB`, `PANEL_APP_PORT_SSH`,
|
||||||
|
`PANEL_APP_PORT_S3`, and `PANEL_APP_PORT_SYNC`.
|
||||||
|
- Each `PANEL_APP_PORT_*` used in `docker-compose.yml` should have a matching
|
||||||
|
form field in the version `data.yml`.
|
||||||
|
- Compose services should use `container_name: ${CONTAINER_NAME}`,
|
||||||
|
`restart: always`, the external `1panel-network`, relative `./data/` volume
|
||||||
|
paths for persistence, and `labels: createdBy: "Apps"`.
|
||||||
|
- Use `./data/...` mounts instead of host absolute paths unless the app
|
||||||
|
genuinely requires host integration.
|
||||||
|
- Keep app metadata tags aligned with `data.yaml`.
|
||||||
|
|
||||||
|
## App Creation Workflow
|
||||||
|
|
||||||
|
Before adding or changing app packages, read `skills/SKILL.md`. It documents
|
||||||
|
the expected 1Panel packaging workflow, metadata fields, compose conversion
|
||||||
|
rules, README shape, and icon lookup order.
|
||||||
|
|
||||||
|
Useful helper scripts:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /root/github/1Panel-Appstore/skills
|
||||||
|
./scripts/generate-app.sh <github-url-or-compose-or-docker-run>
|
||||||
|
./scripts/download-icon.sh <app-name> <output-path> 200
|
||||||
|
./scripts/validate-app.sh ../apps/<app-key>
|
||||||
|
```
|
||||||
|
|
||||||
|
The generator is a starting point. Review and adjust generated metadata,
|
||||||
|
ports, volumes, environment variables, README content, and icons before
|
||||||
|
considering the app complete.
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
For a changed app, run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /root/github/1Panel-Appstore
|
||||||
|
./skills/scripts/validate-app.sh ./apps/<app-key>
|
||||||
|
```
|
||||||
|
|
||||||
|
For YAML or Compose edits, also inspect the affected files directly. The
|
||||||
|
validator is shell/grep based and catches common structural problems, not every
|
||||||
|
semantic issue.
|
||||||
|
|
||||||
|
## Update Scripts
|
||||||
|
|
||||||
|
The scripts in `update/` may perform network requests and `git pull`. Do not run
|
||||||
|
them casually while making focused app edits. If using them, inspect the script
|
||||||
|
and current worktree first.
|
||||||
|
|
||||||
|
## Editing Notes
|
||||||
|
|
||||||
|
- Preserve existing YAML indentation style within the file being edited.
|
||||||
|
- Keep READMEs concise and app-focused; many apps include both Chinese and
|
||||||
|
English README files.
|
||||||
|
- Do not replace real logos with placeholders. If an icon cannot be found, call
|
||||||
|
that out instead of inventing an inaccurate asset.
|
||||||
|
- Treat unrelated changes in the worktree as user-owned and leave them alone.
|
||||||
@@ -110,7 +110,6 @@ docker run -d --name=nginx -p 80:80 nginx:latest
|
|||||||
- 支持一键部署AI免费API接口,使用方式请参考应用内**README介绍**
|
- 支持一键部署AI免费API接口,使用方式请参考应用内**README介绍**
|
||||||
- **Free-API系列应用已下架,原项目由于供应链投毒,被植入恶意代码,请及时停止运行并删除这些服务!!!**
|
- **Free-API系列应用已下架,原项目由于供应链投毒,被植入恶意代码,请及时停止运行并删除这些服务!!!**
|
||||||
- 经过几天的排查和重构,已重新上架[GLM-Free-API](https://github.com/xiaoY233/GLM-Free-API)、[MiniMax-Free-API](https://github.com/xiaoY233/MiniMax-Free-API)、[Qwen-Free-API](https://github.com/xiaoY233/Qwen-Free-API)、[Kimi-Free-API](https://github.com/xiaoY233/Kimi-Free-API),[DeepSeek-Free-API](https://github.com/xiaoY233/DeepSeek-Free-API),欢迎各位对源码进行审查,如果不放心,建议还是暂停使用!
|
- 经过几天的排查和重构,已重新上架[GLM-Free-API](https://github.com/xiaoY233/GLM-Free-API)、[MiniMax-Free-API](https://github.com/xiaoY233/MiniMax-Free-API)、[Qwen-Free-API](https://github.com/xiaoY233/Qwen-Free-API)、[Kimi-Free-API](https://github.com/xiaoY233/Kimi-Free-API),[DeepSeek-Free-API](https://github.com/xiaoY233/DeepSeek-Free-API),欢迎各位对源码进行审查,如果不放心,建议还是暂停使用!
|
||||||
- LiteLLM应用原项目又出现了供应链投毒事件,**请及时停止运行并删除该服务,友情提示:为了避免泄漏的API密钥被滥用,请从你的AI供应商中删除或禁止使用相关密钥!!!**
|
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -246,7 +245,7 @@ docker run -d --name=nginx -p 80:80 nginx:latest
|
|||||||
|
|
||||||
🚀 免费的GPT-4和其他大语言模型API接口
|
🚀 免费的GPT-4和其他大语言模型API接口
|
||||||
|
|
||||||
<kbd>7.5.4-slim</kbd> • [官网链接](https://github.com/xtekky/gpt4free)
|
<kbd>7.6.0-slim</kbd> • [官网链接](https://github.com/xtekky/gpt4free)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -289,7 +288,7 @@ docker run -d --name=nginx -p 80:80 nginx:latest
|
|||||||
|
|
||||||
轻量级文档管理系统,支持多人协作编辑与版本控制
|
轻量级文档管理系统,支持多人协作编辑与版本控制
|
||||||
|
|
||||||
<kbd>0.80.2</kbd> • [官网链接](https://github.com/docmost/docmost)
|
<kbd>0.90.1</kbd> • [官网链接](https://github.com/docmost/docmost)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -301,7 +300,7 @@ docker run -d --name=nginx -p 80:80 nginx:latest
|
|||||||
|
|
||||||
快速静态博客框架,支持Markdown编写,丰富的插件和主题
|
快速静态博客框架,支持Markdown编写,丰富的插件和主题
|
||||||
|
|
||||||
<kbd>stable-25-05-01</kbd> • [官网链接](https://github.com/hexojs/hexo)
|
<kbd>stable-26-06-04</kbd> • [官网链接](https://github.com/hexojs/hexo)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -412,7 +411,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
更优雅的微信公众号订阅方式,支持RSS输出和全文内容
|
更优雅的微信公众号订阅方式,支持RSS输出和全文内容
|
||||||
|
|
||||||
<kbd>2.6.1-sqlite</kbd> • [官网链接](https://github.com/cooderl/wewe-rss)
|
<kbd>2.6.1</kbd> • [官网链接](https://github.com/cooderl/wewe-rss)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -424,7 +423,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
开源Airtable替代品,将任何数据库转换为智能电子表格
|
开源Airtable替代品,将任何数据库转换为智能电子表格
|
||||||
|
|
||||||
<kbd>2026.05.0</kbd> • [官网链接](https://github.com/nocodb/nocodb)
|
<kbd>2026.06.0</kbd> • [官网链接](https://github.com/nocodb/nocodb)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -528,6 +527,35 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/tailscale/README.md">
|
||||||
|
<img src="./apps/tailscale/logo.png" width="60" height="60" alt="Tailscale">
|
||||||
|
<br><b>Tailscale</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🔐 私有 WireGuard 网络组网工具
|
||||||
|
|
||||||
|
<kbd>1.98.4</kbd> • [官网链接](https://tailscale.com)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/tailscale-derp/README.md">
|
||||||
|
<img src="./apps/tailscale-derp/logo.png" width="60" height="60" alt="Tailscale DERP">
|
||||||
|
<br><b>Tailscale DERP</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🛰️ Tailscale DERP 中继服务器,无需域名即可使用
|
||||||
|
|
||||||
|
<kbd>latest</kbd> • [官网链接](https://tailscale.com)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
#### 🤖 AI 与智能应用
|
#### 🤖 AI 与智能应用
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
@@ -553,7 +581,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🤖 开源LLM应用开发平台,支持AI工作流和RAG管道
|
🤖 开源LLM应用开发平台,支持AI工作流和RAG管道
|
||||||
|
|
||||||
<kbd>1.14.1</kbd> • [官网链接](https://github.com/langgenius/dify)
|
<kbd>1.14.2</kbd> • [官网链接](https://github.com/langgenius/dify)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -565,7 +593,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🚀 强大的AI提示词优化工具,支持多种主流大语言模型
|
🚀 强大的AI提示词优化工具,支持多种主流大语言模型
|
||||||
|
|
||||||
<kbd>2.11.3</kbd> • [官网链接](https://github.com/arch3rPro/Prompt-Optimizer)
|
<kbd>2.11.6</kbd> • [官网链接](https://github.com/arch3rPro/Prompt-Optimizer)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -606,7 +634,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🚀 智能密钥轮询的多渠道AI代理,高性能企业级AI接口透明代理服务
|
🚀 智能密钥轮询的多渠道AI代理,高性能企业级AI接口透明代理服务
|
||||||
|
|
||||||
<kbd>1.4.7</kbd> • [官网链接](https://github.com/tbphp/gpt-load)
|
<kbd>1.4.8</kbd> • [官网链接](https://github.com/tbphp/gpt-load)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -635,7 +663,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🔍 模型上下文协议调试工具,支持MCP服务器测试与开发
|
🔍 模型上下文协议调试工具,支持MCP服务器测试与开发
|
||||||
|
|
||||||
<kbd>0.21.2</kbd> • [官网链接](https://github.com/modelcontextprotocol/inspector)
|
<kbd>0.22.0</kbd> • [官网链接](https://github.com/modelcontextprotocol/inspector)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -676,7 +704,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🔍 开源无广告元搜索引擎,保护隐私无追踪,支持自建部署
|
🔍 开源无广告元搜索引擎,保护隐私无追踪,支持自建部署
|
||||||
|
|
||||||
<kbd>2025.12.3-1f6ea4127</kbd> • [官网链接](https://docs.searxng.org/)
|
<kbd>2026.6.10-f4c63c8eb</kbd> • [官网链接](https://docs.searxng.org/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -705,19 +733,19 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🔮 强大的AI应用构建平台,可视化设计AI驱动的工作流和代理
|
🔮 强大的AI应用构建平台,可视化设计AI驱动的工作流和代理
|
||||||
|
|
||||||
<kbd>1.9.3</kbd> • [官网链接](https://langflow.org/)
|
<kbd>1.10.0</kbd> • [官网链接](https://langflow.org/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
|
|
||||||
<!-- <a href="">
|
<a href="./apps/litellm/README.md">
|
||||||
<img src="./apps/litellm/logo.png" width="60" height="60" alt="LiteLLM"> -->
|
<img src="./apps/litellm/logo.png" width="60" height="60" alt="LiteLLM">
|
||||||
<br><b>LiteLLM</b>
|
<br><b>LiteLLM</b>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
🔧 使用OpenAI格式统一调用所有LLM API,支持多种云服务商
|
🔧 使用OpenAI格式统一调用所有LLM API,支持多种云服务商
|
||||||
|
|
||||||
<kbd>已下架</kbd> • [官网链接](https://github.com/BerriAI/litellm)
|
<kbd>1.88.1</kbd> • [官网链接](https://github.com/BerriAI/litellm)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -729,7 +757,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🔄 n8n汉化版,具有原生AI能力的Fair-code工作流自动化平台
|
🔄 n8n汉化版,具有原生AI能力的Fair-code工作流自动化平台
|
||||||
|
|
||||||
<kbd>2.21.3</kbd> • [官网链接](https://n8n.io/)
|
<kbd>2.26.2</kbd> • [官网链接](https://n8n.io/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -758,7 +786,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
📝 私有的、多模型的Google Notebook LM替代方案,支持多模态内容和AI播客生成
|
📝 私有的、多模型的Google Notebook LM替代方案,支持多模态内容和AI播客生成
|
||||||
|
|
||||||
<kbd>1.2.4</kbd> • [官网链接](https://www.open-notebook.ai/)
|
<kbd>1.9.0</kbd> • [官网链接](https://www.open-notebook.ai/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -775,7 +803,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🍥 AI API 网关平台,支持订阅配额分发、API Key 管理、计费和负载均衡
|
🍥 AI API 网关平台,支持订阅配额分发、API Key 管理、计费和负载均衡
|
||||||
|
|
||||||
<kbd>0.1.106</kbd> • [官网链接](https://sub2api.org)
|
<kbd>0.1.136</kbd> • [官网链接](https://sub2api.org)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -805,6 +833,158 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/9router/README.md">
|
||||||
|
<img src="./apps/9router/logo.png" width="60" height="60" alt="9Router">
|
||||||
|
<br><b>9Router</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🚀 免费 AI 路由器和 Token 节省工具
|
||||||
|
|
||||||
|
<kbd>0.4.71</kbd> • [官网链接](https://9router.com)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/apipark/README.md">
|
||||||
|
<img src="./apps/apipark/logo.png" width="60" height="60" alt="APIPark">
|
||||||
|
<br><b>APIPark</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🌐 开源企业级 API 全生命周期管理平台
|
||||||
|
|
||||||
|
<kbd>1.9.6-beta</kbd> • [官网链接](https://apipark.com)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/axonhub/README.md">
|
||||||
|
<img src="./apps/axonhub/logo.png" width="60" height="60" alt="AxonHub">
|
||||||
|
<br><b>AxonHub</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🤖 一站式AI开发平台 - 统一API网关
|
||||||
|
|
||||||
|
<kbd>0.9.43</kbd> • [官网链接](https://github.com/looplj/axonhub)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/browser-use/README.md">
|
||||||
|
<img src="./apps/browser-use/logo.png" width="60" height="60" alt="Browser Use">
|
||||||
|
<br><b>Browser Use</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🌐 让 AI 代理可以访问网站,轻松实现在线任务自动化
|
||||||
|
|
||||||
|
<kbd>latest</kbd> • [官网链接](https://browser-use.com/)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/claude-code-hub/README.md">
|
||||||
|
<img src="./apps/claude-code-hub/logo.png" width="60" height="60" alt="Claude Code Hub">
|
||||||
|
<br><b>Claude Code Hub</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🔗 智能 AI API 代理中转服务平台
|
||||||
|
|
||||||
|
<kbd>0.7.4</kbd> • [官网链接](https://github.com/ding113/claude-code-hub)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/craft-agents/README.md">
|
||||||
|
<img src="./apps/craft-agents/logo.png" width="60" height="60" alt="Craft Agents">
|
||||||
|
<br><b>Craft Agents</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🤖 AI Agent工作空间,支持多LLM提供商和MCP集成
|
||||||
|
|
||||||
|
<kbd>0.9.2</kbd> • [官网链接](https://github.com/lukilabs/craft-agents-oss)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/firecrawl/README.md">
|
||||||
|
<img src="./apps/firecrawl/logo.png" width="60" height="60" alt="Firecrawl">
|
||||||
|
<br><b>Firecrawl</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🔥 将任意网站转换为适合大语言模型的结构化数据
|
||||||
|
|
||||||
|
<kbd>v2.10.0</kbd> • [官网链接](https://www.firecrawl.dev)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/hermes-web-ui/README.md">
|
||||||
|
<img src="./apps/hermes-web-ui/logo.png" width="60" height="60" alt="Hermes Web UI">
|
||||||
|
<br><b>Hermes Web UI</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🧭 Hermes Agent 的全功能 Web 管理面板
|
||||||
|
|
||||||
|
<kbd>0.6.13</kbd> • [官网链接](https://github.com/EKKOLearnAI/hermes-web-ui)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/mcphub/README.md">
|
||||||
|
<img src="./apps/mcphub/logo.png" width="60" height="60" alt="MCPHub">
|
||||||
|
<br><b>MCPHub</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🔌 MCP 服务器统一管理中心
|
||||||
|
|
||||||
|
<kbd>1.0.13</kbd> • [官网链接](https://docs.mcphub.app)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/playwright-mcp/README.md">
|
||||||
|
<img src="./apps/playwright-mcp/logo.png" width="60" height="60" alt="Playwright MCP">
|
||||||
|
<br><b>Playwright MCP</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🎭 提供浏览器自动化功能的 MCP 服务器
|
||||||
|
|
||||||
|
<kbd>0.0.76</kbd> • [官网链接](https://github.com/microsoft/playwright-mcp)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/vane/README.md">
|
||||||
|
<img src="./apps/vane/logo.png" width="60" height="60" alt="Vane">
|
||||||
|
<br><b>Vane</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🔍 专注于隐私的 AI 问答搜索引擎
|
||||||
|
|
||||||
|
<kbd>v1.12.2</kbd> • [官网链接](https://github.com/ItzCrazyKns/Vane)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
#### 🎵 多媒体管理
|
#### 🎵 多媒体管理
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
@@ -818,7 +998,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🎵 使用小爱/红米音箱播放音乐,支持yt-dlp下载
|
🎵 使用小爱/红米音箱播放音乐,支持yt-dlp下载
|
||||||
|
|
||||||
<kbd>0.3.83</kbd> • [官网链接](https://github.com/hanxi/xiaomusic)
|
<kbd>0.6.1</kbd> • [官网链接](https://github.com/hanxi/xiaomusic)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -830,7 +1010,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
📁 开源支持多存储的文件列表程序和私人网盘
|
📁 开源支持多存储的文件列表程序和私人网盘
|
||||||
|
|
||||||
<kbd>4.1.0</kbd> • [官网链接](https://github.com/OpenListTeam/OpenList)
|
<kbd>4.2.2-ffmpeg</kbd> • [官网链接](https://github.com/OpenListTeam/OpenList)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -871,7 +1051,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🌱 开源高性能BT/PT下载工具,支持Web界面
|
🌱 开源高性能BT/PT下载工具,支持Web界面
|
||||||
|
|
||||||
<kbd>4.1.1</kbd> • [官网链接](https://transmissionbt.com/)
|
<kbd>2021.11.18</kbd> • [官网链接](https://transmissionbt.com/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -883,7 +1063,24 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🎬 开箱即用的跨平台影视聚合播放器,支持多源搜索和在线播放
|
🎬 开箱即用的跨平台影视聚合播放器,支持多源搜索和在线播放
|
||||||
|
|
||||||
<kbd>100.1.2</kbd> • [官网链接](https://github.com/MoonTechLab/LunaTV)
|
<kbd>100.1.3</kbd> • [官网链接](https://github.com/MoonTechLab/LunaTV)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/lxserver/README.md">
|
||||||
|
<img src="./apps/lxserver/logo.png" width="60" height="60" alt="LXServer">
|
||||||
|
<br><b>LXServer</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🎵 LX Music 数据同步服务器与 Web 播放器
|
||||||
|
|
||||||
|
<kbd>1.9.4</kbd> • [官网链接](https://xcq0607.github.io/lxserver/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -902,7 +1099,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
📊 开源轻量易用的服务器监控运维工具
|
📊 开源轻量易用的服务器监控运维工具
|
||||||
|
|
||||||
<kbd>2.0.7</kbd> • [官网链接](https://github.com/naiba/nezha/)
|
<kbd>2.0.12</kbd> • [官网链接](https://github.com/naiba/nezha/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -914,7 +1111,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
👁️ 轻量级可视化综合服务器监控方案
|
👁️ 轻量级可视化综合服务器监控方案
|
||||||
|
|
||||||
<kbd>latest</kbd> • [官网链接](https://github.com/arch3rPro/Glance-Monitor)
|
<kbd>0.1.0</kbd> • [官网链接](https://github.com/arch3rPro/Glance-Monitor)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -926,7 +1123,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🖥️ 简单好用安全的开源交互审计系统
|
🖥️ 简单好用安全的开源交互审计系统
|
||||||
|
|
||||||
<kbd>3.2.1</kbd> • [官网链接](https://github.com/dushixiang/next-terminal)
|
<kbd>3.3.5</kbd> • [官网链接](https://github.com/dushixiang/next-terminal)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -984,7 +1181,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
📊 开源 all-in-one 数据洞察中心,集成网站分析、服务监控、服务器状态监控
|
📊 开源 all-in-one 数据洞察中心,集成网站分析、服务监控、服务器状态监控
|
||||||
|
|
||||||
<kbd>1.31.25</kbd> • [官网链接](https://tianji.msgbyte.com/)
|
<kbd>1.31.29</kbd> • [官网链接](https://tianji.msgbyte.com/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -1092,7 +1289,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🌌 简单易用的自托管VPN服务,支持多平台和Docker快速部署
|
🌌 简单易用的自托管VPN服务,支持多平台和Docker快速部署
|
||||||
|
|
||||||
<kbd>5.1.5</kbd> • [官网链接](https://github.com/starvpn/starvpn)
|
<kbd>6.0.6</kbd> • [官网链接](https://github.com/starvpn/starvpn)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -1203,7 +1400,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🛠️ 功能强大的日常任务网络工具,自托管无广告追踪
|
🛠️ 功能强大的日常任务网络工具,自托管无广告追踪
|
||||||
|
|
||||||
<kbd>latest</kbd> • [官网链接](https://omnitools.app/)
|
<kbd>0.6.0</kbd> • [官网链接](https://omnitools.app/)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -1215,7 +1412,36 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🎭 专业的 Web 应用自动化测试环境,支持多浏览器
|
🎭 专业的 Web 应用自动化测试环境,支持多浏览器
|
||||||
|
|
||||||
<kbd>6.6.7</kbd> • [官网链接](https://playwright.dev/)
|
<kbd>1.55.0-noble</kbd> • [官网链接](https://playwright.dev/)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/fast-note-sync-service/README.md">
|
||||||
|
<img src="./apps/fast-note-sync-service/logo.png" width="60" height="60" alt="Fast Note Sync Service">
|
||||||
|
<br><b>Fast Note Sync Service</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
📝 高性能低延迟的 Obsidian 笔记同步服务
|
||||||
|
|
||||||
|
<kbd>3.3.1</kbd> • [官网链接](https://github.com/haierkeys/fast-note-sync-service)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/trendradar/README.md">
|
||||||
|
<img src="./apps/trendradar/logo.png" width="60" height="60" alt="TrendRadar">
|
||||||
|
<br><b>TrendRadar</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
📡 多平台热点推送
|
||||||
|
|
||||||
|
<kbd>6.9.1</kbd> • [官网链接](https://github.com/sansan0/TrendRadar)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -1287,7 +1513,7 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
|
|
||||||
🔔 Docker镜像更新监控和通知工具
|
🔔 Docker镜像更新监控和通知工具
|
||||||
|
|
||||||
<kbd>4.31.0</kbd> • [官网链接](https://github.com/crazy-max/diun)
|
<kbd>4.33.0</kbd> • [官网链接](https://github.com/crazy-max/diun)
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td width="33%" align="center">
|
<td width="33%" align="center">
|
||||||
@@ -1305,6 +1531,23 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="33%" align="center">
|
||||||
|
|
||||||
|
<a href="./apps/dpanel/README.md">
|
||||||
|
<img src="./apps/dpanel/logo.png" width="60" height="60" alt="DPanel">
|
||||||
|
<br><b>DPanel</b>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
🐳 轻量化 docker 可视化管理面板
|
||||||
|
|
||||||
|
<kbd>1.10.3</kbd> • [官网链接](https://dpanel.cc/)
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
<!-- 橙色风格 -->
|
<!-- 橙色风格 -->
|
||||||
|
|
||||||
!\[Copyright-arch3rPro]\(<https://img.shields.io/badge/Copyright-arch3rPro-ff9800?style=flat&logo=github&logoColor=white> null)
|
!\[Copyright-arch3rPro]\(<https://img.shields.io/badge/Copyright-arch3rPro-ff9800?style=flat&logo=github&logoColor=white> null)
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: 20128
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelEn: Web Port
|
||||||
|
labelZh: Web 端口
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
label:
|
||||||
|
en: Web Port
|
||||||
|
zh: Web 端口
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
services:
|
||||||
|
9router:
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:20128"
|
||||||
|
volumes:
|
||||||
|
- ./data:/app/data
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
- DATA_DIR=/app/data
|
||||||
|
- PORT=20128
|
||||||
|
- HOSTNAME=0.0.0.0
|
||||||
|
image: decolua/9router:0.4.71
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# 9Router
|
||||||
|
|
||||||
|
免费 AI 路由器和 Token 节省工具。连接 40+ AI 提供商和 100+ 模型,支持 Claude Code、Cursor、Codex、Copilot、Cline 等 AI 编码工具。
|
||||||
|
|
||||||
|
## 功能特点
|
||||||
|
|
||||||
|
- RTK Token 节省 - 自动压缩工具输出内容,每次请求节省 20-40% token
|
||||||
|
- 智能 3 层降级 - 自动路由:订阅 → 廉价 → 免费模型,零停机
|
||||||
|
- 实时配额跟踪 - 实时 token 计数和重置倒计时
|
||||||
|
- 多账户支持 - 每个提供商支持多个账户,负载均衡
|
||||||
|
- 格式转换 - OpenAI ↔ Claude ↔ Gemini 格式互相转换
|
||||||
|
- 支持 40+ 提供商和 100+ 模型
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
### 默认端口
|
||||||
|
|
||||||
|
- Web 界面: 20128
|
||||||
|
|
||||||
|
### 访问地址
|
||||||
|
|
||||||
|
- Dashboard: http://localhost:20128/dashboard
|
||||||
|
- OpenAI 兼容 API: http://localhost:20128/v1
|
||||||
|
|
||||||
|
### 数据目录
|
||||||
|
|
||||||
|
应用数据存储在 `./data` 目录,包含 SQLite 数据库和自动备份。
|
||||||
|
|
||||||
|
### 环境变量
|
||||||
|
|
||||||
|
- `DATA_DIR` - 数据目录路径(容器内固定为 /app/data)
|
||||||
|
- `PORT` - 服务端口(默认 20128)
|
||||||
|
- `HOSTNAME` - 监听地址(默认 0.0.0.0)
|
||||||
|
- `DEBUG` - 调试模式(可选,设为 true 启用)
|
||||||
|
|
||||||
|
## 相关链接
|
||||||
|
|
||||||
|
- 官方网站: https://9router.com
|
||||||
|
- GitHub: https://github.com/decolua/9router
|
||||||
|
- 文档: https://github.com/decolua/9router/blob/master/README.md
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# 9Router
|
||||||
|
|
||||||
|
FREE AI Router & Token Saver. Connect to 40+ AI providers and 100+ models, works with Claude Code, Cursor, Codex, Copilot, Cline and more AI coding tools.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- RTK Token Saver - Auto-compress tool outputs, save 20-40% tokens per request
|
||||||
|
- Smart 3-Tier Fallback - Auto-route: Subscription → Cheap → Free, zero downtime
|
||||||
|
- Real-Time Quota Tracking - Live token count and reset countdown
|
||||||
|
- Multi-Account Support - Multiple accounts per provider for load balancing
|
||||||
|
- Format Translation - OpenAI ↔ Claude ↔ Gemini format conversion
|
||||||
|
- Support 40+ providers and 100+ models
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Default Port
|
||||||
|
|
||||||
|
- Web UI: 20128
|
||||||
|
|
||||||
|
### URLs
|
||||||
|
|
||||||
|
- Dashboard: http://localhost:20128/dashboard
|
||||||
|
- OpenAI-compatible API: http://localhost:20128/v1
|
||||||
|
|
||||||
|
### Data Directory
|
||||||
|
|
||||||
|
Application data is stored in the `./data` directory, including SQLite database and automatic backups.
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
|
||||||
|
- `DATA_DIR` - Data directory path (fixed to /app/data in container)
|
||||||
|
- `PORT` - Service port (default 20128)
|
||||||
|
- `HOSTNAME` - Listen address (default 0.0.0.0)
|
||||||
|
- `DEBUG` - Debug mode (optional, set to true to enable)
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
- Website: https://9router.com
|
||||||
|
- GitHub: https://github.com/decolua/9router
|
||||||
|
- Documentation: https://github.com/decolua/9router/blob/master/README.md
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
name: 9Router
|
||||||
|
tags:
|
||||||
|
- 开发工具
|
||||||
|
- AI
|
||||||
|
- API网关
|
||||||
|
title: 免费 AI 路由器和 Token 节省工具
|
||||||
|
description: 免费 AI 路由器和 Token 节省工具
|
||||||
|
additionalProperties:
|
||||||
|
key: 9router
|
||||||
|
name: 9Router
|
||||||
|
tags:
|
||||||
|
- DevTool
|
||||||
|
- AI
|
||||||
|
- APIGateway
|
||||||
|
shortDescZh: 免费 AI 路由器和 Token 节省工具
|
||||||
|
shortDescEn: FREE AI Router & Token Saver
|
||||||
|
description:
|
||||||
|
en: 9Router is a free AI router that provides unified access to 40+ AI providers and 100+ models. Features RTK token saver (20-40% token savings), auto fallback from subscription to cheap to free models, quota tracking, and multi-account support. Works with Claude Code, Cursor, Codex, Copilot, Cline, and more.
|
||||||
|
zh: 9Router 是一个免费的 AI 路由器,提供对 40+ AI 提供商和 100+ 模型的统一访问。具有 RTK Token 节省功能(节省 20-40% 的 token),从订阅到廉价再到免费模型的自动降级,配额跟踪和多账户支持。兼容 Claude Code、Cursor、Codex、Copilot、Cline 等工具。
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
recommend: 0
|
||||||
|
website: https://9router.com
|
||||||
|
github: https://github.com/decolua/9router
|
||||||
|
document: https://github.com/decolua/9router/blob/master/README.md
|
||||||
|
architectures:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: 20128
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelEn: Web Port
|
||||||
|
labelZh: Web 端口
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
label:
|
||||||
|
en: Web Port
|
||||||
|
zh: Web 端口
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
services:
|
||||||
|
9router:
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:20128"
|
||||||
|
volumes:
|
||||||
|
- ./data:/app/data
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
- DATA_DIR=/app/data
|
||||||
|
- PORT=20128
|
||||||
|
- HOSTNAME=0.0.0.0
|
||||||
|
image: decolua/9router:latest
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 203 KiB |
@@ -14,10 +14,9 @@ services:
|
|||||||
- PUID=0
|
- PUID=0
|
||||||
- PGID=0
|
- PGID=0
|
||||||
- UMASK=022
|
- UMASK=022
|
||||||
image: xhofe/alist:v3.45.0
|
image: xhofe/alist:v3.61.0
|
||||||
labels:
|
labels:
|
||||||
createdBy: "Apps"
|
createdBy: "Apps"
|
||||||
networks:
|
networks:
|
||||||
1panel-network:
|
1panel-network:
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
axonhub:
|
axonhub:
|
||||||
image: looplj/axonhub:v0.9.42
|
image: looplj/axonhub:v0.9.43
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
@@ -510,7 +510,7 @@ x-shared-env:
|
|||||||
QUEUE_MONITOR_INTERVAL: ${QUEUE_MONITOR_INTERVAL:-30}
|
QUEUE_MONITOR_INTERVAL: ${QUEUE_MONITOR_INTERVAL:-30}
|
||||||
services:
|
services:
|
||||||
api:
|
api:
|
||||||
image: langgenius/dify-api:1.14.1
|
image: langgenius/dify-api:1.14.2
|
||||||
env_file:
|
env_file:
|
||||||
- dify.env
|
- dify.env
|
||||||
restart: always
|
restart: always
|
||||||
@@ -1041,7 +1041,7 @@ services:
|
|||||||
- ssrf_proxy_network
|
- ssrf_proxy_network
|
||||||
- default
|
- default
|
||||||
worker:
|
worker:
|
||||||
image: langgenius/dify-api:1.14.1
|
image: langgenius/dify-api:1.14.2
|
||||||
env_file:
|
env_file:
|
||||||
- dify.env
|
- dify.env
|
||||||
restart: always
|
restart: always
|
||||||
@@ -1570,7 +1570,7 @@ services:
|
|||||||
- ssrf_proxy_network
|
- ssrf_proxy_network
|
||||||
- default
|
- default
|
||||||
web:
|
web:
|
||||||
image: langgenius/dify-web:1.14.1
|
image: langgenius/dify-web:1.14.2
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
env_file:
|
env_file:
|
||||||
- dify.env
|
- dify.env
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
diun:
|
diun:
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
image: crazymax/diun:4.31.0
|
image: crazymax/diun:4.33.0
|
||||||
command: serve
|
command: serve
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
@@ -11,7 +11,7 @@ services:
|
|||||||
APP_SECRET: 52f235dee223c92a83a934ada13b83075c9855fe966b3cbf9dd86810e2b742ee
|
APP_SECRET: 52f235dee223c92a83a934ada13b83075c9855fe966b3cbf9dd86810e2b742ee
|
||||||
DATABASE_URL: postgresql://docmost:${PANEL_DB_USER_PASSWORD}@db:5432/docmost?schema=public
|
DATABASE_URL: postgresql://docmost:${PANEL_DB_USER_PASSWORD}@db:5432/docmost?schema=public
|
||||||
REDIS_URL: redis://redis:6379
|
REDIS_URL: redis://redis:6379
|
||||||
image: docmost/docmost:0.80.2
|
image: docmost/docmost:0.90.1
|
||||||
labels:
|
labels:
|
||||||
createdBy: Apps
|
createdBy: Apps
|
||||||
depends_on:
|
depends_on:
|
||||||
+1
-2
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
dpanel:
|
dpanel:
|
||||||
image: "dpanel/dpanel:1.9.1.3-lite"
|
image: "dpanel/dpanel:1.10.3-lite"
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
@@ -14,7 +14,6 @@ services:
|
|||||||
- APP_NAME=${APP_NAME}
|
- APP_NAME=${APP_NAME}
|
||||||
labels:
|
labels:
|
||||||
createdBy: "Apps"
|
createdBy: "Apps"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
1panel-network:
|
1panel-network:
|
||||||
external: true
|
external: true
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
dpanel:
|
dpanel:
|
||||||
image: dpanel/dpanel:1.9.1.3
|
image: dpanel/dpanel:1.10.3
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
labels:
|
labels:
|
||||||
createdBy: "Apps"
|
createdBy: "Apps"
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: 9000
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelEn: Web/API Port
|
||||||
|
labelZh: Web/API 端口
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
label:
|
||||||
|
en: Web/API Port
|
||||||
|
zh: Web/API 端口
|
||||||
|
zh-Hant: Web/API 連接埠
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
services:
|
||||||
|
fast-note-sync-service:
|
||||||
|
image: haierkeys/fast-note-sync-service:3.3.1
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:9000"
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
volumes:
|
||||||
|
- ./data/storage:/fast-note-sync/storage
|
||||||
|
- ./data/config:/fast-note-sync/config
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# Fast Note Sync Service
|
||||||
|
|
||||||
|
Fast Note Sync Service 是一个高性能、低延迟的 Obsidian 笔记同步、在线管理与 REST API 服务平台,基于 Go、WebSocket 和 React 构建。
|
||||||
|
|
||||||
|
## 功能特点
|
||||||
|
|
||||||
|
- 支持 Obsidian 笔记、目录、配置和附件同步
|
||||||
|
- 提供 Web 管理面板,可创建用户、管理仓库并查看笔记内容
|
||||||
|
- 支持 REST API、MCP、分享、历史版本、回收站和多存储备份
|
||||||
|
- 支持 SQLite、MySQL 和 PostgreSQL 等数据库配置
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
### 默认端口
|
||||||
|
|
||||||
|
- Web 管理面板 / API / WebSocket: 9000
|
||||||
|
|
||||||
|
### 初始账号
|
||||||
|
|
||||||
|
- 首次访问 `http://服务器IP:9000` 后注册第一个账号
|
||||||
|
- 如需关闭公开注册,请在配置文件中设置 `user.register-is-enable: false`
|
||||||
|
|
||||||
|
### 数据目录
|
||||||
|
|
||||||
|
- 笔记与附件数据: `./data/storage`
|
||||||
|
- 配置文件: `./data/config`
|
||||||
|
|
||||||
|
### 客户端配置
|
||||||
|
|
||||||
|
登录 Web 管理面板后,点击“复制 API 配置”,并粘贴到 Obsidian Fast Note Sync 插件设置中。
|
||||||
|
|
||||||
|
## 相关链接
|
||||||
|
|
||||||
|
- GitHub: https://github.com/haierkeys/fast-note-sync-service
|
||||||
|
- Obsidian 插件: https://github.com/haierkeys/obsidian-fast-note-sync
|
||||||
|
- REST API 文档: https://github.com/haierkeys/fast-note-sync-service/blob/master/docs/REST_API.md
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# Fast Note Sync Service
|
||||||
|
|
||||||
|
Fast Note Sync Service is a high-performance, low-latency note synchronization, online management, and REST API service platform for Obsidian, built with Go, WebSocket, and React.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Sync Obsidian notes, folders, configuration, and attachments
|
||||||
|
- Web administration panel for users, vaults, and note browsing
|
||||||
|
- REST API, MCP, sharing, history, trash, and multi-storage backup support
|
||||||
|
- Configurable SQLite, MySQL, and PostgreSQL database support
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Default Port
|
||||||
|
|
||||||
|
- Web admin panel / API / WebSocket: 9000
|
||||||
|
|
||||||
|
### Initial Account
|
||||||
|
|
||||||
|
- Open `http://SERVER_IP:9000` and register the first account
|
||||||
|
- To disable public registration, set `user.register-is-enable: false` in the configuration file
|
||||||
|
|
||||||
|
### Data Directories
|
||||||
|
|
||||||
|
- Notes and attachments: `./data/storage`
|
||||||
|
- Configuration files: `./data/config`
|
||||||
|
|
||||||
|
### Client Setup
|
||||||
|
|
||||||
|
Log in to the web admin panel, click "Copy API Configuration", and paste it into the Obsidian Fast Note Sync plugin settings.
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
- GitHub: https://github.com/haierkeys/fast-note-sync-service
|
||||||
|
- Obsidian plugin: https://github.com/haierkeys/obsidian-fast-note-sync
|
||||||
|
- REST API docs: https://github.com/haierkeys/fast-note-sync-service/blob/master/docs/REST_API.md
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
name: Fast Note Sync Service
|
||||||
|
tags:
|
||||||
|
- 实用工具
|
||||||
|
- 云存储
|
||||||
|
title: 高性能低延迟的 Obsidian 笔记同步服务
|
||||||
|
description: Fast Note Sync Service 是一个基于 Go、WebSocket 和 React 的笔记同步、在线管理与 REST API 服务平台。
|
||||||
|
additionalProperties:
|
||||||
|
key: fast-note-sync-service
|
||||||
|
name: Fast Note Sync Service
|
||||||
|
tags:
|
||||||
|
- Tool
|
||||||
|
- Storage
|
||||||
|
shortDescZh: 高性能低延迟的 Obsidian 笔记同步服务
|
||||||
|
shortDescEn: High-performance low-latency note synchronization service for Obsidian.
|
||||||
|
description:
|
||||||
|
zh: Fast Note Sync Service 是一个基于 Go、WebSocket 和 React 的笔记同步、在线管理与 REST API 服务平台,支持 Obsidian 客户端同步、附件同步、历史版本、分享、备份和 MCP 接入。
|
||||||
|
en: Fast Note Sync Service is a Go, WebSocket, and React based platform for note synchronization, online management, and REST APIs, supporting Obsidian client sync, attachments, history, sharing, backups, and MCP integration.
|
||||||
|
zh-Hant: Fast Note Sync Service 是一個基於 Go、WebSocket 和 React 的筆記同步、線上管理與 REST API 服務平台,支援 Obsidian 客戶端同步、附件同步、歷史版本、分享、備份和 MCP 接入。
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
recommend: 0
|
||||||
|
website: https://github.com/haierkeys/fast-note-sync-service
|
||||||
|
github: https://github.com/haierkeys/fast-note-sync-service
|
||||||
|
document: https://github.com/haierkeys/fast-note-sync-service/blob/master/README.md
|
||||||
|
architectures:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
- arm/v7
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: 9000
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelEn: Web/API Port
|
||||||
|
labelZh: Web/API 端口
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
label:
|
||||||
|
en: Web/API Port
|
||||||
|
zh: Web/API 端口
|
||||||
|
zh-Hant: Web/API 連接埠
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
services:
|
||||||
|
fast-note-sync-service:
|
||||||
|
image: haierkeys/fast-note-sync-service:latest
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:9000"
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
volumes:
|
||||||
|
- ./data/storage:/fast-note-sync/storage
|
||||||
|
- ./data/config:/fast-note-sync/config
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,65 @@
|
|||||||
|
# Firecrawl
|
||||||
|
|
||||||
|
将任意网站转换为适合大语言模型(LLM)的结构化数据。强大的网页抓取、爬取、搜索和数据提取平台。
|
||||||
|
|
||||||
|
## 功能特点
|
||||||
|
|
||||||
|
- **单页抓取**:将任意 URL 转换为 Markdown、HTML、截图或结构化 JSON
|
||||||
|
- **全站爬取**:递归抓取整个网站,智能过滤链接
|
||||||
|
- **URL 发现**:通过站点地图、索引查询或搜索快速发现网站所有 URL
|
||||||
|
- **网络搜索**:搜索网络并一次性获取结果的完整页面内容
|
||||||
|
- **AI 提取**:基于 LLM 的结构化数据提取,支持 Schema 验证
|
||||||
|
- **智能代理**:自主研究代理,自动导航并提取数据
|
||||||
|
- **远程浏览器**:支持远程浏览器会话,提供 CDP 访问和代码执行能力
|
||||||
|
- **批量操作**:异步批量抓取多个 URL
|
||||||
|
- **自托管支持**:完全开源,支持本地部署,数据掌握在自己手中
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
### 默认端口
|
||||||
|
|
||||||
|
- API服务: 3002
|
||||||
|
- 队列管理界面: http://your-ip:3002/admin/YOUR_BULL_AUTH_KEY/queues
|
||||||
|
|
||||||
|
### API 访问
|
||||||
|
|
||||||
|
部署后可以通过 `http://your-ip:3002` 访问 API 服务。
|
||||||
|
|
||||||
|
测试爬取端点:
|
||||||
|
```bash
|
||||||
|
curl -X POST http://localhost:3002/v1/crawl \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d '{
|
||||||
|
"url": "https://firecrawl.dev"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
### 数据目录
|
||||||
|
|
||||||
|
应用数据存储在以下目录:
|
||||||
|
- `./data/api` - API 服务数据
|
||||||
|
- `./data/postgres` - PostgreSQL 数据库数据
|
||||||
|
- `./data/redis` - Redis 缓存数据
|
||||||
|
- `./data/playwright` - Playwright 浏览器缓存
|
||||||
|
|
||||||
|
### 环境变量
|
||||||
|
|
||||||
|
- `POSTGRES_USER` / `POSTGRES_PASSWORD`:PostgreSQL 数据库凭据
|
||||||
|
- `BULL_AUTH_KEY`:队列管理界面的访问密钥
|
||||||
|
- `OPENAI_API_KEY`:OpenAI API 密钥(用于 AI 相关功能,可选)
|
||||||
|
|
||||||
|
### 架构说明
|
||||||
|
|
||||||
|
Firecrawl 自托管版本包含以下服务组件:
|
||||||
|
- **API 服务**:主 API 服务器,处理所有请求(4核CPU,8GB内存限制)
|
||||||
|
- **Playwright 服务**:浏览器自动化服务(2核CPU,4GB内存限制)
|
||||||
|
- **Redis**:任务队列和缓存后端
|
||||||
|
- **RabbitMQ**:NuQ 消息代理
|
||||||
|
- **PostgreSQL**:任务状态管理数据库
|
||||||
|
|
||||||
|
## 相关链接
|
||||||
|
|
||||||
|
- 官方网站: https://www.firecrawl.dev
|
||||||
|
- GitHub: https://github.com/firecrawl/firecrawl
|
||||||
|
- 文档: https://docs.firecrawl.dev
|
||||||
|
- Discord社区: https://discord.gg/firecrawl
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
# Firecrawl
|
||||||
|
|
||||||
|
Turn any website into LLM-ready structured data. A powerful web scraping, crawling, search and data extraction platform.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Single Page Scraping**: Convert any URL to Markdown, HTML, screenshots, or structured JSON
|
||||||
|
- **Multi-Page Crawling**: Recursively scrape entire websites with intelligent link filtering
|
||||||
|
- **URL Discovery**: Discover all URLs on a website instantly via sitemaps, index queries, or search
|
||||||
|
- **Web Search**: Search the web and get full page content from results in a single call
|
||||||
|
- **AI Extraction**: LLM-powered structured data extraction with schema validation
|
||||||
|
- **Autonomous Agent**: AI research agent that automatically navigates and extracts data
|
||||||
|
- **Remote Browser**: Remote browser sessions with CDP access and code execution
|
||||||
|
- **Batch Operations**: Asynchronous bulk scraping of multiple URLs
|
||||||
|
- **Self-Hosted**: Fully open source, supports local deployment with complete data control
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Default Port
|
||||||
|
|
||||||
|
- API Service: 3002
|
||||||
|
- Queue Admin UI: http://your-ip:3002/admin/YOUR_BULL_AUTH_KEY/queues
|
||||||
|
|
||||||
|
### API Access
|
||||||
|
|
||||||
|
After deployment, access the API at `http://your-ip:3002`.
|
||||||
|
|
||||||
|
Test the crawl endpoint:
|
||||||
|
```bash
|
||||||
|
curl -X POST http://localhost:3002/v1/crawl \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d '{
|
||||||
|
"url": "https://firecrawl.dev"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Data Directories
|
||||||
|
|
||||||
|
Application data is stored in the following directories:
|
||||||
|
- `./data/api` - API service data
|
||||||
|
- `./data/postgres` - PostgreSQL database data
|
||||||
|
- `./data/redis` - Redis cache data
|
||||||
|
- `./data/playwright` - Playwright browser cache
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
|
||||||
|
- `POSTGRES_USER` / `POSTGRES_PASSWORD`: PostgreSQL database credentials
|
||||||
|
- `BULL_AUTH_KEY`: Access key for the queue admin UI
|
||||||
|
- `OPENAI_API_KEY`: OpenAI API key for AI-powered features (optional)
|
||||||
|
|
||||||
|
### Architecture
|
||||||
|
|
||||||
|
The self-hosted version includes the following service components:
|
||||||
|
- **API Service**: Main API server handling all requests (4 CPU cores, 8GB RAM limit)
|
||||||
|
- **Playwright Service**: Browser automation service (2 CPU cores, 4GB RAM limit)
|
||||||
|
- **Redis**: Job queue and cache backend
|
||||||
|
- **RabbitMQ**: NuQ message broker
|
||||||
|
- **PostgreSQL**: Job state management database
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
- Website: https://www.firecrawl.dev
|
||||||
|
- GitHub: https://github.com/firecrawl/firecrawl
|
||||||
|
- Documentation: https://docs.firecrawl.dev
|
||||||
|
- Discord: https://discord.gg/firecrawl
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
name: Firecrawl
|
||||||
|
tags:
|
||||||
|
- 开发工具
|
||||||
|
- AI
|
||||||
|
- 爬虫
|
||||||
|
title: 将任意网站转换为适合大语言模型的结构化数据
|
||||||
|
description:
|
||||||
|
en: Turn any website into LLM-ready structured data. Scrape, crawl, search and extract clean markdown, structured JSON or screenshots from websites
|
||||||
|
zh: 将任意网站转换为适合大语言模型的结构化数据。支持抓取、爬取、搜索和提取干净的 Markdown、结构化 JSON 或截图
|
||||||
|
additionalProperties:
|
||||||
|
key: firecrawl
|
||||||
|
name: Firecrawl
|
||||||
|
tags:
|
||||||
|
- DevTool
|
||||||
|
- AI
|
||||||
|
- Crawler
|
||||||
|
shortDescZh: 将任意网站转换为适合大语言模型的结构化数据
|
||||||
|
shortDescEn: Turn any website into LLM-ready structured data
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
recommend: 0
|
||||||
|
website: https://www.firecrawl.dev
|
||||||
|
github: https://github.com/firecrawl/firecrawl
|
||||||
|
document: https://docs.firecrawl.dev
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: "3002"
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
label:
|
||||||
|
en: API Port
|
||||||
|
zh: API端口
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
edit: true
|
||||||
|
rule: paramPort
|
||||||
|
- default: "CHANGEME"
|
||||||
|
envKey: BULL_AUTH_KEY
|
||||||
|
label:
|
||||||
|
en: Bull Queue Admin Key
|
||||||
|
zh: 队列管理密钥
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
edit: true
|
||||||
|
rule: paramCommon
|
||||||
|
- default: "firecrawl"
|
||||||
|
envKey: POSTGRES_USER
|
||||||
|
label:
|
||||||
|
en: PostgreSQL Username
|
||||||
|
zh: 数据库用户名
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
edit: true
|
||||||
|
rule: paramCommon
|
||||||
|
- default: ""
|
||||||
|
envKey: POSTGRES_PASSWORD
|
||||||
|
label:
|
||||||
|
en: PostgreSQL Password
|
||||||
|
zh: 数据库密码
|
||||||
|
required: true
|
||||||
|
type: password
|
||||||
|
edit: true
|
||||||
|
rule: paramCommon
|
||||||
|
- default: ""
|
||||||
|
envKey: OPENAI_API_KEY
|
||||||
|
label:
|
||||||
|
en: OpenAI API Key (Optional)
|
||||||
|
zh: OpenAI API密钥(可选)
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
edit: true
|
||||||
|
rule: ""
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
services:
|
||||||
|
firecrawl-api:
|
||||||
|
image: ghcr.io/firecrawl/firecrawl:latest
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- HOST=0.0.0.0
|
||||||
|
- PORT=${PANEL_APP_PORT_HTTP}
|
||||||
|
- REDIS_URL=redis://firecrawl-redis:6379
|
||||||
|
- REDIS_RATE_LIMIT_URL=redis://firecrawl-redis:6379
|
||||||
|
- PLAYWRIGHT_MICROSERVICE_URL=http://firecrawl-playwright:3000/scrape
|
||||||
|
- POSTGRES_USER=${POSTGRES_USER:-firecrawl}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-firecrawl}
|
||||||
|
- POSTGRES_DB=firecrawl
|
||||||
|
- POSTGRES_HOST=firecrawl-postgres
|
||||||
|
- POSTGRES_PORT=5432
|
||||||
|
- USE_DB_AUTHENTICATION=false
|
||||||
|
- NUM_WORKERS_PER_QUEUE=8
|
||||||
|
- CRAWL_CONCURRENT_REQUESTS=10
|
||||||
|
- MAX_CONCURRENT_JOBS=5
|
||||||
|
- BROWSER_POOL_SIZE=5
|
||||||
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
||||||
|
- BULL_AUTH_KEY=${BULL_AUTH_KEY:-CHANGEME}
|
||||||
|
- NUQ_RABBITMQ_URL=amqp://firecrawl-rabbitmq:5672
|
||||||
|
- ENV=local
|
||||||
|
- EXTRACT_WORKER_PORT=3004
|
||||||
|
- WORKER_PORT=3005
|
||||||
|
- HARNESS_STARTUP_TIMEOUT_MS=60000
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
depends_on:
|
||||||
|
firecrawl-redis:
|
||||||
|
condition: service_started
|
||||||
|
firecrawl-playwright:
|
||||||
|
condition: service_started
|
||||||
|
firecrawl-rabbitmq:
|
||||||
|
condition: service_healthy
|
||||||
|
firecrawl-postgres:
|
||||||
|
condition: service_started
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:3002"
|
||||||
|
command: node dist/src/harness.js --start-docker
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 65535
|
||||||
|
hard: 65535
|
||||||
|
volumes:
|
||||||
|
- ./data/api:/app/data
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
|
||||||
|
firecrawl-playwright:
|
||||||
|
image: ghcr.io/firecrawl/playwright-service:latest
|
||||||
|
container_name: ${CONTAINER_NAME}-playwright
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- PORT=3000
|
||||||
|
- PROXY_SERVER=
|
||||||
|
- PROXY_USERNAME=
|
||||||
|
- PROXY_PASSWORD=
|
||||||
|
- ALLOW_LOCAL_WEBHOOKS=false
|
||||||
|
- BLOCK_MEDIA=false
|
||||||
|
- MAX_CONCURRENT_PAGES=10
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
volumes:
|
||||||
|
- ./data/playwright:/tmp/.cache
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
tmpfs:
|
||||||
|
- /tmp/.cache:noexec,nosuid,size=1g
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
|
||||||
|
firecrawl-redis:
|
||||||
|
image: redis:alpine
|
||||||
|
container_name: ${CONTAINER_NAME}-redis
|
||||||
|
restart: always
|
||||||
|
command: redis-server --bind 0.0.0.0
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
volumes:
|
||||||
|
- ./data/redis:/data
|
||||||
|
|
||||||
|
firecrawl-rabbitmq:
|
||||||
|
image: rabbitmq:3-management
|
||||||
|
container_name: ${CONTAINER_NAME}-rabbitmq
|
||||||
|
restart: always
|
||||||
|
command: rabbitmq-server
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "rabbitmq-diagnostics", "-q", "check_running"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 5s
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
|
||||||
|
firecrawl-postgres:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
container_name: ${CONTAINER_NAME}-postgres
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${POSTGRES_USER:-firecrawl}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-firecrawl}
|
||||||
|
- POSTGRES_DB=firecrawl
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
volumes:
|
||||||
|
- ./data/postgres:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 8.7 KiB |
@@ -0,0 +1,47 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: "3002"
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
label:
|
||||||
|
en: API Port
|
||||||
|
zh: API端口
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
edit: true
|
||||||
|
rule: paramPort
|
||||||
|
- default: "CHANGEME"
|
||||||
|
envKey: BULL_AUTH_KEY
|
||||||
|
label:
|
||||||
|
en: Bull Queue Admin Key
|
||||||
|
zh: 队列管理密钥
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
edit: true
|
||||||
|
rule: paramCommon
|
||||||
|
- default: "firecrawl"
|
||||||
|
envKey: POSTGRES_USER
|
||||||
|
label:
|
||||||
|
en: PostgreSQL Username
|
||||||
|
zh: 数据库用户名
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
edit: true
|
||||||
|
rule: paramCommon
|
||||||
|
- default: ""
|
||||||
|
envKey: POSTGRES_PASSWORD
|
||||||
|
label:
|
||||||
|
en: PostgreSQL Password
|
||||||
|
zh: 数据库密码
|
||||||
|
required: true
|
||||||
|
type: password
|
||||||
|
edit: true
|
||||||
|
rule: paramCommon
|
||||||
|
- default: ""
|
||||||
|
envKey: OPENAI_API_KEY
|
||||||
|
label:
|
||||||
|
en: OpenAI API Key (Optional)
|
||||||
|
zh: OpenAI API密钥(可选)
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
edit: true
|
||||||
|
rule: ""
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
services:
|
||||||
|
firecrawl-api:
|
||||||
|
image: ghcr.io/firecrawl/firecrawl:latest
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- HOST=0.0.0.0
|
||||||
|
- PORT=${PANEL_APP_PORT_HTTP}
|
||||||
|
- REDIS_URL=redis://firecrawl-redis:6379
|
||||||
|
- REDIS_RATE_LIMIT_URL=redis://firecrawl-redis:6379
|
||||||
|
- PLAYWRIGHT_MICROSERVICE_URL=http://firecrawl-playwright:3000/scrape
|
||||||
|
- POSTGRES_USER=${POSTGRES_USER:-firecrawl}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-firecrawl}
|
||||||
|
- POSTGRES_DB=firecrawl
|
||||||
|
- POSTGRES_HOST=firecrawl-postgres
|
||||||
|
- POSTGRES_PORT=5432
|
||||||
|
- USE_DB_AUTHENTICATION=false
|
||||||
|
- NUM_WORKERS_PER_QUEUE=8
|
||||||
|
- CRAWL_CONCURRENT_REQUESTS=10
|
||||||
|
- MAX_CONCURRENT_JOBS=5
|
||||||
|
- BROWSER_POOL_SIZE=5
|
||||||
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
||||||
|
- BULL_AUTH_KEY=${BULL_AUTH_KEY:-CHANGEME}
|
||||||
|
- NUQ_RABBITMQ_URL=amqp://firecrawl-rabbitmq:5672
|
||||||
|
- ENV=local
|
||||||
|
- EXTRACT_WORKER_PORT=3004
|
||||||
|
- WORKER_PORT=3005
|
||||||
|
- HARNESS_STARTUP_TIMEOUT_MS=60000
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
depends_on:
|
||||||
|
firecrawl-redis:
|
||||||
|
condition: service_started
|
||||||
|
firecrawl-playwright:
|
||||||
|
condition: service_started
|
||||||
|
firecrawl-rabbitmq:
|
||||||
|
condition: service_healthy
|
||||||
|
firecrawl-postgres:
|
||||||
|
condition: service_started
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:3002"
|
||||||
|
command: node dist/src/harness.js --start-docker
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 65535
|
||||||
|
hard: 65535
|
||||||
|
volumes:
|
||||||
|
- ./data/api:/app/data
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
|
||||||
|
firecrawl-playwright:
|
||||||
|
image: ghcr.io/firecrawl/playwright-service:v2.10.0
|
||||||
|
container_name: ${CONTAINER_NAME}-playwright
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- PORT=3000
|
||||||
|
- PROXY_SERVER=
|
||||||
|
- PROXY_USERNAME=
|
||||||
|
- PROXY_PASSWORD=
|
||||||
|
- ALLOW_LOCAL_WEBHOOKS=false
|
||||||
|
- BLOCK_MEDIA=false
|
||||||
|
- MAX_CONCURRENT_PAGES=10
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
volumes:
|
||||||
|
- ./data/playwright:/tmp/.cache
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
tmpfs:
|
||||||
|
- /tmp/.cache:noexec,nosuid,size=1g
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
|
||||||
|
firecrawl-redis:
|
||||||
|
image: redis:alpine
|
||||||
|
container_name: ${CONTAINER_NAME}-redis
|
||||||
|
restart: always
|
||||||
|
command: redis-server --bind 0.0.0.0
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
volumes:
|
||||||
|
- ./data/redis:/data
|
||||||
|
|
||||||
|
firecrawl-rabbitmq:
|
||||||
|
image: rabbitmq:3-management
|
||||||
|
container_name: ${CONTAINER_NAME}-rabbitmq
|
||||||
|
restart: always
|
||||||
|
command: rabbitmq-server
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "rabbitmq-diagnostics", "-q", "check_running"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 5s
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
|
||||||
|
firecrawl-postgres:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
container_name: ${CONTAINER_NAME}-postgres
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${POSTGRES_USER:-firecrawl}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-firecrawl}
|
||||||
|
- POSTGRES_DB=firecrawl
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
volumes:
|
||||||
|
- ./data/postgres:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
gpt-load:
|
gpt-load:
|
||||||
image: ghcr.io/tbphp/gpt-load:v1.4.7
|
image: ghcr.io/tbphp/gpt-load:v1.4.8
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
gpt4free:
|
gpt4free:
|
||||||
image: hlohaus789/g4f:v7.5.4-slim
|
image: hlohaus789/g4f:v7.6.0-slim
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
gpt4free:
|
gpt4free:
|
||||||
image: hlohaus789/g4f:v7.5.4
|
image: hlohaus789/g4f:v7.6.0
|
||||||
container_name: ${CONTAINER_NAME}
|
container_name: ${CONTAINER_NAME}
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user