← 返回 Skills 市场
raghulpasupathi

Gpt Analyzer

作者 raghulpasupathi · GitHub ↗ · v1.0.0
cross-platform ✓ 安全检测通过
676
总下载
0
收藏
2
当前安装
1
版本数
在 OpenClaw 中安装
/install gpt-analyzer
功能描述
GPT-specific pattern detection with model fingerprinting and version identification
使用说明 (SKILL.md)

GPT Analyzer

Specialized detection for GPT-generated content with model-specific pattern recognition.

Implementation

/**
 * Analyze text for GPT-specific patterns and fingerprints
 * @param {string} text - Text to analyze
 * @param {object} options - Configuration options
 * @returns {object} Analysis result with model identification
 */
async function analyzeGPTContent(text, options = {}) {
  const {
    detectVersion = true,
    checkWatermarks = true,
    minConfidence = 0.7
  } = options;

  const normalizedText = text.toLowerCase();
  const wordCount = text.split(/\s+/).length;

  // GPT-specific phrases (stronger indicators)
  const gptPhrases = {
    'gpt-4': [
      'delve into', 'landscape of', 'realm of', 'it\'s important to note',
      'multifaceted', 'nuanced', 'comprehensive', 'holistic approach'
    ],
    'gpt-3.5': [
      'as an ai language model', 'i don\'t have personal', 'i apologize for',
      'certainly', 'absolutely', 'furthermore', 'moreover'
    ],
    'common': [
      'it\'s worth noting', 'keep in mind', 'in conclusion',
      'to summarize', 'in summary', 'navigate the', 'tapestry of'
    ]
  };

  // Model fingerprinting
  let gpt4Score = 0;
  let gpt35Score = 0;
  let commonScore = 0;
  const foundPhrases = [];

  // Check GPT-4 specific patterns
  for (const phrase of gptPhrases['gpt-4']) {
    if (normalizedText.includes(phrase)) {
      gpt4Score += 0.2;
      foundPhrases.push({ phrase, model: 'gpt-4' });
    }
  }

  // Check GPT-3.5 specific patterns
  for (const phrase of gptPhrases['gpt-3.5']) {
    if (normalizedText.includes(phrase)) {
      gpt35Score += 0.2;
      foundPhrases.push({ phrase, model: 'gpt-3.5' });
    }
  }

  // Check common GPT patterns
  for (const phrase of gptPhrases['common']) {
    if (normalizedText.includes(phrase)) {
      commonScore += 0.1;
      foundPhrases.push({ phrase, model: 'common' });
    }
  }

  // Structure analysis
  const hasNumberedLists = (text.match(/\
\d+\./g) || []).length >= 3;
  const hasBulletPoints = (text.match(/\
[•\-\*]/g) || []).length >= 3;
  const structureScore = (hasNumberedLists || hasBulletPoints) ? 0.15 : 0;

  // Sentence uniformity
  const sentences = text.split(/[.!?]+/).filter(s => s.trim());
  const avgLength = sentences.reduce((sum, s) => sum + s.length, 0) / sentences.length;
  const variance = sentences.reduce((sum, s) => sum + Math.pow(s.length - avgLength, 2), 0) / sentences.length;
  const uniformityScore = variance \x3C 500 ? 0.1 : 0;

  // Calculate confidence
  const totalScore = gpt4Score + gpt35Score + commonScore + structureScore + uniformityScore;
  const confidence = Math.min(totalScore, 1.0);

  // Determine model
  let detectedModel = 'unknown';
  if (gpt4Score > gpt35Score && gpt4Score > 0) {
    detectedModel = 'gpt-4';
  } else if (gpt35Score > gpt4Score && gpt35Score > 0) {
    detectedModel = 'gpt-3.5';
  } else if (commonScore > 0) {
    detectedModel = 'gpt-family';
  }

  const isGPT = confidence >= minConfidence;

  return {
    isGPT,
    confidence: Math.round(confidence * 100),
    detectedModel: isGPT ? detectedModel : 'not-gpt',
    scores: {
      gpt4: Math.round(gpt4Score * 100) / 100,
      gpt35: Math.round(gpt35Score * 100) / 100,
      common: Math.round(commonScore * 100) / 100,
      structure: Math.round(structureScore * 100) / 100,
      uniformity: Math.round(uniformityScore * 100) / 100
    },
    indicators: {
      foundPhrases: foundPhrases.length,
      hasStructure: hasNumberedLists || hasBulletPoints,
      avgSentenceLength: Math.round(avgLength),
      sentenceVariance: Math.round(variance)
    },
    recommendation: confidence >= 0.85 ? 'Very likely GPT' :
                     confidence >= 0.70 ? 'Likely GPT' :
                     confidence >= 0.50 ? 'Possibly GPT' :
                     'Unlikely GPT or human-written'
  };
}

