关于 devto
通过 curl 和 jq 调用 Forem API 管理 dev.to 文章。支持创建草稿、发布、编辑和查看文章及互动统计数据。
主要功能
- 01确认 API 凭据和账户身份
- 02创建文章草稿或发布文章
- 03编辑文章并发布草稿
- 04列出文章并查看内容和统计
- 05为跨站发布设置规范网址
适用场景
- 01将 Markdown 文章保存为草稿
- 02在 dev.to 发布或更新文章
- 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 代码块,其中的字段会覆盖 JSONarticle字段。
记录输出
成功发布并获取实际结果 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。