AI prompts
base on 集找番、追番、看番的一站式弹幕追番平台,云收藏同步 (Bangumi),离线缓存,BitTorrent,弹幕云过滤。100% Kotlin/Compose Multiplatform <div align="center">

| 正式版 | 测试版 | 讨论群 |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [](https://github.com/open-ani/ani/releases/latest) | [](https://github.com/open-ani/ani/releases) | [](https://t.me/openani) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=2EbZ0Qxe-fI_AHJLCMnSIOnqw-nfrFH5&authKey=L31zTMwfbMG0FhIgt8xNHGOFPHc531mSw2YzUVupHLRJ4L2f8xerAd%2ByNl4OigRK&noverify=0&group_code=927170241) |
</div>
[dmhy]: http://www.dmhy.org/
[Bangumi]: http://bangumi.tv
[ddplay]: https://www.dandanplay.com/
[Compose Multiplatform]: https://www.jetbrains.com/compose-multiplatform/
[acg.rip]: https://acg.rip
[Mikan]: https://mikanani.me/
[Ikaros]: https://ikaros.run/
[Kotlin Multiplatform]: https://kotlinlang.org/docs/multiplatform.html
[ExoPlayer]: https://developer.android.com/media/media3/exoplayer
[VLC]: https://www.videolan.org/vlc/
[libtorrent]: https://libtorrent.org/
Animeko 支持云同步观看记录 ([Bangumi][Bangumi])、多视频数据源、缓存、弹幕、以及更多功能,提供尽可能简单且舒适的追番体验。
> Animeko 曾用名 Ani,现在也简称 Ani。
[立即下载](https://github.com/open-ani/animeko/releases/latest)
https://github.com/user-attachments/assets/e63636c9-30b7-411c-aa6b-e5b78b900726
## 主要功能
### 浏览来自 [Bangumi][Bangumi] 的番剧信息以及社区评价
| <img src=".readme/images/features/subject-details.png" alt="" width="200"/> | <img src=".readme/images/features/subject-rating.png" alt="" width="200"/> |
|:---------------------------------------------------------------------------:|:--------------------------------------------------------------------------:|
### 丰富的检索方式:新番时间表、标签搜索
> 由 Bangumi 和 Animeko 服务端共同提供的精确新番时间表
| <img src=".readme/images/features/anime-schedule.png" alt="" width="200"/> | <img src=".readme/images/features/search-by-tag.png" alt="" width="200"/> |
|:--------------------------------------------------------------------------:|:-------------------------------------------------------------------------:|
### 云同步追番进度
- 省心的追番进度管理,看完视频自动更新进度
- 打开 APP 立即继续观看,无需回想上次看到了哪
| <img src=".readme/images/features/subject-collection.png" alt="" width="200"/> | <img src=".readme/images/features/home.png" alt="" width="200"/> |
|:------------------------------------------------------------------------------:|:----------------------------------------------------------------:|
### 聚合数据源
- 聚合视频数据源,全自动选择
> 还支持 BitTorrent、Jellyfin、Emby、以及自定义源
- 聚合全网弹幕源([弹弹play][ddplay]),以及 Animeko 自己的[弹幕服务](https://danmaku-cn.myani.org/swagger/index.html)
| <img src=".readme/images/features/mediaselector-simple.png" alt="" width="200"/> | <img src=".readme/images/features/mediaselector-detailed.png" alt="" width="200"/> |
|:--------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------:|
| <img src=".readme/images/features/episode.png" alt="" width="200"/> | <img src=".readme/images/features/episode-scrolled.png" alt="" width="200"/> |
|:-------------------------------------------------------------------:|:----------------------------------------------------------------------------:|
### 离线缓存
- 所有数据源都能缓存
| <img src=".readme/images/features/cache-episode.png" alt="" width="200"/> | <img src=".readme/images/features/cache-list.png" alt="" width="200"/> |
|:-------------------------------------------------------------------------:|:----------------------------------------------------------------------:|
### 精美界面
| <img src=".readme/images/features/player-fullscreen.png" alt="" width="600"/> |
|:-----------------------------------------------------------------------------:|
- 适配平板和大屏设备
| <img src=".readme/images/features/pc-home.png" alt="" width="600"/> |
|:-------------------------------------------------------------------:|
| <img src=".readme/images/features/pc-search.png" alt="" width="600"/> |
|:---------------------------------------------------------------------:|
| <img src=".readme/images/features/pc-search-detail.png" alt="" width="600"/> |
|:----------------------------------------------------------------------------:|
### 更多个性设置
| <img src=".readme/images/features/danmaku-settings.png" alt="" width="600"/> |
|:----------------------------------------------------------------------------:|
| <img src=".readme/images/features/theme-settings.png" alt="" width="200"/> | <img src=".readme/images/features/media-preferences.png" alt="" width="200"/> |
|:--------------------------------------------------------------------------:|:-----------------------------------------------------------------------------:|
## 下载
Animeko 支持所有主流平台:Android、iOS、Windows、macOS、Linux。
- 稳定版本: 每两周更新, 功能稳定
[下载稳定版本](https://github.com/open-ani/animeko/releases/latest)
通常建议使用稳定版本. 如果你愿意参与测试并拥有一定的对 bug 的处理能力, 也欢迎使用测试版本更快体验新功能.
具体版本类型可查看下方.
- 测试版本: 每两天更新, 体验最新功能
[下载测试版本](https://github.com/open-ani/animeko/releases)
<details>
<summary> <b>点击查看具体版本类型</b> </summary>
Animeko 采用语义化版本号, 简单来说就是 `4.x.y` 的格式. 有以下几种版本类型:
- 稳定版本:
- **新特性发布**: 当 `x` 更新时, 会有新特性的发布. 通常为 2 周一次.
- **Bug 修复**: 当 `y` 更新时, 只会有针对前个版本的重要的 bug 修复. 这些 Bug 修复版本穿插在新特性更新的间隔中,
时间不固定.
- 在稳定版本的发布周期之间, 会发布测试版本:
- **Alpha 测试版**: 所有重大新功能都会首先发布到 `alpha` 测试通道, 客户端内可使用 "每日构建"
接收更新. 这些新功能非常不稳定, 适合热情的先锋测试员!
- **Beta 测试版**: 在功能经过 alpha 测试修复重大问题后, 会进入 `beta` 测试通道,
在客户端内名称为 "测试版". 此版本仍然不稳定, 是一个平衡新功能和稳定性的选择
</details>
## 技术总览
如果你是开发者,我们总是欢迎你提交 PR 参与开发!
以下几点可以给你一个技术上的大概了解。
- [Kotlin 多平台][Kotlin Multiplatform]架构;
- 使用新一代响应式 UI 框架 [Compose Multiplatform][Compose Multiplatform] 构建
UI;
- 内置专为 Animeko 打造的“基于 [libtorrent][libtorrent] 的 BitTorrent 引擎,优化边下边播的体验;
- 高性能弹幕引擎,公益弹幕服务器 + 网络弹幕源;
- 适配多平台的[视频播放器](https://github.com/open-ani/mediamp),Android 底层为 [ExoPlayer][ExoPlayer],PC 底层为 [VLC][VLC];
- 多类型数据源适配,内置 [动漫花园][dmhy]、[Mikan],拥有强大的自定义数据源编辑器和自动数据源选择器。
### 参与开发
欢迎你提交 PR 参与开发,
有关项目技术细节请参考 [CONTRIBUTING](docs/contributing/README.md)。
## FAQ
### 资源来源是什么?
全部视频数据都来自网络, Animeko 本身不存储任何视频数据。
Animeko 支持两大数据源类型:BT 和在线。BT 源即为公共 BitTorrent P2P 网络,
每个在 BT
网络上的人都可分享自己拥有的资源供他人下载。在线源即为其他视频资源网站分享的内容。Animeko
本身并不提供任何视频资源。
本着互助精神,使用 BT 源时 Animeko 会自动做种 (分享数据)。
BT 指纹为 `-AL4123-`,其中 `4123` 为版本号 `4.12.3`;UA 为类似 `ani_libtorrent/4.12.3`。
### 弹幕来源是什么?
Animeko 拥有自己的公益弹幕服务器,在 Animeko 应用内发送的弹幕将会发送到弹幕服务器上。每条弹幕都会以
Bangumi
用户名绑定以防滥用(并考虑未来增加举报和屏蔽功能)。
Animeko 还会从[弹弹play][ddplay]获取关联弹幕,弹弹play还会从其他弹幕平台例如哔哩哔哩港澳台和巴哈姆特获取弹幕。
番剧每集可拥有几十到几千条不等的弹幕量。
", Assign "at most 3 tags" to the expected json: {"id":"13452","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"