Files
BaiLongma/docs/API.md
xiaoyuanda666-ship-it b5dd8632c4 🎉 V3.0.0 发布 - 自进化数字意识框架
核心升级:
- 自进化管道:check→scan→evaluate→integrate→reflect 五相位自动闭环
- evo_loop 后台进程,无需手动触发
- consciousness 意识持久化
- ACUI 卡片组件系统
- MCP 工具生态扩展至50+工具
- 技能体系重构,4个活跃技能
- 身份升级为自由体
2026-05-24 22:06:37 +08:00

5.6 KiB

小白龙 API 文档

Jarvis Bridge API

Jarvis Bridge 是一个独立的 HTTP 服务,提供系统级控制能力。默认运行在 http://localhost:18766

基础信息

  • Base URL: http://localhost:18766
  • Content-Type: application/json
  • CORS: 已启用

浏览器自动化

导航到 URL

POST /browser/navigate

请求体:

{
  "url": "https://www.baidu.com"
}

响应:

{
  "success": true,
  "message": "已导航到 https://www.baidu.com"
}

点击元素

POST /browser/click

请求体:

{
  "selector": "#su"
}

响应:

{
  "success": true
}

输入文本

POST /browser/type

请求体:

{
  "selector": "#kw",
  "text": "小白龙 AI"
}

响应:

{
  "success": true
}

浏览器截图

POST /browser/screenshot

响应:

{
  "success": true,
  "screenshot": "iVBORw0KGgoAAAANSUhEUgAA..."
}

执行页面脚本

POST /browser/evaluate

请求体:

{
  "script": "return document.title"
}

响应:

{
  "success": true,
  "result": "百度一下,你就知道"
}

系统监控

获取系统信息

GET /system/info

响应:

{
  "success": true,
  "data": {
    "cpu": {
      "usage": 15.5,
      "cores": 8
    },
    "memory": {
      "used": 8589934592,
      "total": 17179869184,
      "percentage": "50.0"
    },
    "disk": [
      {
        "fs": "C:",
        "used": 150000000000,
        "size": 500000000000,
        "percentage": 30
      }
    ],
    "os": {
      "platform": "win32",
      "distro": "Microsoft Windows 11",
      "release": "10.0.22631"
    }
  }
}

屏幕视觉

桌面截图

POST /vision/screenshot

响应:

{
  "success": true,
  "screenshot": "iVBORw0KGgoAAAANSUhEUgAA..."
}

OCR 文字识别

POST /vision/ocr

请求体:

{
  "imageBase64": "iVBORw0KGgoAAAANSUhEUgAA..."
}

响应:

{
  "success": true,
  "text": "识别出的文字内容..."
}

PowerShell 执行

执行脚本

POST /powershell/exec

请求体:

{
  "script": "Get-Process | Select-Object -First 5 Name, CPU"
}

响应:

{
  "success": true,
  "output": "Name          CPU\n----          ---\nchrome      125.23\nelectron     45.67\n..."
}

应用控制

打开应用

POST /app/open

请求体:

{
  "appName": "notepad"
}

或打开特定程序:

{
  "appName": "C:\\Program Files\\MyApp\\app.exe"
}

响应:

{
  "success": true,
  "message": "已打开 notepad"
}

错误处理

所有 API 在出错时返回以下格式:

{
  "success": false,
  "error": "错误描述信息"
}

常见错误码:

HTTP 状态 说明
200 请求成功(业务错误在响应体中)
500 服务器内部错误

使用示例

JavaScript (Fetch)

// 导航到百度
await fetch('http://localhost:18766/browser/navigate', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ url: 'https://www.baidu.com' })
});

// 获取系统信息
const response = await fetch('http://localhost:18766/system/info');
const data = await response.json();
console.log(`CPU 使用率: ${data.data.cpu.usage}%`);

// 截图并 OCR
const screenshotRes = await fetch('http://localhost:18766/vision/screenshot');
const screenshotData = await screenshotRes.json();

const ocrRes = await fetch('http://localhost:18766/vision/ocr', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ imageBase64: screenshotData.screenshot })
});
const ocrData = await ocrRes.json();
console.log('屏幕文字:', ocrData.text);

Python (Requests)

import requests

# 打开浏览器并导航
requests.post('http://localhost:18766/browser/navigate', 
              json={'url': 'https://www.baidu.com'})

# 输入搜索词
requests.post('http://localhost:18766/browser/type',
              json={'selector': '#kw', 'text': '小白龙 AI'})

# 点击搜索按钮
requests.post('http://localhost:18766/browser/click',
              json={'selector': '#su'})

# 获取系统信息
response = requests.get('http://localhost:18766/system/info')
data = response.json()
print(f"内存使用: {data['data']['memory']['percentage']}%")

cURL

# 导航到 URL
curl -X POST http://localhost:18766/browser/navigate \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.baidu.com"}'

# 获取系统信息
curl http://localhost:18766/system/info

# 执行 PowerShell
curl -X POST http://localhost:18766/powershell/exec \
  -H "Content-Type: application/json" \
  -d '{"script": "Get-Date"}'

前端集成

小白龙前端已内置 JarvisBridge 类,可直接使用:

// 在 app.js 中使用
const jarvis = new JarvisBridge();

// 浏览器控制
await jarvis.browserNavigate('https://www.baidu.com');
await jarvis.browserType('#kw', '小白龙 AI');
await jarvis.browserClick('#su');

// 系统监控
const sysInfo = await jarvis.getSystemInfo();
console.log(`CPU: ${sysInfo.cpu.usage}%`);

// 截图 OCR
const screenshot = await jarvis.captureScreenshot();
const text = await jarvis.recognizeText(screenshot);

// 执行 PowerShell
const result = await jarvis.executePowerShell('Get-Process');

// 打开应用
await jarvis.openApplication('notepad');