Token导航 LogoToken导航

Agent Skill · 研究检索

tautulli-analytics(陶图利分析)

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

tautulli-analytics 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 58,786。

总安装 404周安装 17GitHub Stars 157下载 141核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tautulli-analytics(陶图利分析)
来源仓库:https://github.com/trentferguson/homescreen-hero
仓库路径:skills/tautulli-analytics
安装命令:
npx skills add https://github.com/trentferguson/homescreen-hero --skill tautulli-analytics
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/trentferguson/homescreen-hero --skill tautulli-analytics

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

tautulli-analytics 用于辅助数据整理、表格处理和指标计算。适合清洗字段、汇总数据、发现异常或生成统计口径。使用时需确认数据来源、字段含义和时间范围,避免误用样本当全量。涉及敏感数据导出时应先确认权限和脱敏边界。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/tautulli-analytics

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/trentferguson/homescreen-hero --skill tautulli…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

tautulli-analytics 怎么安装?

在终端执行 npx skills add https://github.com/trentferguson/homescreen-hero --skill tautulli-analytics。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

tautulli-analytics 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

tautulli-analytics 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

tautulli-analytics 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

tautulli-analytics 用的人多吗?

公开数据是累计安装 404 次,近一周安装 17 次,下载 141 次,GitHub 157 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

tautulli-analytics 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
tautulli-analytics

陶图利分析 · 本页

404157接触敏感数据未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Tautulli Analytics Integration

This skill helps with Tautulli analytics features in homescreen-hero. Tautulli provides streaming metrics and watch history from Plex servers.

Key Files

Tautulli Client Overview

The TautulliClient wraps the Tautulli API v2. It handles:

  • API authentication via API key in URL params
  • Response parsing (Tautulli wraps responses in {"response": {"result": "success", "data":...}})
  • Error handling for timeouts, auth failures, HTTP errors

Key Methods

MethodPurposeReturns
ping()Health check(bool, Optional[str]) - success status and error message
get_libraries()Get Plex librariesList of library dicts with section_id
get_collection_stats(rating_key, query_days)Watch stats for a collectionDict with total_plays, total_duration
get_history(length, start)Watch history entriesList of history dicts with timestamps
get_user_watch_time_stats(query_days)User watch statsList of user stats
get_plays_by_date(time_range, y_axis)Play counts by dateDict with categories (dates) and series (play data)
get_plays_by_hourofday(time_range, y_axis)Play counts by hourDict with categories (hours) and series
get_plays_by_stream_type(time_range, y_axis)Plays by stream type with concurrent streamsDict with stream type data including max concurrent

Configuration

Tautulli requires:

  • HSH_TAUTULLI_API_KEY environment variable (or in config.yaml)
  • HSH_TAUTULLI_BASE_URL environment variable (default: http://localhost:8181)
  • enabled: true in config.yaml under tautulli section

Analytics Module

The tautulli_analytics.py module collects watch statistics and stores them in SQLite:

Main Functions

collect_analytics_for_collections(config, collection_names, rotation_id)

  • Collects watch stats for specified collections
  • Finds collections in Plex libraries using rating_key
  • Aggregates stats from all items in each collection
  • Stores snapshots in the database via record_collection_analytics()
  • Returns summary dict with collected, failed, and total_collections

collect_analytics_for_all_active(config)

  • Collects analytics for all currently promoted collections
  • Queries Plex for collections with visibility > 0
  • Uses collect_analytics_for_collections() internally

Data Flow

  1. Find collection in Plex - Search enabled libraries for collection by name
  2. Get rating_key - Extract Plex's internal ID for the collection
  3. Query Tautulli - Use rating_key to get watch stats from Tautulli API
  4. Aggregate - Sum stats across all items in the collection
  5. Store - Save snapshot to collection_analytics table in SQLite

Common Tasks

Adding a New Chart

When adding a new chart to the frontend:

  1. Check if the Tautulli API endpoint exists in tautulli_client.py
  2. Add method to client if needed (follow pattern of existing methods)
  3. Create API endpoint in homescreen_hero/web/routers/analytics.py
  4. Fetch data in React component using the new endpoint
  5. Use Recharts components to visualize

Testing Tautulli Connection

from homescreen_hero.core.integrations.tautulli_client import get_tautulli_client
from homescreen_hero.core.config.loader import load_config

config = load_config()
client = get_tautulli_client(config)
if client:
    success, error = client.ping()
    print(f"Tautulli connection: {'OK' if success else f'Failed - {error}'}")

Fetching Watch Stats

# Get stats for a specific collection (by rating_key)
stats = client.get_collection_stats(rating_key=12345, query_days=30)
print(f"Total plays: {stats['total_plays']}")

# Get play history
history = client.get_history(length=100)
for entry in history:
    print(f"{entry['user']}: {entry['title']} at {entry['date']}")

API Response Formats

get_collection_stats

{
  "total_plays": 42,
  "total_duration": 7200,
  "total_time": "2h 0m"
}

get_plays_by_date

{
  "categories": ["2024-01-01", "2024-01-02", ...],
  "series": {
    "Movies": [5, 8, 3, ...],
    "TV": [12, 15, 10, ...]
  }
}

get_plays_by_stream_type

{
  "categories": ["2024-01-01", "2024-01-02", ...],
  "series": {
    "Direct Play": [5, 8, ...],
    "Direct Stream": [3, 2, ...],
    "Transcode": [1, 4, ...],
    "Concurrent Streams": [8, 12, ...]  // Max concurrent per day
  }
}

Database Schema

Analytics are stored in collection_analytics table:

  • collection_name - Name of the collection
  • plex_library - Library name (Movies, TV Shows, etc.)
  • rating_key - Plex rating key
  • total_plays - Total play count
  • total_duration_seconds - Total watch time in seconds
  • unique_users - Count of unique users (nullable)
  • rotation_id - FK to rotation that triggered collection (nullable)
  • collected_at - Timestamp of collection
  • extra_data - JSON field for additional metadata

Notes

  • Tautulli tracks stats per-item, not per-collection
  • Analytics module aggregates item-level stats to collection-level
  • Concurrent streams calculation requires analyzing overlapping watch history timestamps
  • All API methods include error handling and logging
  • Use logger.debug() for API requests, logger.info() for successful operations, logger.error() for failures

平台分布

Codex

35.94%
按下载量换算51

Claude

32.39%
按下载量换算46

Cursor

18.83%
按下载量换算27

Gemini CLI

10.68%
按下载量换算15

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills