{"id":48710568,"url":"https://github.com/kaloscope/kaloscope","last_synced_at":"2026-07-02T20:01:01.950Z","repository":{"id":349892955,"uuid":"891399434","full_name":"kaloscope/kaloscope","owner":"kaloscope","description":"A workflow-powered local media manager","archived":false,"fork":false,"pushed_at":"2026-06-29T14:16:41.000Z","size":6848,"stargazers_count":279,"open_issues_count":3,"forks_count":14,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-29T16:19:37.383Z","etag":null,"topics":["anime","danmaku","media","python","svelte","workflow"],"latest_commit_sha":null,"homepage":"https://kaloscope.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kaloscope.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-20T09:11:22.000Z","updated_at":"2026-06-29T15:11:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kaloscope/kaloscope","commit_stats":null,"previous_names":["kaloscope/kaloscope"],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/kaloscope/kaloscope","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaloscope%2Fkaloscope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaloscope%2Fkaloscope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaloscope%2Fkaloscope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaloscope%2Fkaloscope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaloscope","download_url":"https://codeload.github.com/kaloscope/kaloscope/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaloscope%2Fkaloscope/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35060913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anime","danmaku","media","python","svelte","workflow"],"created_at":"2026-04-11T14:19:02.458Z","updated_at":"2026-07-02T20:01:01.936Z","avatar_url":"https://github.com/kaloscope.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![Kaloscope](https://socialify.git.ci/kaloscope/kaloscope/image?custom_description=%E4%BB%A5%E5%8F%AF%E8%A7%86%E5%8C%96%E5%B7%A5%E4%BD%9C%E6%B5%81%E9%A9%B1%E5%8A%A8%E7%9A%84%E6%9C%AC%E5%9C%B0%E5%AA%92%E4%BD%93%E5%BA%93%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7\u0026description=1\u0026font=KoHo\u0026logo=https%3A%2F%2Fraw.githubusercontent.com%2Fkaloscope%2Fkaloscope%2Frefs%2Fheads%2Fmain%2Ffrontend%2Fstatic%2Flogo.png\u0026name=1\u0026owner=1\u0026pattern=Plus\u0026theme=Auto)\n[![GitHub Release](https://img.shields.io/github/v/release/kaloscope/kaloscope?label=Release\u0026color=green\u0026style=flat-square)](https://github.com/kaloscope/kaloscope/releases)\n[![GitHub Stars](https://img.shields.io/github/stars/kaloscope/kaloscope?logo=github\u0026label=Stars\u0026color=yellow\u0026style=flat-square)](https://github.com/kaloscope/kaloscope/stargazers)\n[![Docker Pulls](https://img.shields.io/docker/pulls/kaloscope/kaloscope?logo=docker\u0026label=Docker%20Pulls\u0026color=2496ED\u0026style=flat-square)](https://hub.docker.com/r/kaloscope/kaloscope)\n[![xyflow Version](https://img.shields.io/badge/xyflow-v1.6.1-1A192B?logo=xyflow\u0026style=flat-square)](https://xyflow.com/)\n[![Svelte Version](https://img.shields.io/badge/Svelte-v5.56.4-FF3E00?logo=svelte\u0026style=flat-square)](https://svelte.dev/)\n[![Sanic Version](https://img.shields.io/badge/Sanic-v25.12.1-FF0D68?logo=sanic\u0026style=flat-square)](https://sanic.dev/)\n[![Python Version](https://img.shields.io/badge/Python-3.13+-3776AB?logo=python\u0026style=flat-square)](https://www.python.org/)\n[![GPLv3 License](https://img.shields.io/badge/License-GPLv3-BD0000?style=flat-square)](LICENSE)\n[![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==\u0026style=flat-square)](https://deepwiki.com/kaloscope/kaloscope)\n[![LINUX DO](https://img.shields.io/badge/LINUX-DO-FFB003.svg?logo=data:image/svg%2bxml;base64,DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiPjxwYXRoIGQ9Ik00Ni44Mi0uMDU1aDYuMjVxMjMuOTY5IDIuMDYyIDM4IDIxLjQyNmM1LjI1OCA3LjY3NiA4LjIxNSAxNi4xNTYgOC44NzUgMjUuNDV2Ni4yNXEtMi4wNjQgMjMuOTY4LTIxLjQzIDM4LTExLjUxMiA3Ljg4NS0yNS40NDUgOC44NzRoLTYuMjVxLTIzLjk3LTIuMDY0LTM4LjAwNC0yMS40M1EuOTcxIDY3LjA1Ni0uMDU0IDUzLjE4di02LjQ3M0MxLjM2MiAzMC43ODEgOC41MDMgMTguMTQ4IDIxLjM3IDguODE3IDI5LjA0NyAzLjU2MiAzNy41MjcuNjA0IDQ2LjgyMS0uMDU2IiBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7ZmlsbDojZWNlY2VjO2ZpbGwtb3BhY2l0eToxIi8+PHBhdGggZD0iTTQ3LjI2NiAyLjk1N3EyMi41My0uNjUgMzcuNzc3IDE1LjczOGE0OS43IDQ5LjcgMCAwIDEgNi44NjcgMTAuMTU3cS00MS45NjQuMjIyLTgzLjkzIDAgOS43NS0xOC42MTYgMzAuMDI0LTI0LjM4N2E2MSA2MSAwIDAgMSA5LjI2Mi0xLjUwOCIgc3R5bGU9InN0cm9rZTpub25lO2ZpbGwtcnVsZTpldmVub2RkO2ZpbGw6IzE5MTkxOTtmaWxsLW9wYWNpdHk6MSIvPjxwYXRoIGQ9Ik03Ljk4IDcwLjkyNmMyNy45NzctLjAzNSA1NS45NTQgMCA4My45My4xMTNRODMuNDI2IDg3LjQ3MyA2Ni4xMyA5NC4wODZxLTE4LjgxIDYuNTQ0LTM2LjgzMi0xLjg5OC0xNC4yMDMtNy4wOS0yMS4zMTctMjEuMjYyIiBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7ZmlsbDojZjlhZjAwO2ZpbGwtb3BhY2l0eToxIi8+PC9zdmc+\u0026style=flat-square)](https://linux.do)\n[![Telegram Group](https://img.shields.io/badge/Telegram-696969?logo=telegram\u0026style=flat-square)](https://t.me/kaloscope_official)\n\n[演示站点](https://demo.kaloscope.org/login?username=kaloscope\u0026password=kaloscope)\n|\n[使用文档](https://kaloscope.org/docs/introduction)\n|\n[部署指南](https://kaloscope.org/docs/deployment)\n|\n[常见问题](https://kaloscope.org/docs/faq)\n|\n[参与开发](https://kaloscope.org/docs/development)\n|\n[工作流模板](https://github.com/kaloscope/workflows)\n|\n[TG 群组](https://t.me/kaloscope_official)\n\n| \u003cimg align=\"center\" src=\"screenshots/danmaku-settings.png\" /\u003e | \u003cimg align=\"center\" src=\"screenshots/image-viewer.png\" /\u003e | \u003cimg align=\"center\" src=\"screenshots/text-viewer.png\" /\u003e |\n| ------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------- |\n\n\u003c/div\u003e\n\n## 项目简介\n\nKaloscope 是一款基于可视化工作流引擎的本地媒体库管理工具。其资源搜索与元数据刮削等能力均由可编辑的工作流来驱动，可灵活对接任意资源站点与元数据来源。\n\n## 快速开始\n\n通过 Docker 命令行直接拉取并运行单个 Kaloscope 容器的示例：\n\n```bash\ndocker run -d \\\n  --name kaloscope \\\n  --add-host=host.docker.internal:host-gateway \\\n  -e PUID=1026 \\\n  -e PGID=100 \\\n  -e UMASK=022 \\\n  -e TZ=Asia/Shanghai \\\n  -e AUTO_TLS=true \\\n  -e TLS_HOSTNAME=192.168.31.2 \\\n  -e ENABLE_ARIA2=true \\\n  -v /volume1/kaloscope/workspace:/workspace \\\n  -v /volume1/kaloscope/downloads:/downloads \\\n  -v /volume1/kaloscope/animes:/animes \\\n  -p 8000:8000 \\\n  -p 6888:6888 \\\n  -p 6888:6888/udp \\\n  --restart unless-stopped \\\n  kaloscope/kaloscope:latest\n```\n\n上例中各参数说明如下：\n\n**环境变量（`-e`）**\n\n| 变量名         | 默认值  | 说明                                                                                                        |\n| -------------- | ------- | ----------------------------------------------------------------------------------------------------------- |\n| `PUID`         | `0`     | 进程运行 UID，NAS 环境建议设为媒体目录所有者                                                                |\n| `PGID`         | `0`     | 进程运行 GID，NAS 环境建议设为媒体目录所属用户组                                                            |\n| `UMASK`        | `022`   | 文件创建掩码，影响容器内新建文件的默认权限                                                                  |\n| `TZ`           | 无      | 容器时区，如`Asia/Shanghai`、`UTC`等                                                                        |\n| `AUTO_TLS`     | `false` | 使用[`mkcert`](https://github.com/FiloSottile/mkcert)自动签发本地 TLS 证书，适合需要局域网 HTTPS 访问的用户 |\n| `TLS_HOSTNAME` | 无      | 指定 TLS 证书绑定的主机名或 IP，仅`AUTO_TLS=true`时生效                                                     |\n| `ENABLE_ARIA2` | `false` | 在容器内启动内置的 aria2 服务，适合不想单独部署下载器的用户                                                 |\n\n**端口映射（`-p`）**\n\n| 端口   | 协议    | 说明                                                        |\n| ------ | ------- | ----------------------------------------------------------- |\n| `8000` | TCP     | Kaloscope Web UI 访问端口                                   |\n| `6888` | TCP/UDP | aria2 DHT 与 BT 监听端口（仅`ENABLE_ARIA2=true`时需要映射） |\n\n**数据卷（`-v`）**\n\n| 容器内路径   | 必要性 | 说明                                     |\n| ------------ | ------ | ---------------------------------------- |\n| `/workspace` | 必须   | 持久化存储目录，保证容器重启后数据不丢失 |\n\n\u003e 更多详细配置说明请参考[`部署指南`](https://kaloscope.org/docs/deployment)。\n\n## 功能特性\n\n### :wrench: 工作流\n\n- 提供基于节点的可视化工作流编辑器，拖拽即可搭建业务流程\n- 内置 HTTP 请求、Python 脚本、条件分支、循环控制等节点类型\n- 支持从 GitHub 仓库导入社区工作流模板，快速复用已有方案\n- 支持定时触发，可按计划自动执行工作流\n\n### :mag: 资源搜索\n\n- 索引器完全由工作流驱动，可对接任意资源站点\n- 支持关键词搜索、详情预览、登录认证等完整交互流程\n- 支持全局搜索，可同时聚合多个索引器的结果\n- 视频、图片、文字等资源类型支持在线预览\n\n### :inbox_tray: 下载管理\n\n- 支持[`aria2`](https://aria2.github.io/)、[`qBittorrent`](https://www.qbittorrent.org/)、[`Transmission`](https://transmissionbt.com/)等下载器\n- 下载器配置通过 YAML 定义，可按需扩展适配器\n- 支持下载计划，可按关键词和过滤规则自动抓取并下发下载任务\n- 支持手动添加磁力链接或种子文件\n\n### :clapper: 媒体库管理\n\n- 支持电影、电视剧等多种媒体库类型\n- 支持实时监控文件系统，自动识别新加入的媒体文件\n- 支持从[`NFO`](http://wikipedia.org/wiki/.nfo)文件中提取并解析元数据\n\n### :arrow_forward: 在线播放\n\n- 内置视频播放器，支持 FLV、HLS、MP4 格式\n- 支持实时转码播放，按需将视频转为 HLS 流，可按画质限制输出\n- 支持多种硬件加速编码（NVENC、VAAPI、VideoToolbox 等）\n- 支持弹幕显示与移动端样式全屏播放\n- 支持记录播放进度和续播\n\n### :busts_in_silhouette: 用户权限\n\n- 支持多用户，并区分管理员与普通用户角色\n- 可按媒体库和索引器分配访问权限\n- 支持个人偏好设置与头像自定义\n\n### :iphone: PWA 支持\n\n- 支持以[`PWA`](https://web.dev/explore/progressive-web-apps)方式安装到桌面或移动设备\n- PWA 主题颜色可随应用内主题同步切换\n\n## 星标历史\n\n[![Star History Chart](https://api.star-history.com/chart?repos=kaloscope/kaloscope\u0026type=date\u0026legend=top-left)](https://www.star-history.com/?repos=kaloscope%2Fkaloscope\u0026type=date\u0026legend=top-left)\n\n## 贡献者\n\n感谢所有为本项目提交代码、文档、反馈和建议的贡献者。\n\n[![Contributors](https://contrib.rocks/image?repo=kaloscope/kaloscope)](https://github.com/kaloscope/kaloscope/graphs/contributors)\n\n## 特别鸣谢\n\n- **弹弹play开放平台**\n\n  感谢[`弹弹play开放平台`](https://doc.dandanplay.com/open/)提供的弹幕服务接口支持。弹幕服务接口的相关代理实现见[`kaloscope/danmaku`](https://github.com/kaloscope/danmaku)仓库。\n\n- **第三方依赖与开源社区**\n\n  本项目构建在众多优秀的开源项目之上，感谢所有开发者与贡献者的持续投入。完整的第三方依赖列表及对应开源协议见[`LICENSES`](LICENSES.md)文件。\n\n## 免责声明\n\n- 本项目仅供个人学习与技术交流使用，禁止用于商业目的或传播违法内容\n- 社区或第三方工作流可能包含任意代码或网络请求，使用者需自行审查验证其安全性与合法性\n- 因使用本项目引发的一切法律责任、风险与损失，均由使用者自行承担，开发者不承担任何连带责任\n\n## 开源协议\n\n本项目基于[`GPLv3`](LICENSE)开源协议发布。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaloscope%2Fkaloscope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaloscope%2Fkaloscope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaloscope%2Fkaloscope/lists"}