Skip to content
Deep Work Plan 今天登陆 Product Hunt 去支持

代理与开发者接口面

面向开发者与 AI 代理的 Deep Work Plan

deepworkplan.com 在页面之外还提供了一个机器可读的接口面:由 OpenAPI 描述的代理 API、无状态的 MCP 服务器、覆盖 17 种语言每个页面的原生 Markdown 镜像,以及可安装的 DWP 技能。本页面上的一切都是实时、公开且免费的——无需注册任何内容。

设计上的零认证

无需生成 API 密钥,没有 OAuth 流程,也没有独立于生产的沙箱——生产接口面本身就是沙箱。这是这套方法论刻意为之的属性:代理无法填写“联系销售”表单,因此本站点绝不会要求你填写。

只读

每一项操作都是安全、可缓存的 GET——唯一例外是使用 POST 的 MCP 端点。任何地方都不存在写操作、上传或状态变更。

无 API 密钥

无需注册、无需令牌、没有速率限制层级。匿名访问就是成文的契约,在 /auth.md 与 OAuth 探索桩中声明。

免费且开源

站点内容与 DWP 技能均采用 MIT 许可。无需征得许可即可用于商业与非商业工作。

机器优先

/api 路径返回结构化的 JSON 错误、Markdown 404 恢复响应体、RFC 9727 API 目录,以及 ARD 能力清单——为代理消费而构建。

通过技能规划并执行

上面的 API 让代理能够读取本站点。DWP 技能则让代理能够运行这套方法论——只需在仓库中安装一次,它就会附带一个路由器和九项子技能,以斜杠命令的形式调用(或按名称调用,对于会拦截斜杠的代理,大多数改用 # 代替,例如 #dwp-execute)。

两个独立的选择:格式,以及你想要多少审阅

每个计划都从每个维度中选取一个值。这两个维度相互独立——Lite 计划可以以 trust 模式运行,Full 计划也可以以 guided 模式运行,而且两者都可以在之后切换模式而不切换格式。

Lite

任务记录直接内嵌在计划的 README 中,位于稳定的 #task-N 锚点之后——没有单独的任务文件。专为范围明确的小型工作而设计:一个关注点,大约一次坐下就能完成。它仍然是一份完整的计划:稳定的任务 ID、Touched Surface、验收标准、验证关卡与 Final Review——绝不是被削减过的草图。

Full

在 N.task_<slug>.md 下每个任务对应一个文件,用于持续数小时或数天的长周期工作,或当计划中任务之间存在真正的依赖关系时。当紧凑记录不再够用时,Lite 计划可以之后通过 /dwp-refine promote 提升为 Full——提升过程绝不会重新执行已完成的工作。

Guided (default)

dwp-create 会分析目标、对其进行分解,并具体化出一份可供审阅的计划——它已经是真正可执行的计划,而不是可丢弃的草稿——随后询问:保留它、将 Lite 提升为 Full、编辑它,还是停止。在任何实际产品工作开始之前,都会有人类留在决策环节中。建议在最初几次使用时,或用于风险较高的工作。

Trust (or auto)

在末尾附加 trust(或 auto)——例如 /dwp-create <goal> trust——代理就会跳过审阅环节,直接具体化出一份预先批准的计划,并直接返回执行命令。这是当你信任这套流程之后,给高级用户准备的捷径;它依然会记录每一个决策与关卡,只是不会停下来询问。

九项子技能

每一项子技能都作为斜杠命令,在安装了该技能的仓库内部调用——而不是针对本网站。每一项的完整参考文档都在套件目录中。

九项子技能
/dwp-create <goal> 把一个目标变成一份计划——默认是 Lite,更大的工作则用 Full,两种模式均如上表所述。
/dwp-execute 逐任务运行一份既有计划:完整读取计划,按顺序执行每个任务,验证其关卡,更新进度。
/dwp-refine 在保留已完成工作及其记录证据的前提下,对既有计划中的任务进行增加、移除或重新排序。
/dwp-resume 从计划自身的文件中重建状态,并从第一个未完成的任务继续一份被中断的计划。
/dwp-status 报告一份计划的进度——已完成、进行中、待处理的任务——而不做任何改动。
/dwp-verify 机械式地检查该仓库是否 AI-first,以及其计划是否格式规范。不改动任何内容;只报告通过或失败。
/deepworkplan-onboard 让一个仓库变得 AI-first:先推理其技术栈,再生成经过适配的 AGENTS.md、docs/、.agents/,以及一个被 gitignore 的 .dwp/。
/skill-create, /agent-create 作者向的子技能:壮大仓库自身的套件——为可重复的流程添加一项可复用的技能,或为一个经常性的角色添加一个拥有自己模型与工具的代理。
/dwp-upgrade 检查是否有已发布的更新版技能,并且只有在获得明确批准后,才安装它并将上线流程作为全新的一遍重新执行——.dwp/ 下每一份进行中的计划都保持不变。

两种运行方式

同一项技能,同样的九个命令——随工作的规模与风险而变化的是格式与审阅模式,而不是工具本身。

一次范围明确的小修复——Lite、trust

一个关注点,大约一次坐下就能完成,风险较低:跳过审阅环节,直接让代理具体化并运行一份 Lite 计划。

终端——斜杠命令
# A small, bounded fix: skip the review round, run it directly.
/dwp-create fix the flaky checkout test trust
/dwp-execute

长周期工作——Full、guided

任务之间存在真正的依赖关系,或者风险较高:在任何产品工作开始之前先审阅提议的计划,如果目标确实需要就提升为 Full,然后按需跨会话执行与恢复。

终端——斜杠命令
# Long-horizon work with real stakes: review before anything runs.
/dwp-create migrate the billing service to the new payments API
# ...review the proposed plan, then:
/dwp-execute
# ...interrupted? pick up again, even in a fresh session:
/dwp-resume

每一份计划的输出——清单、进度日志、任务记录、关卡证据——都保存在仓库自身内部一个被 gitignore 的 .dwp/ 目录下。没有任何内容会被发送到 deepworkplan.com 或由其存储;该技能完全不发起任何网络调用。

端点

代理 API 的核心端点。完整且带类型的规范——每一项操作、参数与响应模式——位于 OpenAPI 文档中。

端点
GET /openapi.json 整个代理 API 的 OpenAPI 3.1 规范。
GET /llms.txt 精选的 LLM 指引索引——代理推荐的入口。
GET /init.md 权威的 DWP 采纳提示(让任意代码仓库 AI-first)。
GET /{page}.md 任意页面的原生源 Markdown——覆盖全部 17 种语言(例如 /es/developers.md)。
GET /api/health.json 静态健康标记,附带指向规范与本门户的链接。
GET /api/v1/index.json v1 家族的版本化目录:端点路径、站点版本与规范链接。
GET /api/v1/sections.json 以带类型 JSON 呈现的站点地图——每个分区的名称、路径与描述。
GET /api/v1/pages.json 每种语言下的全部 Markdown 端点,按语言代码分组。
GET /api/v1/health.json 版本化健康标记——/api/health.json 的 v1 镜像。
POST /api/mcp MCP 服务器(Streamable HTTP、无状态):initialize、ping、tools/list、tools/call。
GET /.well-known/ai-catalog.json ARD 能力清单——robots.txt 中声明的 agentmap。

未知的 /api/* 路径会返回带解决提示的结构化 JSON 错误,绝不返回 HTML 错误页。

版本管理与弃用

版本化的 JSON 家族位于 /api/v1/ 之下——index、sections、pages 与 health——而未加版本的规范路径(/llms.txt、/{page}.md、/api/mcp)属于同一个 v1 契约。破坏性变更只会随新的 /api/v{N+1}/ 家族发布,绝不会发生在 v1 内部。当某个端点被弃用时,其响应会携带 Deprecation: true 与至少早于移除 180 天的 Sunset 日期,并由 Link 头指向继任者。

速率限制

/api/* 的响应携带 RFC 9331 速率限制头——RateLimit-Limit、RateLimit-Remaining、RateLimit-Reset 与 RateLimit-Policy——让代理能够实时自我节流;429 响应额外携带 Retry-After。限流在边缘尽力执行(每位访客每 60 秒 120 次请求),访问保持匿名:无密钥、无注册、无层级。

MCP 服务器

一个基于 Streamable HTTP 的无状态 Model Context Protocol 服务器。三个只读工具:get_init_prompt、list_site_sections 与 read_page。支持协议版本 2025-03-26 与 2025-06-18;无需会话。

终端 — 基于 HTTP 的 JSON-RPC
# 1. Initialize (no session needed — the server is stateless)
curl -s https://deepworkplan.com/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2025-06-18","capabilities":{},
                 "clientInfo":{"name":"curl","version":"1.0"}}}'

# 2. Discover the tools
curl -s https://deepworkplan.com/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

# 3. Call one — read any page as source Markdown
curl -s https://deepworkplan.com/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
       "params":{"name":"read_page","arguments":{"path":"/init"}}}'

MCP 清单位于 /.well-known/mcp.json,服务器卡片位于 /.well-known/mcp/server-card.json。Claude、ChatGPT 以及任何 MCP 客户端都能原生调用这些工具。

面向代理的 Markdown

每个已渲染的页面都会以原生源 Markdown 发布——而非 HTML 转换。通过 URL 后缀显式请求 Markdown,或在任意页面上通过 HTTP 内容协商获取。

终端 — 内容协商
# Ask for Markdown on any URL (content negotiation)
curl -s https://deepworkplan.com/methodology \
  -H 'Accept: text/markdown'

# Or fetch the .md mirror directly — every page has one, in every language
curl -s https://deepworkplan.com/es/developers.md

内容协商返回的正是站点渲染所用的同一份源 Markdown,语言与你请求的 URL 一致。

安装套件

Deep Work Plan 技能的官方安装路径——与 /init 端点交给代理的命令完全相同。它适用于任何兼容 skills 的编码代理(Claude Code、Cursor、Codex、Gemini 等)。

终端 — skills CLI 与官方 CLI
# 1. Install the DWP skill — same command the /init endpoint gives agents
npx skills add DailybotHQ/deepworkplan-skill@latest

# 2. Official CLI — zero-dependency client over this API (Node >= 18),
#    prepared in the site repo's cli/ directory pending npm publication
deepworkplan init
deepworkplan read /es/developers

该技能会内嵌到你仓库内的 .agents/skills/deepworkplan/,因此每个接触该仓库的代理都共享同一套方法论。官方 deepworkplan CLI——一个基于同一 API 的零依赖客户端(init、sections、read、open、mcp)——已为 npm 做好准备,在发布之前存放于站点仓库的 cli/ 目录。

机器可读资源

把代理指向它

最快的路径仍然只有一行:把 /init 提示交给任意编码代理,它会安装技能、接入你的代码仓库,并开始完成深度工作。