Skills dirs-submit

dirs-submit

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/allinaigc/dirs-submit" ~/.claude/skills/openclaw-skills-dirs-submit && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/allinaigc/dirs-submit" ~/.openclaw/skills/openclaw-skills-dirs-submit && rm -rf "$T"
manifest: skills/allinaigc/dirs-submit/SKILL.md
source content

dirs-submit

Use

ship
to login, submit URLs, preview metadata, check versions, and self-update.

Structure

  • Read
    references/config.md
    when you need config shape or token storage details.
  • Read
    references/api.md
    when you need request endpoints or payload examples.
  • Read files under
    examples/
    when you need concrete success/error output examples.

Workflow

1. Login — 浏览器授权

提交 URL 需要订阅计划。

ship login

可选指定站点:

ship login --site aidirs.org
ship login --site backlinkdirs.com

流程:

  1. 选择站点(或通过
    --site
    指定)
  2. 自动打开浏览器进入登录页
  3. 用户在浏览器完成登录
  4. CLI 在本地启动 localhost 回调接收 token
  5. token 写入本地配置

成功输出:

✅ Login successful

2. Token / Config 存储规则

配置文件路径:

~/.config/ship/config.json

结构是按站点分开存

{
  "currentSite": "aidirs.org",
  "sites": {
    "aidirs.org": {
      "token": "xxx",
      "baseUrl": "https://aidirs.org"
    },
    "backlinkdirs.com": {
      "token": "yyy",
      "baseUrl": "https://backlinkdirs.com"
    }
  }
}

规则:

  • 同一个站点再次登录,会覆盖该站点旧 token
  • 不同站点互不覆盖
  • currentSite
    指向最后一次登录的站点
  • 不传
    --site
    时,CLI 默认使用
    currentSite

3. Submit — 提交 URL

ship submit <url>

示例:

ship submit https://example.com
ship submit https://example.com --site aidirs.org
ship submit https://example.com --site backlinkdirs.com
ship submit https://example.com --json
ship submit https://example.com --quiet

内部调用:

POST /api/submit
Authorization: Bearer <token>
Content-Type: application/json

{ "link": "https://example.com" }

4. Fetch — 预览元数据

ship fetch <url>

示例:

ship fetch https://example.com
ship fetch https://example.com --site aidirs.org
ship fetch https://example.com --json

调用

POST /api/fetch-website
,不创建提交记录。

5. Version / Update

ship version
ship version --latest
ship version --json
ship self-update
ship self-update --json

说明:

  • version --latest
    会检查 GitHub latest release
  • self-update
    会下载当前平台对应的 release asset 并替换本地可执行文件
  • Windows 当前不做自动覆盖更新,会提示用户手动下载最新版本

Result Interpretation

Skill 执行 CLI 后,应根据输出向用户自然语言转述:

  • 成功提交 / 成功 fetch → 直接告知成功
  • 401
    → 告知 token 无效,建议重新运行
    ship login
  • 402
    或返回
    upgradeUrl
    → 告知用户需要订阅,并附升级链接
  • 400
    → 直接转述具体错误
  • 网络超时 / 网络错误 → 告知稍后重试

常见错误

状态码/情况含义Skill 应告知用户
400URL 参数错误、重复站点等直接告知具体错误原因
401Token 无效或未授权提示重新运行
ship login
402需要订阅计划友好提示订阅,并附
upgradeUrl
500服务器错误告知稍后重试
timeout/network网络超时或请求失败告知网络问题并建议重试

Environment / Config Reference

来源说明
配置文件
~/.config/ship/config.json
本地存储多站点 token
环境变量
DIRS_TOKEN
Bearer Token(备用)
环境变量
DIRS_BASE_URL
API Base URL(备用)
CLI 参数
--site
显式切换站点

环境变量仍兼容,但优先推荐使用

ship login
写入配置。

Examples

ship login --site aidirs.org
ship submit https://example.com --site aidirs.org
ship fetch https://example.com --site backlinkdirs.com --json
ship version --latest
ship self-update