mcpField
D
devto

devto

github.com/acedatacloud营销与增长17205 次安装今天更新
代码仓库

关于 devto

通过 curl 和 jq 调用 Forem API 管理 dev.to 文章。支持创建草稿、发布、编辑和查看文章及互动统计数据。

主要功能

  1. 01确认 API 凭据和账户身份
  2. 02创建文章草稿或发布文章
  3. 03编辑文章并发布草稿
  4. 04列出文章并查看内容和统计
  5. 05为跨站发布设置规范网址

适用场景

  1. 01将 Markdown 文章保存为草稿
  2. 02在 dev.to 发布或更新文章
  3. 03查看文章浏览量、反应和评论

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/acedatacloud/skills --skill devto

安装后在 Claude Code 中输入/devto确认已加载。

详细介绍

使用 curl + jq 调用 Forem API v1(dev.to)。用户的 API 密钥位于 $DEVTO_API_KEY;每次调用都需要以下标头:api-key: $DEVTO_API_KEY 和 Accept: application/vnd.forem.api-v1+json。基础 URL:https://dev.to/api。

错误会以包含 error / status 字段的 JSON 返回——请原样显示。 401 表示 API 密钥无效 → 用户必须重新连接 DEV 连接器。

始终先确认密钥并了解账户:

curl -sS -H "api-key: $DEVTO_API_KEY" -H "Accept: application/vnd.forem.api-v1+json" \
  "https://dev.to/api/users/me" | jq '{username, name}'

发布文章

公开发布前先征得用户确认。 默认保存为草稿 (published:false),除非用户明确表示要发布/立即发布。

TITLE="My title"
BODY_MD="$(cat article.md)"   # full Markdown body
jq -n --arg t "$TITLE" --arg b "$BODY_MD" \
  '{article:{title:$t, body_markdown:$b, published:false, tags:["ai","webdev"]}}' \
| curl -sS -X POST "https://dev.to/api/articles" \
    -H "api-key: $DEVTO_API_KEY" \
    -H "Accept: application/vnd.forem.api-v1+json" \
    -H "Content-Type: application/json" \
    -d @- \
| jq '{id, url, published}'

稍后发布草稿(或编辑草稿)时,使用相同结构调用 PUT /api/articles/{id} (将 published:true)。body_markdown 中的 Front-matter(--- 代码块)也可以包含 title、tags、series、canonical_url、cover_image。

  • 规范 URL: 跨平台发布时,设置 "canonical_url":"https://your-blog/original",让 DEV 将 SEO 指向 源内容——这对文章→视频/跨平台发布工作流很重要。

列出/查看我的文章

# My published + draft articles (paginated; per_page max 1000).
curl -sS -H "api-key: $DEVTO_API_KEY" -H "Accept: application/vnd.forem.api-v1+json" \
  "https://dev.to/api/articles/me/all?per_page=30" \
  | jq '.[] | {id, title, published, page_views_count, public_reactions_count, comments_count}'

# A single article's full content + stats.
curl -sS -H "api-key: $DEVTO_API_KEY" -H "Accept: application/vnd.forem.api-v1+json" \
  "https://dev.to/api/articles/ARTICLE_ID" | jq '{title, url, reactions: .public_reactions_count, views: .page_views_count}'

注意事项

  • 标签: 最多 4 个,全部小写,不能有空格(例如 webdev、machinelearning)。
  • 速率限制: 创建/更新文章的请求会受到限流(每 30 秒几次);批量发布时请错开时间,否则会收到 429。
  • body_markdown 是事实来源——如果在开头放置 --- Front-matter 代码块,其中的字段会覆盖 JSON article 字段。

记录输出

成功发布并获取实际结果 URL 后,调用内置的 publish_artifact 工具一次,让用户可以在 My Outputs 中跟踪此交付内容:

publish_artifact(kind="article", channel="devto", title="<title>", url="<the REAL returned URL>", status="delivered")

使用实际返回的 URL——切勿编造。每个已发布项目仅调用一次, 并且只能在确认交付后调用;如果发布失败,则跳过此步骤(或使用 status="failed")。 请参阅 _shared/artifacts.md。

评论

支持 Markdown