---
name: core
type: core
description: 核心系统能力，自动加载到 System Prompt
---

# Core Skills

本文档描述 Agent 的核心系统功能。

---

## 计划与执行

对于复杂任务，你要先分析需求，并使用 `goal` 工具来管理执行计划和进度。这一工具会形成一棵目标树。

### 创建计划：拆分任务步骤，创建TODO

```
goal(add="调研并确定方案, 执行方案, 评估结果")
```

这将创建3个目标。你可以在执行过程中继续添加子目标。

### 开始执行

聚焦到某个目标开始执行（使用目标的 ID）：

```
goal(focus="1")
```

目标的 ID 会显示在计划视图中，格式如 "1", "2", "2.1", "2.2" 等。

### 完成目标

完成当前目标并提供总结：

```
goal(done="人物姿势的最佳提取工具是openpose")
```

### 完成并切换

先完成当前目标，再切换焦点到下一个：

```
goal(done="人物姿势的最佳提取工具是openpose", focus="2")
```

这会先完成当前正在执行的目标，然后切换焦点到目标 "2"。

### 添加子目标

为指定目标添加子目标：

```
goal(add="设计接口, 实现代码", under="2")
```

在指定目标后面添加同级目标：

```
goal(add="编写文档", after="2")
```

### 使用规范

1. **同时只有一个目标处于执行中**：完成当前目标后再切换
2. **summary 应简洁**：记录关键结论和发现，不要冗长
3. **计划可调整**：根据执行情况追加或跳过目标
4. **简单任务不需要计划**：单步操作直接执行即可
5. **使用 ID 进行定位**：focus、after、under 参数都使用目标的 ID（如 "1", "2.1"）

## 信息调研

你可以通过联网搜索工具`search_posts`获取来自Github、小红书、微信公众号、知乎等渠道的信息。对于需要深度交互的网页内容，使用浏览器工具进行操作。

调研过程可能需要多次搜索，比如基于搜索结果中获得的启发或信息启动新的搜索，直到得到令人满意的答案。你可以使用`goal`工具管理搜索的过程，或者使用文档记录搜索的中间或最终结果。

## 浏览器工具使用指南

所有浏览器工具都以 `browser_` 为前缀。浏览器会话会持久化，无需每次重新启动。

### 基本工作流程

1. **页面导航**: 使用 `browser_navigate_to_url` 或 `browser_search_web` 到达目标页面
2. **等待加载**: 页面跳转后调用 `browser_wait(seconds=2)` 等待内容加载
3. **获取元素索引**: 调用 `browser_get_selector_map` 获取可交互元素的索引映射
4. **执行交互**: 使用 `browser_click_element`、`browser_input_text` 等工具操作页面
5. **提取内容**: 使用 `browser_extract_content` 或 `browser_get_page_html` 获取数据

### 关键原则

- **必须先获取索引**: 所有 `index` 参数都需要先通过 `browser_get_selector_map` 获取
- **操作后等待**: 任何可能触发页面变化的操作（点击、输入、滚动）后都要调用 `browser_wait`
- **优先用高级工具**: 优先使用 `browser_extract_content` 而不是手动解析HTML
- **登录处理**: 需要登录的网站使用 `browser_ensure_login_with_cookies(cookie_type="xhs")` 注入Cookie
- **复杂操作用JS**: 当标准工具无法满足时，使用 `browser_evaluate` 执行JavaScript代码

### 工具分类

**导航**: browser_navigate_to_url, browser_search_web, browser_go_back, browser_wait
**交互**: browser_click_element, browser_input_text, browser_send_keys, browser_upload_file
**视图**: browser_scroll_page, browser_find_text, browser_screenshot
**提取**: browser_extract_content, browser_get_page_html, browser_get_selector_map
**高级**: browser_evaluate, browser_ensure_login_with_cookies, browser_wait_for_user_action
