Skip to content

f14XuanLv/claude-title2api-tasker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

claude-title2api-tasker

License: MIT

这是一个利用 Claude Web UI 未公开的标题生成 API 实现的轻量级、免费的微型推理工具。它允许用户直接与一个专门用于文本摘要、分类和短答案生成的模型进行交互,而无需消耗主对话的 Token 额度。

项目背景与致谢

本项目的所有 API 分析和实现,均基于对 Claude 镜像站 fuclaude 的逆向工程探索。fuclaude 作为一个功能完善的镜像站,为观察和理解 Claude 前后端通信协议提供了宝贵的平台。

核心原理:

在对 fuclaude 镜像站的网络通信进行分析时,发现了一个有趣的 API 端点:

POST /api/organizations/{org_uuid}/chat_conversations/{conv_uuid}/title

推断,这个功能由一个独立的、轻量化的模型提供服务,其调用很可能不计入用户的常规使用额度。进一步的探索揭示了该接口是一个一次性且敏感的接口。

为了应对这一特性,本脚本采用了**"阅后即焚" (Burn After Reading)** 的工作模式。这是目前已知的、实现稳定连续调用的最可靠方法。

工作流程如下:

  1. 用户输入一个请求。
  2. 脚本在后台创建一个全新的、临时的对话
  3. 使用这个纯净的对话 UUID,向 /title 接口发起一次性的命名请求
  4. 获取并显示模型返回的标题(即答案)。
  5. 无论成功与否,立即销毁本次使用的临时对话

通过这个"创建-请求-销毁"的循环,确保了每一次推理都在一个绝对隔离和干净的环境中进行,从而实现了稳定、可靠的连续调用。

主要功能

  • 双模式选择 (v0.2.0 新增)
    • 智能向导模式:引导用户输入"核心内容"和"任务指令",程序自动将其包装成高服从性的优化 Prompt。推荐新用户使用。
    • 经典自由模式:提供完全自由的消息构造器,支持自定义 Message 数量和内容,适合高级用户和 Prompt 实验。
  • 免费调用:利用辅助性 API,理论上不消耗您的消息额度。
  • 指令跟随:通过精心设计的 Prompt,可以引导模型完成特定任务。
  • 阅后即焚,高度稳定:为每次请求使用独立的对话,保证了极高的成功率和稳定性。
  • 自动清理:所有临时对话都会被立即删除,保持您的账户对话列表干净整洁。

如何使用

  1. 配置脚本: 打开 main.py 文件,找到顶部的配置区,将 SESSION_KEY 替换为您自己的有效会话密钥。

  2. 安装依赖:

    pip install cloudscraper
  3. 运行脚本:

    python main.py
  4. 选择模式并开始推理: 脚本启动后会提示您选择工作模式,之后根据提示输入即可。

使用示例与最佳实践

模式一:智能向导模式 (推荐)

此模式下,您只需专注于内容和目标,程序会处理好 Prompt 优化。

基础示例:简单问答

--- 新任务构造 ---
第一步:请输入您想让模型处理的核心内容 (...)
> What is the capital of France?

第二步:请输入您的任务指令 (...)
> 将答案作为标题输出

正在向 Claude 发起请求...
--------------------
✅ 模型返回结果: Paris
--------------------

高级示例:JSON数据提取 ⭐

这个例子展示了智能向导模式处理复杂数据提取任务的能力:

--- 新任务构造 (智能向导模式) ---
第一步:请输入您想让模型处理的核心内容 (...) (输入完成后,在新行单独输入 'EOF''eof' 结束):
{
  "products": [
    {
      "id": "A101",
      "name": "Super-Speed Laptop",
      "category": "Electronics",
      "specs": {
        "cpu": "Intel i9",
        "ram_gb": 32,
        "storage_gb": 1024
      },
      "inventory": {
        "status": "in_stock",
        "stock": 42,
        "warehouse_location": "US-WEST"
      }
    },
    {
      "id": "B202",
      "name": "Mechanical Keyboard",
      "category": "Peripherals",
      "specs": {
        "switch_type": "Blue",
        "layout": "104-key"
      },
      "inventory": {
        "status": "in_stock",
        "stock": 157,
        "warehouse_location": "EU-CENTRAL"
      }
    }
  ],
  "report_generated_at": "2025-06-12T10:00:00Z"
}
EOF
--------------------
第二步:请输入您的任务指令 (...):
> 从上述JSON数据中,找到 id 为 "B202" 的产品,提取出它的库存(stock)数量,并将这个数字**作为最终的标题**。标题中**只能包含这个数字**,不能有任何其他文字。

正在向 Claude 发起请求...
--------------------
✅ 模型返回结果: 157
--------------------

成功的关键要素:

  • ✅ 明确的数据定位要求(找到 id 为 "B202" 的产品)
  • ✅ 精确的提取指令(提取库存数量)
  • 目标绑定技巧:明确要求"将这个数字作为最终的标题"
  • ✅ 格式约束:强调"标题中只能包含这个数字"

模式二:经典自由模式 (高级)

此模式给予您完全的控制权,但也需要您自行优化 Prompt 以获得最佳结果。

示例:复杂的选择题(最佳实践演示)

为了让模型更"听话",遵循以下原则:

  1. 将所有信息和约束条件都放入 Message 1
  2. 使用明确、强约束的词语(如"严格"、"仅仅"、"不要添加")。
  3. 保持 Message 数量较少(通常为 1 或 2)。
--- 消息内容构造器 ---
请输入 Message 的数量 (默认为 2): [回车]
请输入 Message 1 的内容:
请严格从以下四个选项中选择一个词,以描述"呵呵,呵呵哈哈哈哈!你笑了,你也笑了,一个面壁者的笑,对另一个面壁者的笑"这句话所表达的情感。
选项:开心, 愤怒, 自嘲, 悲伤
不要添加任何其他文字、解释或符号,仅仅将你选择的那个中文词语作为标题。
EOF
是否为 Message 2 使用自动填充内容? (默认为 Y): [回车]
...

模型生成的标题 (答案): 自嘲

分析: 效果显著!通过手动优化 Prompt,模型完美地遵循了指令。智能向导模式正是将这类优化技巧自动化了。

核心技巧:目标绑定策略 🎯

重要发现: 在使用标题生成 API 执行非摘要任务时,最关键的技巧是**"目标绑定"**——明确地将任务的输出与 API 的预期目标(标题)联系起来。

为什么需要目标绑定?

标题生成 API 的默认行为是为对话内容生成摘要性标题。当我们要求它执行其他任务(如数据提取、分类、计算等)时,模型可能会"忽略指令"而回归到默认的摘要行为。

目标绑定的实现方法

在指令中明确使用以下表述模式:

  • 错误示例"从JSON中提取stock数量"
  • 正确示例"从JSON中提取stock数量,并将这个数字**作为最终的标题**"

其他有效的目标绑定短语

  • "将答案作为标题输出"
  • "把结果设置为这次对话的标题"
  • "标题应该是..."
  • "作为最终的标题,输出..."
  • "标题中只能包含..."

这个技巧是通过大量实验验证的核心策略,掌握它将大大提高您使用这个工具的成功率!

探索性内容(待补充)

模型智能程度估计

  • 初步观察,该模型的逻辑推理和指令跟随能力相当不错。它更擅长执行单点、明确的指令任务,如简单计算、格式转换、关键词提取和分类。对于包含强大文化或背景符号的开放式问题,它可能优先选择"概括摘要"而非"严格执行指令",此时需要通过更具约束性的 Prompt 来引导其行为。

上下文长度估计

  • 该模型作为标题生成器,其设计的上下文长度可能远小于主聊天模型。具体能处理多长的 message_content 需要通过实验来确定。可以尝试逐步增加输入内容的长度,观察从哪个点开始模型返回的标题质量下降或出现截断。

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages