DSH 插件:X (Twitter) 推文存档与读取

前言

DeepSeek Harness (DSH) 通过插件机制扩展智能体的联网能力。在处理 X (Twitter) 数据时,网页抓取往往面临链接失效、内容截断或格式混乱的问题。dsh-x-archive 插件通过调用 2100laike X Archive (x.2100laike.com) 服务,将推文转化为永久可读的 Markdown 快照。它解决了推文被删除或设为私密后无法访问的痛点,并为 Agent 提供了结构化的数据返回。

核心功能

该插件主要提供以下能力:

  • 存档与读取:将 X 推文存档为永久 Markdown 快照,并支持直接检索已存档内容。
  • 自动处理:对于未存档的推文,插件会自动提交存档请求(图片通过 CDN 保留,即使原文删除或设为私密,存档内容仍可访问)。
  • 去重与节流:已存档的推文直接返回,去重命中时不消耗配额。
  • 版本历史:通过 refresh: true 参数可强制重抓,获取推文的最新版本。

安装与启用

安装必须指定 --profile,插件按 profile 安装。安装后需重启 dsh 进程(GUI 用户)才能生效。

1、安装插件:

# Web GUI 用户
dsh plugin --profile web add github:opencamel/dsh-x-archive#v0.1.2
# 纯 CLI 用户
dsh plugin --profile headless add github:opencamel/dsh-x-archive#v0.1.2

2、验证安装:

dsh --profile <name> --dump-config | grep -A2 dsh-x-archive
# 预期输出:
# # == dsh-x-archive
# - id: dsh-x-archive
#   name: dsh-x-archive

配置

在 profile 的 cordis.patch.yml 中配置 API 地址、认证令牌及超时参数。

1、编辑配置文件:
路径示例:~/.dsh/profiles/web/cordis.patch.yml(web 替换为实际 profile 名称)。

2、添加配置内容:

- insert:
  - id: dsh-x-archive
    name: dsh-x-archive
    config:
      apiBaseUrl: 'https://api.2100laike.com'  # 存档 API 地址
      token: ''                                # 可选 PAT,见下方额度说明
      waitTimeoutSec: 60                       # 新推文抓取轮询上限(秒)
      pollIntervalSec: 2                       # 轮询间隔(秒)
      maxContentChars: 30000                   # 返回正文最大字符数,超出截断并附快照链接

3、额度与认证:
* 匿名额度:8 次/天。
* 提升额度:在 app.2100laike.com/register 注册并创建 PAT(scope 至少 api:write),填入配置中的 token,额度提升至 100 次/天。
* 刷新限制:解锁 refresh: true 强制重抓需要配置 PAT,且受服务端 24 小时冷却保护。

工具契约

调用 x_archive 工具时使用以下参数和返回值。

  • 工具名称:x_archive
  • 参数:
    • url (string, 必填):X 推文链接。
    • refresh (boolean, 可选,默认 false):是否强制刷新获取最新版本。
  • 返回值:
    • archive_id, url, title, author, version, fetched_at, deleted, refresh_skipped, snapshot_url, truncated, markdown, note。

错误与软失败

  • 报错:直接调用失败时返回错误码,如 RATE_LIMITED(额度耗尽)或 FORCE_NOT_ALLOWED(未配置 PAT)。
  • 软失败:某些情况不抛错,通过 note 字段提示:
    • 新推文抓取中:note 提示「抓取尚未完成」,稍后重试即可。
    • 内容截断:truncated: true,需访问 snapshot_url 查看全文。
    • 推文不可用:deleted: true 或 note 提示稍后重试。

适用场景与注意

  • 环境依赖:需要 dsh >= 0.1.0-rc.6,且系统 PATH 中包含 pnpm。
  • 配置文件:仅编辑 cordis.patch.yml,不要修改 cordis.yml(该文件由系统自动重写)。
  • 进程重启:安装或卸载插件后,必须重启 dsh 进程(GUI 模式需重新运行 dsh web),插件才会加载。
  • 隐私与安全:插件只访问配置的 apiBaseUrl,不读取本地凭据,无遥测数据。

链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