// Export for OpenClaw
module.exports = {
  analyzeGPTContent
};

Usage

const result = await skills.gptAnalyzer.analyzeGPTContent(text);

if (result.isGPT) {
  console.log(`GPT detected: ${result.detectedModel} (${result.confidence}% confidence)`);
}

Configuration

{
  "detectVersion": true,
  "minConfidence": 0.7
}
安全使用建议
This skill appears coherent and low-risk from a security standpoint: it runs only text-based heuristics and asks for no credentials or installs. However, the detection logic is a simple heuristic (phrase lists, structure and length metrics) and may produce false positives/negatives or be biased by writing style; do not rely on it for high-stakes decisions. If you will analyze sensitive content, remember the agent will pass that text into the skill at runtime — ensure you trust the agent runtime/environment. You may also consider: (1) testing the skill on representative samples before relying on results, (2) preferring validated detection tools or multiple detectors for critical use, and (3) reviewing or adapting the phrase lists/thresholds if you have domain-specific needs.
功能分析
Type: OpenClaw Skill Name: gpt-analyzer Version: 1.0.0 The OpenClaw AgentSkills bundle 'gpt-analyzer' is benign. The `_meta.json` file contains standard metadata. The `SKILL.md` file defines a JavaScript function `analyzeGPTContent` that performs text analysis to detect GPT-generated content based on specific phrases and structural patterns. The code is self-contained, does not access the file system, network, or environment variables, and contains no malicious instructions or prompt injection attempts against the agent. Its functionality is clearly aligned with its stated purpose.
能力评估
Purpose & Capability
Name/description match the provided implementation: the SKILL.md contains a self-contained JavaScript heuristic function that analyzes text for GPT-like phrases, structure, and sentence uniformity. Nothing requested (no env vars, no binaries, no installs) is disproportionate to this purpose.
Instruction Scope
Runtime instructions and example usage show only local text analysis via the analyzeGPTContent(text, options) routine. The instructions do not direct the agent to read files, network endpoints, or unrelated environment variables.
Install Mechanism
There is no install specification and no code files beyond the SKILL.md sample — lowest-risk, instruction-only arrangement. Nothing is downloaded or written to disk by the skill itself.
Credentials
The skill declares no required environment variables, credentials, or config paths. The analysis operates purely on provided text input, so no secret access is requested or required.
Persistence & Privilege
always is false (default) and the skill does not request persistent system presence or modify other skills. Autonomous invocation is enabled by default on the platform but is not combined with any elevated privileges or sensitive access here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install gpt-analyzer
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /gpt-analyzer 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of GPT Analyzer (v1.0.0). - Detects GPT-generated content with model-specific pattern recognition and fingerprinting. - Identifies likely GPT version (gpt-4, gpt-3.5, or general GPT-family). - Provides confidence scoring and analysis indicators. - Offers recommendation labels (e.g., "Very likely GPT"). - Allows configuration of detection options and confidence threshold.
元数据
Slug gpt-analyzer
版本 1.0.0
许可证
累计安装 3
当前安装数 2
历史版本数 1
常见问题

Gpt Analyzer 是什么?

GPT-specific pattern detection with model fingerprinting and version identification. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 676 次。

如何安装 Gpt Analyzer?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install gpt-analyzer」即可一键安装,无需额外配置。

Gpt Analyzer 是免费的吗?

是的,Gpt Analyzer 完全免费(开源免费),可自由下载、安装和使用。

Gpt Analyzer 支持哪些平台?

Gpt Analyzer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Gpt Analyzer?

由 raghulpasupathi(@raghulpasupathi)开发并维护,当前版本 v1.0.0。

💬 留言讨论