{"adoption": {"forks": 57, "observed_at": "2026-08-28T04:03:13.875677+00:00", "stars": 1014}, "canonical_url": "https://ross.abutalabs.com/products/pichoro", "card": {"archived": false, "artifact_type": "application", "description": "一款手机端云存储平台/图床管理和文件上传/下载工具，支持直接管理Webdav，Alist，SSH/SFTP，云服务器，兼容S3 API的平台，腾讯COS，阿里OSS，七牛云，又拍云，兰空图床，Imgur，SM.MS和github", "domain": ["files", "cloud-computing", "mobile-development", "developer-tools", "media"], "enriched": true, "function": ["file-upload", "image-processing", "gui", "ssh", "object-storage"], "health_score": 68, "homepage": "https://pichoro.horosama.com", "language": "Dart", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Kuingsmile/PicHoro"], "name": "Kuingsmile/PicHoro", "platform": ["cross-platform"], "pushed_at": "2026-01-05T14:53:49+00:00", "repo": "Kuingsmile/PicHoro", "stars": 1014, "tags": ["image-hosting", "cloud-storage", "picgo-compatible", "webdav", "s3", "file-manager", "sftp-client", "alist", "android", "flutter", "mobile"], "topics": ["flutter", "picgo", "android", "aliyun-oss", "github", "imgur", "qiniu", "smms", "tencent-cos", "upyun", "lsky-pro", "sftp", "ssh", "alist", "webdav"], "urls": [], "use_cases": ["upload photos from my phone to an image host and copy the link", "manage tencent cos or aliyun oss buckets from android", "manage files on a cloud server over ssh/sftp from my phone", "upload screenshots to sm.ms or imgur from mobile", "manage webdav or alist cloud drives on android", "import picgo config by scanning a qr code", "compress images to webp before uploading"], "what_it_is": "PicHoro is a Flutter-based Android app for managing cloud storage platforms and image hosting services, with file upload/download and multi-format link sharing. It supports WebDAV, Alist, SSH/SFTP, S3-compatible APIs, Tencent COS, Alibaba OSS, Qiniu, Upyun, Imgur, SM.MS, Lsky Pro, and GitHub, and is configuration-compatible with PicGo/PicList.", "when_to_avoid": ["you need an iOS app - there is currently no iOS version", "you need desktop image hosting management - use PicList instead", "you only need a simple one-off image upload without storage management"], "when_to_choose": ["you need a mobile (Android) client to manage multiple cloud storage and image hosting providers", "you already use PicGo/PicList and want to sync or import its configuration", "you want an SSH terminal plus file manager for cloud servers in one app", "you need batch photo upload with automatic link copying and custom URL formats"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pichoro", "repo": "Kuingsmile/PicHoro", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.875677+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:11:30.732567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e34ab75c8373a8c767dcd043adc19122ba398f7e036b93a7c16cddac17d00190", "fetched_at": "2026-08-28T04:03:13.875677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Kuingsmile/PicHoro"}, {"content_hash": "b222d0aaa4297425580e11fc0b03bd2c1440df77d39382da286fcbaef38a8554", "fetched_at": "2026-08-29T13:10:47.615684+00:00", "kind": "homepage", "missing": false, "url": "https://pichoro.horosama.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 60, "longevity": 100, "rhythm": 40}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1431, "days_push": 240, "days_rel": 510, "gap_med": 3, "n_releases_24m": 2}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}