前言¶
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,不读取本地凭据,无遥测数据。