Token导航 LogoToken导航TokenDH.com
运维和基础设施需要联网github未标认证来源可访问clear审计未展示

x-algo-scoringx 算法评分

Agent Skill

x-algo-scoring 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

256

周安装

11

GitHub Stars

10

下载量

90
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/cloudai-x/x-algo-skills --skill x-algo-scoring

简介

x-algo-scoring 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装使用。
  • 需确认权限范围和维护状态,注意是否触发联网、命令执行或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

X Algorithm Scoring

The X algorithm calculates a weighted engagement score for each post by combining predicted probabilities of 18 user actions. This score determines feed ranking.

Weighted Score Formula

Score = Σ(weight × P(action)) for all 18 actions + offset

From home-mixer/scorers/weighted_scorer.rs:

fn compute_weighted_score(candidate: &PostCandidate) -> f64 {
    let s: &PhoenixScores = &candidate.phoenix_scores;
    let vqv_weight = Self::vqv_weight_eligibility(candidate);

    let combined_score = Self::apply(s.favorite_score, p::FAVORITE_WEIGHT)
        + Self::apply(s.reply_score, p::REPLY_WEIGHT)
        + Self::apply(s.retweet_score, p::RETWEET_WEIGHT)
        + Self::apply(s.photo_expand_score, p::PHOTO_EXPAND_WEIGHT)
        + Self::apply(s.click_score, p::CLICK_WEIGHT)
        + Self::apply(s.profile_click_score, p::PROFILE_CLICK_WEIGHT)
        + Self::apply(s.vqv_score, vqv_weight)
        + Self::apply(s.share_score, p::SHARE_WEIGHT)
        + Self::apply(s.share_via_dm_score, p::SHARE_VIA_DM_WEIGHT)
        + Self::apply(s.share_via_copy_link_score, p::SHARE_VIA_COPY_LINK_WEIGHT)
        + Self::apply(s.dwell_score, p::DWELL_WEIGHT)
        + Self::apply(s.quote_score, p::QUOTE_WEIGHT)
        + Self::apply(s.quoted_click_score, p::QUOTED_CLICK_WEIGHT)
        + Self::apply(s.dwell_time, p::CONT_DWELL_TIME_WEIGHT)
        + Self::apply(s.follow_author_score, p::FOLLOW_AUTHOR_WEIGHT)
        + Self::apply(s.not_interested_score, p::NOT_INTERESTED_WEIGHT)
        + Self::apply(s.block_author_score, p::BLOCK_AUTHOR_WEIGHT)
        + Self::apply(s.mute_author_score, p::MUTE_AUTHOR_WEIGHT)
        + Self::apply(s.report_score, p::REPORT_WEIGHT);

    Self::offset_score(combined_score)
}

Action Weights by Category

Positive Weights (Increase Score)

ActionWeight ConstantSignal Type
FavoriteFAVORITE_WEIGHTHigh value engagement
ReplyREPLY_WEIGHTHigh value engagement
RetweetRETWEET_WEIGHTHigh value engagement
QuoteQUOTE_WEIGHTHigh value engagement
Follow AuthorFOLLOW_AUTHOR_WEIGHTVery high value
ShareSHARE_WEIGHTDistribution signal
Share via DMSHARE_VIA_DM_WEIGHTDistribution signal
Share via Copy LinkSHARE_VIA_COPY_LINK_WEIGHTDistribution signal
Photo ExpandPHOTO_EXPAND_WEIGHTInterest signal
ClickCLICK_WEIGHTInterest signal
Profile ClickPROFILE_CLICK_WEIGHTInterest signal
VQVVQV_WEIGHTVideo engagement (conditional)
DwellDWELL_WEIGHTAttention signal
Quoted ClickQUOTED_CLICK_WEIGHTInterest signal
Dwell TimeCONT_DWELL_TIME_WEIGHTContinuous attention

Negative Weights (Decrease Score)

ActionWeight ConstantSignal Type
Not InterestedNOT_INTERESTED_WEIGHTNegative signal
Block AuthorBLOCK_AUTHOR_WEIGHTStrong negative
Mute AuthorMUTE_AUTHOR_WEIGHTStrong negative
ReportREPORT_WEIGHTStrongest negative

VQV Video Eligibility

Video Quality View (VQV) weight only applies if video meets minimum duration:

fn vqv_weight_eligibility(candidate: &PostCandidate) -> f64 {
    if candidate
        .video_duration_ms
        .is_some_and(|ms| ms > p::MIN_VIDEO_DURATION_MS)
    {
        p::VQV_WEIGHT
    } else {
        0.0  // No VQV contribution for short videos or non-videos
    }
}

Score Offset Logic

Handles negative combined scores to ensure proper ranking:

fn offset_score(combined_score: f64) -> f64 {
    if p::WEIGHTS_SUM == 0.0 {
        combined_score.max(0.0)
    } else if combined_score < 0.0 {
        // Negative scores get scaled offset
        (combined_score + p::NEGATIVE_WEIGHTS_SUM) / p::WEIGHTS_SUM * p::NEGATIVE_SCORES_OFFSET
    } else {
        // Positive scores just add offset
        combined_score + p::NEGATIVE_SCORES_OFFSET
    }
}

Score Normalization

After weighted scoring, scores are normalized (implementation in util/score_normalizer.rs, excluded from open source):

let weighted_score = Self::compute_weighted_score(c);
let normalized_weighted_score = normalize_score(c, weighted_score);

Additional Scoring Stages

1. Author Diversity Scoring

Penalizes multiple posts from the same author to promote variety:

// From home-mixer/scorers/author_diversity_scorer.rs
fn multiplier(&self, position: usize) -> f64 {
    // First post from author: full score
    // Second post: score × decay_factor
    // Third post: score × decay_factor²
    (1.0 - self.floor) * self.decay_factor.powf(position as f64) + self.floor
}

Parameters: AUTHOR_DIVERSITY_DECAY, AUTHOR_DIVERSITY_FLOOR

2. Out-of-Network Scoring

Adjusts scores for posts from accounts user doesn't follow:

// From home-mixer/scorers/oon_scorer.rs
let updated_score = c.score.map(|base_score| match c.in_network {
    Some(false) => base_score * p::OON_WEIGHT_FACTOR,  // Reduced weight
    _ => base_score,  // Full weight for in-network
});

Example Score Calculation

For a post with these predicted probabilities:

  • favorite_score: 0.12 (12% chance of like)
  • reply_score: 0.03 (3% chance of reply)
  • retweet_score: 0.05 (5% chance of retweet)
  • not_interested_score: 0.02 (2% chance of negative signal)
Weighted Score =
    0.12 × FAVORITE_WEIGHT +
    0.03 × REPLY_WEIGHT +
    0.05 × RETWEET_WEIGHT +
    0.02 × NOT_INTERESTED_WEIGHT (negative) +
    ... + offset

PostCandidate Score Fields

pub struct PostCandidate {
    pub weighted_score: Option<f64>,  // After WeightedScorer
    pub score: Option<f64>,           // Final score after all scorers
    // ...
}

Related Skills

  • /x-algo-engagement - Reference for all 18 action types
  • /x-algo-pipeline - Where scoring fits in the full pipeline

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

27.29%
按下载量换算25

windsurf

22.26%
按下载量换算20

OpenCode

16.71%
按下载量换算15

Codex

11.48%
按下载量换算10

Antigravity

7.82%
按下载量换算7

Gemini CLI

3.1%
按下载量换算3

安全审计

暂无安全审计结果可展示。

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills