API 参考文档

dbug.wiki 提供 RESTful API,支持 AI 编码助手和第三方应用直接调用编程错误知识库。 所有 API 基于 HTTPS,返回 JSON 格式数据。

快速开始

基础 URL

https://api.dbug.wiki/api/v1

认证

Authorization: Bearer <token>
GET/api/v1/bugs

获取 Bug 列表(支持分页、筛选、排序)

参数

参数类型默认值说明
pageint1页码
page_sizeint20每页数量
fix_typestring-修复类型筛选
severitystring-严重等级 (high/medium/low)
statusstring-状态 (fixed/open/attention/archived)
searchstring-搜索关键词
sort_bystringupdated_at排序字段
sort_orderstringdesc排序方向 (asc/desc)

示例请求

curl -X GET "https://api.dbug.wiki/api/v1/bugs?page=1&page_size=10&fix_type=端口冲突"

响应示例

{
  "items": [
    {
      "id": "uuid",
      "bug_id": "BUG-003",
      "title": "端口冲突导致服务启动失败",
      "slug": "bug-003",
      "fix_type": "端口冲突解决",
      "severity": "high",
      "status": "fixed",
      "error_signature": "EADDRINUSE.*port.*already",
      "detect_command": "netstat -ano | findstr :PORT",
      "fix_command": "taskkill /PID <PID> /F",
      "root_cause": "端口被其他进程占用",
      "symptoms": "服务无法启动,端口占用错误",
      "solution": "释放端口或切换端口",
      "confidence": 0.90,
      "view_count": 128,
      "search_count": 45
    }
  ],
  "total": 1,
  "page": 1,
  "page_size": 10,
  "total_pages": 1
}
GET/api/v1/bugs/{id}

获取单个 Bug 详情

参数

参数类型默认值说明
idUUID-Bug UUID

示例请求

curl -X GET "https://api.dbug.wiki/api/v1/bugs/550e8400-e29b-41d4-a716-446655440000"

响应示例

{
  "id": "550e8400...",
  "bug_id": "BUG-003",
  "title": "端口冲突导致服务启动失败",
  ...all fields
}
GET/api/v1/bugs/slug/{slug}

通过 slug 获取 Bug

参数

参数类型默认值说明
slugstring-Bug slug,如 bug-003

示例请求

curl -X GET "https://api.dbug.wiki/api/v1/bugs/slug/bug-003"

响应示例

{ ...Bug 详情 }
POST/api/v1/bugs/search

高级搜索 Bug(支持错误签名匹配)

参数

参数类型默认值说明
qstring-搜索关键词/错误日志片段
fix_typestring-修复类型筛选
severitystring-严重等级筛选
statusstring-状态筛选
pageint1页码
page_sizeint20每页数量

示例请求

curl -X POST "https://api.dbug.wiki/api/v1/bugs/search" \
  -H "Content-Type: application/json" \
  -d '{"q": "EADDRINUSE port 3000", "severity": "high"}'

响应示例

{ "items": [...], "total": 5, "page": 1, "page_size": 20, "total_pages": 1 }
GET/api/v1/patterns

获取修复模式列表

参数

参数类型默认值说明
categorystring-分类筛选
statusstringactive状态筛选

示例请求

curl -X GET "https://api.dbug.wiki/api/v1/patterns?category=frontend"

响应示例

{
  "items": [
    {
      "id": "uuid",
      "pattern_id": "A",
      "name": "隐藏 → 禁用",
      "slug": "hide-to-disable",
      "category": "frontend",
      "description": "将条件不满足时隐藏元素改为禁用状态并提示",
      "before_code": "v-if=\"condition\"",
      "after_code": "v-if=\"canAlways\" :disabled=\"!condition\"",
      "confidence": 0.95,
      "status": "active"
    }
  ],
  "total": 10
}
GET/api/v1/patterns/{id}

获取单个模式详情

示例请求

curl -X GET "https://api.dbug.wiki/api/v1/patterns/A"

响应示例

{ ...Pattern 详情 }
POST/api/v1/auth/register

用户注册

请求体

{
  "username": "string",
  "email": "user@example.com",
  "password": "string(min8)"
}

示例请求

curl -X POST "https://api.dbug.wiki/api/v1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{"username":"dev","email":"dev@example.com","password":"Dev123!@#"}'

响应示例

{
  "access_token": "eyJ...",
  "refresh_token": "eyJ...",
  "token_type": "bearer",
  "expires_in": 7200,
  "user": { "id": "...", "username": "dev", "email": "...", "role": "viewer" }
}
POST/api/v1/auth/login

用户登录

请求体

{ "username": "string", "password": "string" }

示例请求

curl -X POST "https://api.dbug.wiki/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123456"}'

响应示例

{ "access_token": "...", "refresh_token": "...", "user": {...} }
POST/api/v1/ai/chat

AI 对话

请求体

{
  "message": "string",
  "model_provider": "bailian|deepseek|openai|local",
  "conversation_id": "uuid(optional)",
  "stream": false
}

示例请求

curl -X POST "https://api.dbug.wiki/api/v1/ai/chat" \
  -H "Content-Type: application/json" \
  -d '{"message":"如何解决端口冲突?","model_provider":"bailian"}'

响应示例

{
  "success": true,
  "provider": "bailian",
  "model": "qwen-plus",
  "content": "端口冲突的解决方案...",
  "conversation_id": "uuid"
}
GET/api/v1/stats需认证

获取全局统计数据(需管理员权限)

示例请求

curl -X GET "https://api.dbug.wiki/api/v1/stats" \
  -H "Authorization: Bearer <token>"

响应示例

{
  "total_bugs": 41,
  "total_patterns": 10,
  "total_users": 128,
  "total_searches": 1520,
  "bugs_by_severity": { "high": 12, "medium": 20, "low": 9 },
  "bugs_by_status": { "fixed": 31, "open": 8, "attention": 2 },
  "bugs_by_fix_type": { "端口冲突": 5, "空值守卫": 4, ... },
  "top_searches": [{"query": "EADDRINUSE", "count": 156}]
}

错误码

状态码说明处理建议
200成功正常处理
201创建成功资源已创建
400请求参数错误检查请求参数格式
401未认证提供有效的 Authorization 头
403权限不足当前角色无此操作权限
404资源不存在检查 ID 或 slug
429请求频率超限等待后重试
500服务器错误联系技术支持
dbug.wiki — 编程常见错误知识库