--- 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