```
feat(engine): 添加技能查看工具并优化异步任务管理 - 添加SkillViewTool到引擎加载器中,增强技能管理功能 - 在AgentLoop中引入_active_direct_task来跟踪活跃任务 - 实现直接任务执行时的同步处理逻辑 - 更新工具实例化方式以支持依赖注入 feat(config): 增加智能体运行时参数配置支持 - 扩展AgentDefaultsConfig添加max_tokens和temperature字段 - 实现配置解析函数_first_config_value处理多个配置源 - 支持通过Web API动态更新智能体运行时参数 - 添加前端页面配置表单和验证逻辑 refactor(provider): 统一最大令牌数参数类型为可选整型 - 将所有LLM提供者的max_tokens参数改为int | None类型 - 为AnthropicProvider实现模型特定的最大令牌数默认值 - 调整参数传递逻辑,优先级:调用参数 > 配置文件 > 模型默认值 - 移除硬编码的默认值,改用条件判断 feat(process): 增强事件投影功能 - 添加工具调用开始/结束事件的映射逻辑 - 实现技能激活事件的识别和展示 - 添加辅助函数处理工具调用名称和参数提取 - 优化运行记录关联逻辑,提升事件匹配准确性 fix(web): 更新网络请求客户端信任环境设置 - 将WebFetchTool和WebSearchTool的trust_env参数设为True - 确保HTTP客户端能够正确使用系统代理配置 - 修复可能的网络连接问题 test: 添加配置加载和事件投影相关测试 - 新增智能体默认参数配置测试用例 - 实现API配置持久化和重载测试 - 添加技能卡片和工具事件的投影测试 ```
This commit is contained in:
3
skills/_index/disabled.json
Normal file
3
skills/_index/disabled.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"items": []
|
||||
}
|
||||
13
skills/_index/published.json
Normal file
13
skills/_index/published.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"items": [
|
||||
"outlook-mail",
|
||||
"filesystem-operation",
|
||||
"terminal-operation",
|
||||
"web-operation",
|
||||
"utility-tools",
|
||||
"skills-admin",
|
||||
"cron-scheduler",
|
||||
"memory-management",
|
||||
"officebench-mcp"
|
||||
]
|
||||
}
|
||||
3
skills/cron-scheduler/current.json
Normal file
3
skills/cron-scheduler/current.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
13
skills/cron-scheduler/skill.json
Normal file
13
skills/cron-scheduler/skill.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "定时任务和周期性调度。支持标准 cron 表达式、一次性提醒和持久化任务。",
|
||||
"display_name": "cron-scheduler",
|
||||
"lineage": [],
|
||||
"name": "cron-scheduler",
|
||||
"owners": ["system"],
|
||||
"source_kind": "initial",
|
||||
"status": "active",
|
||||
"tags": ["cron", "scheduler", "timer", "periodic"],
|
||||
"updated_at": "2026-05-26T00:00:00.000000+00:00"
|
||||
}
|
||||
34
skills/cron-scheduler/versions/v0001/SKILL.md
Normal file
34
skills/cron-scheduler/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
name: cron-scheduler
|
||||
description: 定时任务和周期性调度。支持标准 cron 表达式、一次性提醒和持久化任务。
|
||||
tools:
|
||||
- cron
|
||||
---
|
||||
|
||||
# Cron Scheduler — 定时任务调度
|
||||
|
||||
基于 cron 表达式的定时任务和一次性提醒。
|
||||
|
||||
## 工具说明
|
||||
|
||||
### cron
|
||||
创建和管理 Beaver 定时通知或 Task。
|
||||
- `action` (str): `add` | `list` | `remove` | `toggle` | `run`
|
||||
- `message` (str): 触发时执行的任务说明,`add` 时必填
|
||||
- `schedule` (str): 调度表达式,例如 `every 15m`、`0 9 * * *` 或 ISO 时间
|
||||
- `every_seconds` (int | None): 固定秒级间隔
|
||||
- `cron_expr` (str | None): 标准 5 段 cron 表达式
|
||||
- `tz` (str | None): IANA 时区,例如 `Asia/Shanghai`
|
||||
- `at_iso` (str | None): 一次性任务的 ISO 时间
|
||||
- `job_id` (str | None): `remove`、`toggle`、`run` 目标任务 ID
|
||||
- `enabled` (bool | None): `toggle` 时设置启停状态
|
||||
- `mode` (str | None): `notification` 或 `task`
|
||||
- `requires_followup` (bool | None): task 模式下是否需要用户跟进
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 避开 :00 和 :30 整点分钟,分散负载
|
||||
2. 一次性提醒优先使用 `at_iso` 或清晰的 `schedule`
|
||||
3. 需要持续提醒时使用 `mode="notification"`,需要 Task 跟踪时才用 `mode="task"`
|
||||
4. 定期用 `action="list"` 确认任务是否按预期调度
|
||||
5. 任务触发时 `message` 会完整执行,确保内容自包含
|
||||
22
skills/cron-scheduler/versions/v0001/version.json
Normal file
22
skills/cron-scheduler/versions/v0001/version.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"change_reason": "Initial skill for cron scheduling",
|
||||
"content_hash": "placeholder",
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"created_by": "system",
|
||||
"frontmatter": {
|
||||
"description": "定时任务和周期性调度。支持标准 cron 表达式、一次性提醒和持久化任务。",
|
||||
"name": "cron-scheduler",
|
||||
"tools": ["cron"]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "initial_skills",
|
||||
"source_kind": "initial"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "cron-scheduler",
|
||||
"summary": "Cron Scheduler — 基于 cron 表达式的定时任务和一次性提醒",
|
||||
"summary_hash": "placeholder",
|
||||
"tool_hints": ["cron"],
|
||||
"version": "v0001"
|
||||
}
|
||||
3
skills/filesystem-operation/current.json
Normal file
3
skills/filesystem-operation/current.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
13
skills/filesystem-operation/skill.json
Normal file
13
skills/filesystem-operation/skill.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "本地文件系统读写、搜索和目录操作。支持读取、写入、修改、搜索文件和目录遍历。",
|
||||
"display_name": "filesystem-operation",
|
||||
"lineage": [],
|
||||
"name": "filesystem-operation",
|
||||
"owners": ["system"],
|
||||
"source_kind": "initial",
|
||||
"status": "active",
|
||||
"tags": ["filesystem", "file", "io", "directory"],
|
||||
"updated_at": "2026-05-26T00:00:00.000000+00:00"
|
||||
}
|
||||
50
skills/filesystem-operation/versions/v0001/SKILL.md
Normal file
50
skills/filesystem-operation/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
name: filesystem-operation
|
||||
description: 本地文件系统读写、搜索和目录操作。支持读取、写入、修改、搜索文件和目录遍历。
|
||||
tools:
|
||||
- read_file
|
||||
- write_file
|
||||
- patch_file
|
||||
- search_files
|
||||
- list_directory
|
||||
---
|
||||
|
||||
# Filesystem Operation — 文件系统操作
|
||||
|
||||
本地文件系统工具集,用于读写和搜索项目文件。
|
||||
|
||||
## 工具说明
|
||||
|
||||
### read_file
|
||||
读取本地文件内容。
|
||||
- 使用 `skill_view` 查看文件预览
|
||||
- 大文件会分页返回,可通过 offset/limit 控制
|
||||
|
||||
### write_file
|
||||
写入新文件或覆盖已有文件。
|
||||
- 创建新文件时自动创建父目录
|
||||
- 写入前确认不会覆盖重要配置
|
||||
|
||||
### patch_file
|
||||
精确修改文件中的指定内容。
|
||||
- 通过搜索-替换方式修改
|
||||
- 适用于局部更新,避免整文件重写
|
||||
|
||||
### search_files
|
||||
在项目中搜索文件名或内容。
|
||||
- 支持 glob 模式匹配
|
||||
- 支持按内容搜索
|
||||
- 支持限制搜索目录深度
|
||||
|
||||
### list_directory
|
||||
列出目录内容。
|
||||
- 可递归列出子目录
|
||||
- 支持过滤文件类型
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 优先使用 `read_file` 查看文件内容,再决定修改方案
|
||||
2. 小范围修改用 `patch_file`,大范围用 `write_file`
|
||||
3. 搜索文件时先确认路径是否存在
|
||||
4. 修改前确认文件编码(默认 UTF-8)
|
||||
5. 敏感文件(.env、密钥等)不写入版本控制
|
||||
22
skills/filesystem-operation/versions/v0001/version.json
Normal file
22
skills/filesystem-operation/versions/v0001/version.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"change_reason": "Initial skill for local filesystem operations",
|
||||
"content_hash": "placeholder",
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"created_by": "system",
|
||||
"frontmatter": {
|
||||
"description": "本地文件系统读写、搜索和目录操作。支持读取、写入、修改、搜索文件和目录遍历。",
|
||||
"name": "filesystem-operation",
|
||||
"tools": ["read_file", "write_file", "patch_file", "search_files", "list_directory"]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "initial_skills",
|
||||
"source_kind": "initial"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "filesystem-operation",
|
||||
"summary": "Filesystem Operation — 本地文件系统操作工具集",
|
||||
"summary_hash": "placeholder",
|
||||
"tool_hints": ["read_file", "write_file", "patch_file", "search_files", "list_directory"],
|
||||
"version": "v0001"
|
||||
}
|
||||
3
skills/memory-management/current.json
Normal file
3
skills/memory-management/current.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
13
skills/memory-management/skill.json
Normal file
13
skills/memory-management/skill.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "持久化记忆管理。存储用户信息、项目上下文、偏好和反馈,实现跨会话记忆。",
|
||||
"display_name": "memory-management",
|
||||
"lineage": [],
|
||||
"name": "memory-management",
|
||||
"owners": ["system"],
|
||||
"source_kind": "initial",
|
||||
"status": "active",
|
||||
"tags": ["memory", "persistence", "context", "preferences"],
|
||||
"updated_at": "2026-05-26T00:00:00.000000+00:00"
|
||||
}
|
||||
32
skills/memory-management/versions/v0001/SKILL.md
Normal file
32
skills/memory-management/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
name: memory-management
|
||||
description: 持久化记忆管理。存储用户信息、项目上下文、偏好和反馈,实现跨会话记忆。
|
||||
tools:
|
||||
- memory
|
||||
---
|
||||
|
||||
# Memory Management — 记忆管理
|
||||
|
||||
持久化记忆系统,保存用户角色、项目上下文、偏好反馈等跨会话信息。
|
||||
|
||||
## 工具说明
|
||||
|
||||
### memory
|
||||
管理记忆条目(增删改查)。
|
||||
- `action` (str): `add` | `replace` | `remove`
|
||||
- `target` (str): `user` 或 `memory`
|
||||
- `content` (str | None): `add` 和 `replace` 时的新内容
|
||||
- `old_text` (str | None): `replace` 和 `remove` 时定位旧条目的唯一短文本
|
||||
- 记忆目标:
|
||||
- `user`: 用户角色、职责、知识背景、稳定偏好
|
||||
- `memory`: 项目约定、环境事实、稳定工具经验
|
||||
- 支持自动保存和检索
|
||||
- 跨会话持久化
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 了解用户角色偏好后及时保存到 `user` 类型
|
||||
2. 用户明确要求记住的内容立即保存
|
||||
3. 过时的记忆及时更新或删除
|
||||
4. 不保存可以从代码/git 推导出的信息
|
||||
5. 记忆是辅助参考,当前上下文和文件状态优先级更高
|
||||
22
skills/memory-management/versions/v0001/version.json
Normal file
22
skills/memory-management/versions/v0001/version.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"change_reason": "Initial skill for memory management",
|
||||
"content_hash": "placeholder",
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"created_by": "system",
|
||||
"frontmatter": {
|
||||
"description": "持久化记忆管理。存储用户信息、项目上下文、偏好和反馈,实现跨会话记忆。",
|
||||
"name": "memory-management",
|
||||
"tools": ["memory"]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "initial_skills",
|
||||
"source_kind": "initial"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "memory-management",
|
||||
"summary": "Memory Management — 持久化记忆系统,支持跨会话信息存储",
|
||||
"summary_hash": "placeholder",
|
||||
"tool_hints": ["memory"],
|
||||
"version": "v0001"
|
||||
}
|
||||
4
skills/officebench-mcp/current.json
Normal file
4
skills/officebench-mcp/current.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
|
||||
21
skills/officebench-mcp/skill.json
Normal file
21
skills/officebench-mcp/skill.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"created_at": "2026-05-27T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "Guidance for OfficeBench evaluation tasks. Use the registered mcp_officebench_* tools to inspect and edit OfficeBench files, spreadsheets, documents, emails, calendars, PDFs, and answer files.",
|
||||
"display_name": "officebench-mcp",
|
||||
"lineage": [],
|
||||
"name": "officebench-mcp",
|
||||
"owners": [
|
||||
"system"
|
||||
],
|
||||
"source_kind": "workspace",
|
||||
"status": "active",
|
||||
"tags": [
|
||||
"officebench",
|
||||
"mcp",
|
||||
"evaluation",
|
||||
"office"
|
||||
],
|
||||
"updated_at": "2026-05-27T00:00:00.000000+00:00"
|
||||
}
|
||||
|
||||
190
skills/officebench-mcp/versions/v0001/SKILL.md
Normal file
190
skills/officebench-mcp/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,190 @@
|
||||
---
|
||||
name: officebench-mcp
|
||||
description: Guidance for OfficeBench evaluation tasks. Use the registered mcp_officebench_* tools to inspect and edit OfficeBench files, spreadsheets, documents, emails, calendars, PDFs, and answer files.
|
||||
always: true
|
||||
tools:
|
||||
- mcp_officebench_excel_read_file
|
||||
- mcp_officebench_excel_set_cell
|
||||
- mcp_officebench_excel_delete_cell
|
||||
- mcp_officebench_excel_create_new_file
|
||||
- mcp_officebench_excel_convert_to_pdf
|
||||
- mcp_officebench_word_read_file
|
||||
- mcp_officebench_word_write_to_file
|
||||
- mcp_officebench_word_create_new_file
|
||||
- mcp_officebench_word_convert_to_pdf
|
||||
- mcp_officebench_email_list_emails
|
||||
- mcp_officebench_email_read_email
|
||||
- mcp_officebench_email_send_email
|
||||
- mcp_officebench_calendar_create_event
|
||||
- mcp_officebench_calendar_list_events
|
||||
- mcp_officebench_calendar_delete_event
|
||||
- mcp_officebench_pdf_read_file
|
||||
- mcp_officebench_pdf_convert_to_word
|
||||
- mcp_officebench_pdf_convert_to_image
|
||||
- mcp_officebench_ocr_recognize_file
|
||||
- mcp_officebench_shell_command
|
||||
- mcp_officebench_shell_list_directory
|
||||
- mcp_officebench_shell_read_file
|
||||
- mcp_officebench_shell_write_file
|
||||
- mcp_officebench_shell_copy_file
|
||||
- mcp_officebench_system_finish_task
|
||||
- mcp_officebench_system_get_status
|
||||
- mcp_officebench_image_convert_to_pdf
|
||||
---
|
||||
|
||||
# OfficeBench MCP Skill
|
||||
|
||||
Use this skill for OfficeBench evaluation runs. OfficeBench task files live in the OfficeBench MCP server, not in Beaver's local filesystem. Complete the task by calling real `mcp_officebench_*` tools.
|
||||
|
||||
## Critical Rules
|
||||
|
||||
1. Use actual Beaver tool calls only. Do not print XML, DSML, JSON, or markdown that describes a tool call.
|
||||
2. Never invent tool names. If you need to find files, use `mcp_officebench_shell_list_directory` or `mcp_officebench_shell_command`.
|
||||
3. Do not use Beaver local filesystem, local runtime, local terminal, or local code tools for OfficeBench files.
|
||||
4. Paths are relative to `/testbed` in the OfficeBench MCP container, such as `data/score.xlsx`.
|
||||
5. If the task context gives a `workspace_id`, pass that same `workspace_id` argument in every OfficeBench MCP tool call that supports it.
|
||||
6. Inspect files before editing them.
|
||||
7. Verify the requested output file or edited cell exists before finishing.
|
||||
8. Finish every task with `mcp_officebench_system_finish_task`.
|
||||
|
||||
## Tool Names And Use
|
||||
|
||||
### Excel
|
||||
|
||||
Use these for `.xlsx` files:
|
||||
|
||||
- `mcp_officebench_excel_read_file`: read workbook sheets and cell values.
|
||||
- Required: `file_path`
|
||||
- Optional: `sheet_name`, `workspace_id`
|
||||
- `mcp_officebench_excel_set_cell`: write one cell.
|
||||
- Required: `file_path`, `row`, `col`, `value`
|
||||
- Optional: `sheet_name`, `workspace_id`
|
||||
- Rows and columns are 1-based.
|
||||
- `mcp_officebench_excel_delete_cell`: clear one cell.
|
||||
- Required: `file_path`, `row`, `col`
|
||||
- Optional: `sheet_name`, `workspace_id`
|
||||
- `mcp_officebench_excel_create_new_file`: create a workbook.
|
||||
- Required: `file_path`
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_excel_convert_to_pdf`: convert an Excel file to PDF.
|
||||
- Required: `file_path`
|
||||
- Optional: `workspace_id`
|
||||
|
||||
Typical Excel sequence:
|
||||
|
||||
1. Call `mcp_officebench_shell_list_directory` on `data`.
|
||||
2. Call `mcp_officebench_excel_read_file` on the target workbook.
|
||||
3. Identify the exact row and column.
|
||||
4. Call `mcp_officebench_excel_set_cell`.
|
||||
5. Read the workbook again or use status/listing to verify.
|
||||
6. Call `mcp_officebench_system_finish_task`.
|
||||
|
||||
For the common task "change Bob's midterm1 score to 100 in score.xlsx", inspect `data/score.xlsx`, find Bob's row and the `midterm1` column, then call `mcp_officebench_excel_set_cell` with that row, that column, and value `100`.
|
||||
|
||||
### Word
|
||||
|
||||
Use these for `.docx` files:
|
||||
|
||||
- `mcp_officebench_word_read_file`: read all paragraphs.
|
||||
- Required: `file_path`
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_word_write_to_file`: overwrite or append text.
|
||||
- Required: `file_path`, `text`
|
||||
- Optional: `append`, `workspace_id`
|
||||
- `mcp_officebench_word_create_new_file`: create a new Word document.
|
||||
- Required: `file_path`
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_word_convert_to_pdf`: convert Word to PDF.
|
||||
- Required: `file_path`
|
||||
- Optional: `workspace_id`
|
||||
|
||||
Preserve exact spelling, capitalization, punctuation, and line order from source files.
|
||||
|
||||
### Email
|
||||
|
||||
Use these for email tasks:
|
||||
|
||||
- `mcp_officebench_email_list_emails`: list available `.eml` messages.
|
||||
- Optional: `folder`, `workspace_id`
|
||||
- `mcp_officebench_email_read_email`: read one email.
|
||||
- Required: `email_path`
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_email_send_email`: create/send an email artifact.
|
||||
- Required: `to`, `subject`, `body`
|
||||
- Optional: `attachments`, `workspace_id`
|
||||
|
||||
For email-search tasks, final answers should use plain text with literal lines like `Subject: ...`. Do not add markdown labels.
|
||||
|
||||
### Calendar
|
||||
|
||||
Use these for calendar `.ics` tasks:
|
||||
|
||||
- `mcp_officebench_calendar_list_events`: inspect calendar events.
|
||||
- Optional: `calendar_path`, `workspace_id`
|
||||
- `mcp_officebench_calendar_create_event`: create an event.
|
||||
- Required fields depend on the task; include summary/title, start, end, and target calendar when needed.
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_calendar_delete_event`: delete an event.
|
||||
- Required fields depend on the task; inspect events first.
|
||||
- Optional: `workspace_id`
|
||||
|
||||
Use the task's current date/time context when interpreting relative dates.
|
||||
|
||||
### PDF, OCR, And Images
|
||||
|
||||
Use these for PDF/image tasks:
|
||||
|
||||
- `mcp_officebench_pdf_read_file`: extract text from a PDF.
|
||||
- Required: `pdf_file_path`
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_pdf_convert_to_word`: convert PDF to Word.
|
||||
- Required: `pdf_file_path`
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_pdf_convert_to_image`: convert one PDF page to an image.
|
||||
- Required: `pdf_file_path`
|
||||
- Optional: `page_number`, `dpi`, `workspace_id`
|
||||
- `mcp_officebench_ocr_recognize_file`: OCR an image.
|
||||
- Required: `image_path`
|
||||
- Optional: `language`, `workspace_id`
|
||||
- `mcp_officebench_image_convert_to_pdf`: convert image to PDF.
|
||||
- Required: `image_path`
|
||||
- Optional: `output_path`, `workspace_id`
|
||||
|
||||
For conversion tasks, create the exact requested filename and verify it exists.
|
||||
|
||||
### Shell And System
|
||||
|
||||
Use these for safe file discovery and text files:
|
||||
|
||||
- `mcp_officebench_shell_list_directory`: list a directory.
|
||||
- Optional: `path`, `workspace_id`
|
||||
- `mcp_officebench_shell_read_file`: read text files such as `.txt`, `.csv`, `.json`, `.md`, `.xml`.
|
||||
- Required: `file_path`
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_shell_write_file`: write text files.
|
||||
- Required: `file_path`, `content`
|
||||
- Optional: `append`, `workspace_id`
|
||||
- `mcp_officebench_shell_copy_file`: copy a file or directory.
|
||||
- Required: `source`, `destination`
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_shell_command`: run shell commands inside the OfficeBench MCP container.
|
||||
- Required: `command`
|
||||
- Optional: `workdir`, `workspace_id`
|
||||
- `mcp_officebench_system_get_status`: inspect filesystem/git status.
|
||||
- Optional: `workspace_id`
|
||||
- `mcp_officebench_system_finish_task`: mark the task complete and optionally write an answer.
|
||||
- Optional: `answer`, `workspace_id`
|
||||
|
||||
Prefer dedicated Office tools for Office documents. Use shell tools for listing directories, copying/renaming files, and reading/writing plain text.
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
Do not do any of the following:
|
||||
|
||||
- Do not call `mcp_officebench_find_in_workspace`; that tool does not exist.
|
||||
- Do not output `<tool_calls>`, `<invoke>`, DSML, or pseudo tool call text.
|
||||
- Do not answer "done" without calling the required OfficeBench tools.
|
||||
- Do not edit guessed paths without first listing or reading relevant files.
|
||||
- Do not use `/testbed` as a literal prefix in path arguments unless a tool explicitly asks for an absolute path.
|
||||
- Do not correct misspellings found in source data. Preserve source text exactly.
|
||||
|
||||
80
skills/officebench-mcp/versions/v0001/version.json
Normal file
80
skills/officebench-mcp/versions/v0001/version.json
Normal file
@ -0,0 +1,80 @@
|
||||
{
|
||||
"change_reason": "Initial OfficeBench MCP skill for evaluation runs",
|
||||
"content_hash": "6afdd5a93ce552f39c1e285fc552059cfada7971e0d5bb91bcd56c6ca608ba17",
|
||||
"created_at": "2026-05-27T00:00:00.000000+00:00",
|
||||
"created_by": "codex",
|
||||
"frontmatter": {
|
||||
"always": true,
|
||||
"description": "Guidance for OfficeBench evaluation tasks. Use the registered mcp_officebench_* tools to inspect and edit OfficeBench files, spreadsheets, documents, emails, calendars, PDFs, and answer files.",
|
||||
"name": "officebench-mcp",
|
||||
"tools": [
|
||||
"mcp_officebench_excel_read_file",
|
||||
"mcp_officebench_excel_set_cell",
|
||||
"mcp_officebench_excel_delete_cell",
|
||||
"mcp_officebench_excel_create_new_file",
|
||||
"mcp_officebench_excel_convert_to_pdf",
|
||||
"mcp_officebench_word_read_file",
|
||||
"mcp_officebench_word_write_to_file",
|
||||
"mcp_officebench_word_create_new_file",
|
||||
"mcp_officebench_word_convert_to_pdf",
|
||||
"mcp_officebench_email_list_emails",
|
||||
"mcp_officebench_email_read_email",
|
||||
"mcp_officebench_email_send_email",
|
||||
"mcp_officebench_calendar_create_event",
|
||||
"mcp_officebench_calendar_list_events",
|
||||
"mcp_officebench_calendar_delete_event",
|
||||
"mcp_officebench_pdf_read_file",
|
||||
"mcp_officebench_pdf_convert_to_word",
|
||||
"mcp_officebench_pdf_convert_to_image",
|
||||
"mcp_officebench_ocr_recognize_file",
|
||||
"mcp_officebench_shell_command",
|
||||
"mcp_officebench_shell_list_directory",
|
||||
"mcp_officebench_shell_read_file",
|
||||
"mcp_officebench_shell_write_file",
|
||||
"mcp_officebench_shell_copy_file",
|
||||
"mcp_officebench_system_finish_task",
|
||||
"mcp_officebench_system_get_status",
|
||||
"mcp_officebench_image_convert_to_pdf"
|
||||
]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "officebench_mcp",
|
||||
"source_kind": "workspace"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "officebench-mcp",
|
||||
"summary": "OfficeBench MCP skill for using registered mcp_officebench_* tools correctly during evaluation runs.",
|
||||
"summary_hash": "914d6759650fce29884f648b84929e0482475c3ccd6601e9903c9b8b826dd874",
|
||||
"tool_hints": [
|
||||
"mcp_officebench_excel_read_file",
|
||||
"mcp_officebench_excel_set_cell",
|
||||
"mcp_officebench_excel_delete_cell",
|
||||
"mcp_officebench_excel_create_new_file",
|
||||
"mcp_officebench_excel_convert_to_pdf",
|
||||
"mcp_officebench_word_read_file",
|
||||
"mcp_officebench_word_write_to_file",
|
||||
"mcp_officebench_word_create_new_file",
|
||||
"mcp_officebench_word_convert_to_pdf",
|
||||
"mcp_officebench_email_list_emails",
|
||||
"mcp_officebench_email_read_email",
|
||||
"mcp_officebench_email_send_email",
|
||||
"mcp_officebench_calendar_create_event",
|
||||
"mcp_officebench_calendar_list_events",
|
||||
"mcp_officebench_calendar_delete_event",
|
||||
"mcp_officebench_pdf_read_file",
|
||||
"mcp_officebench_pdf_convert_to_word",
|
||||
"mcp_officebench_pdf_convert_to_image",
|
||||
"mcp_officebench_ocr_recognize_file",
|
||||
"mcp_officebench_shell_command",
|
||||
"mcp_officebench_shell_list_directory",
|
||||
"mcp_officebench_shell_read_file",
|
||||
"mcp_officebench_shell_write_file",
|
||||
"mcp_officebench_shell_copy_file",
|
||||
"mcp_officebench_system_finish_task",
|
||||
"mcp_officebench_system_get_status",
|
||||
"mcp_officebench_image_convert_to_pdf"
|
||||
],
|
||||
"version": "v0001"
|
||||
}
|
||||
|
||||
3
skills/outlook-mail/current.json
Normal file
3
skills/outlook-mail/current.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
13
skills/outlook-mail/skill.json
Normal file
13
skills/outlook-mail/skill.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "通过 Outlook MCP 进行邮件收发、日历管理和会议安排。支持 Graph API 和 on-prem Exchange。",
|
||||
"display_name": "outlook-mail",
|
||||
"lineage": [],
|
||||
"name": "outlook-mail",
|
||||
"owners": ["system"],
|
||||
"source_kind": "initial",
|
||||
"status": "active",
|
||||
"tags": ["outlook", "email", "calendar", "mcp", "microsoft"],
|
||||
"updated_at": "2026-05-26T00:00:00.000000+00:00"
|
||||
}
|
||||
150
skills/outlook-mail/versions/v0001/SKILL.md
Normal file
150
skills/outlook-mail/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,150 @@
|
||||
---
|
||||
name: outlook-mail
|
||||
description: 通过 Outlook MCP 进行邮件收发、日历管理和会议安排。支持 Graph API 和 on-prem Exchange。
|
||||
tools:
|
||||
- mcp_outlook_mcp_mail_list_folders
|
||||
- mcp_outlook_mcp_mail_list_messages
|
||||
- mcp_outlook_mcp_mail_search_messages
|
||||
- mcp_outlook_mcp_mail_get_message
|
||||
- mcp_outlook_mcp_mail_send_email
|
||||
- mcp_outlook_mcp_mail_reply_to_message
|
||||
- mcp_outlook_mcp_mail_forward_message
|
||||
- mcp_outlook_mcp_mail_move_message
|
||||
- mcp_outlook_mcp_mail_delta_sync
|
||||
- mcp_outlook_mcp_calendar_list_events
|
||||
- mcp_outlook_mcp_calendar_create_event
|
||||
- mcp_outlook_mcp_calendar_update_event
|
||||
- mcp_outlook_mcp_calendar_get_schedule
|
||||
- mcp_outlook_mcp_calendar_find_meeting_times
|
||||
- mcp_outlook_mcp_calendar_delta_sync
|
||||
---
|
||||
|
||||
# Outlook MCP — 邮件与日历管理
|
||||
|
||||
通过 MCP server 连接 Outlook(Microsoft Graph / on-prem Exchange),提供邮件和日历的完整操作能力。
|
||||
|
||||
## 邮件工具
|
||||
|
||||
### mcp_outlook_mcp_mail_list_folders
|
||||
列出 Outlook 邮件文件夹。
|
||||
- `top` (int, 默认 50): 返回数量上限
|
||||
|
||||
### mcp_outlook_mcp_mail_list_messages
|
||||
列出指定文件夹的邮件。
|
||||
- `folder` (str, 默认 "inbox"): 文件夹名
|
||||
- `top` (int, 默认 20): 返回条数
|
||||
- `skip` (int, 默认 0): 跳过的条数
|
||||
- `unread_only` (bool, 默认 false): 仅未读
|
||||
|
||||
### mcp_outlook_mcp_mail_search_messages
|
||||
搜索邮件(使用 Graph search 语义)。
|
||||
- `query` (str): 搜索关键词
|
||||
- `folder` (str | None): 限定文件夹
|
||||
- `top` (int, 默认 20): 返回条数
|
||||
|
||||
### mcp_outlook_mcp_mail_get_message
|
||||
读取单封邮件的完整内容。
|
||||
- `message_id` (str): 邮件 ID
|
||||
- `changekey` (str | None): EWS changekey(on-prem 需要)
|
||||
|
||||
### mcp_outlook_mcp_mail_send_email
|
||||
发送新邮件。**幂等操作**,支持 idempotency_key。
|
||||
- `subject` (str): 主题
|
||||
- `body` (str): 正文(支持 HTML)
|
||||
- `to_recipients` (list[str]): 收件人
|
||||
- `cc_recipients` (list[str] | None): 抄送
|
||||
- `bcc_recipients` (list[str] | None): 密送
|
||||
- `idempotency_key` (str | None): 幂等键,防止重复发送
|
||||
|
||||
### mcp_outlook_mcp_mail_reply_to_message
|
||||
回复一封邮件。
|
||||
- `message_id` (str): 原邮件 ID
|
||||
- `comment` (str): 回复内容
|
||||
- `changekey` (str | None): EWS changekey
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_mail_forward_message
|
||||
转发邮件给其他人。
|
||||
- `message_id` (str): 原邮件 ID
|
||||
- `to_recipients` (list[str]): 转发目标
|
||||
- `comment` (str): 附加说明
|
||||
- `cc_recipients` (list[str] | None)
|
||||
- `changekey` (str | None)
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_mail_move_message
|
||||
移动邮件到其他文件夹。
|
||||
- `message_id` (str): 邮件 ID
|
||||
- `destination_folder` (str): 目标文件夹
|
||||
- `changekey` (str | None)
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_mail_delta_sync
|
||||
增量同步邮件变更。支持游标持久化,适合长期同步场景。
|
||||
- `folder` (str, 默认 "inbox"): 文件夹
|
||||
- `delta_link` (str | None): 增量链接(续传时提供)
|
||||
- `top` (int, 默认 50)
|
||||
- `persist_cursor` (bool, 默认 true): 是否持久化游标
|
||||
|
||||
## 日历工具
|
||||
|
||||
### mcp_outlook_mcp_calendar_list_events
|
||||
列出日历事件或日历视图。
|
||||
- `start_time` (str | None): ISO 开始时间,与 end_time 成对提供
|
||||
- `end_time` (str | None): ISO 结束时间
|
||||
- `top` (int, 默认 20)
|
||||
- `skip` (int, 默认 0)
|
||||
|
||||
### mcp_outlook_mcp_calendar_create_event
|
||||
创建日历事件或正式会议邀请。**幂等操作**。
|
||||
- `subject` (str): 主题
|
||||
- `start_time` (str): ISO 开始时间
|
||||
- `end_time` (str): ISO 结束时间
|
||||
- `timezone` (str, 默认 "UTC"): 时区
|
||||
- `body` (str | None): 正文
|
||||
- `location` (str | None): 地点
|
||||
- `attendees` (list[str] | None): 参会人
|
||||
- `is_online_meeting` (bool, 默认 false): 是否创建 Teams 会议
|
||||
- `online_meeting_provider` (str, 默认 "teamsForBusiness"): 在线会议提供商
|
||||
- `transaction_id` (str | None): 事务 ID
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_calendar_update_event
|
||||
更新已有日历事件。
|
||||
- `event_id` (str): 事件 ID
|
||||
- `subject` / `start_time` / `end_time` / `timezone` / `body` / `location` / `attendees`: 可选更新字段
|
||||
- `idempotency_key` (str | None)
|
||||
|
||||
### mcp_outlook_mcp_calendar_get_schedule
|
||||
查询与会人忙闲状态。
|
||||
- `schedules` (list[str]): 要查询的人员列表
|
||||
- `start_time` (str): ISO 开始
|
||||
- `end_time` (str): ISO 结束
|
||||
- `availability_view_interval` (int, 默认 30): 时间间隔(分钟)
|
||||
- `timezone` (str, 默认 "UTC")
|
||||
|
||||
### mcp_outlook_mcp_calendar_find_meeting_times
|
||||
推荐最佳会议时间。
|
||||
- `attendees` (list[str]): 参会人
|
||||
- `start_time` (str): 时间范围开始
|
||||
- `end_time` (str): 时间范围结束
|
||||
- `duration_minutes` (int, 默认 30): 会议时长
|
||||
- `timezone` (str, 默认 "UTC")
|
||||
- `max_candidates` (int, 默认 10): 候选数
|
||||
|
||||
### mcp_outlook_mcp_calendar_delta_sync
|
||||
增量同步日历事件变更。
|
||||
- `start_time` (str): 同步窗口开始
|
||||
- `end_time` (str): 同步窗口结束
|
||||
- `delta_link` (str | None): 增量续传链接
|
||||
- `top` (int, 默认 50)
|
||||
- `persist_cursor` (bool, 默认 true)
|
||||
- `cursor_key` (str, 默认 "calendar:primary")
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 邮件操作优先使用幂等键(idempotency_key)防止重复发送
|
||||
2. 日历时间参数统一使用 ISO 8601 格式
|
||||
3. 增量同步时优先使用返回的 delta_link 续传,避免全量拉取
|
||||
4. 发送邮件前确认收件人地址格式正确
|
||||
5. 创建会议时明确时区,避免跨时区混淆
|
||||
22
skills/outlook-mail/versions/v0001/version.json
Normal file
22
skills/outlook-mail/versions/v0001/version.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"change_reason": "Initial skill for Outlook MCP mail and calendar operations",
|
||||
"content_hash": "placeholder",
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"created_by": "system",
|
||||
"frontmatter": {
|
||||
"description": "通过 Outlook MCP 进行邮件收发、日历管理和会议安排。支持 Graph API 和 on-prem Exchange。",
|
||||
"name": "outlook-mail",
|
||||
"tools": ["mcp_outlook_mcp_mail_list_folders", "mcp_outlook_mcp_mail_list_messages", "mcp_outlook_mcp_mail_search_messages", "mcp_outlook_mcp_mail_get_message", "mcp_outlook_mcp_mail_send_email", "mcp_outlook_mcp_mail_reply_to_message", "mcp_outlook_mcp_mail_forward_message", "mcp_outlook_mcp_mail_move_message", "mcp_outlook_mcp_mail_delta_sync", "mcp_outlook_mcp_calendar_list_events", "mcp_outlook_mcp_calendar_create_event", "mcp_outlook_mcp_calendar_update_event", "mcp_outlook_mcp_calendar_get_schedule", "mcp_outlook_mcp_calendar_find_meeting_times", "mcp_outlook_mcp_calendar_delta_sync"]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "initial_skills",
|
||||
"source_kind": "initial"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "outlook-mail",
|
||||
"summary": "Outlook MCP — 邮件与日历管理。通过 MCP server 连接 Outlook,提供邮件和日历的完整操作能力。",
|
||||
"summary_hash": "placeholder",
|
||||
"tool_hints": ["mcp_outlook_mcp_mail_list_folders", "mcp_outlook_mcp_mail_list_messages", "mcp_outlook_mcp_mail_search_messages", "mcp_outlook_mcp_mail_get_message", "mcp_outlook_mcp_mail_send_email", "mcp_outlook_mcp_mail_reply_to_message", "mcp_outlook_mcp_mail_forward_message", "mcp_outlook_mcp_mail_move_message", "mcp_outlook_mcp_mail_delta_sync", "mcp_outlook_mcp_calendar_list_events", "mcp_outlook_mcp_calendar_create_event", "mcp_outlook_mcp_calendar_update_event", "mcp_outlook_mcp_calendar_get_schedule", "mcp_outlook_mcp_calendar_find_meeting_times", "mcp_outlook_mcp_calendar_delta_sync"],
|
||||
"version": "v0001"
|
||||
}
|
||||
3
skills/skills-admin/current.json
Normal file
3
skills/skills-admin/current.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
13
skills/skills-admin/skill.json
Normal file
13
skills/skills-admin/skill.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "技能(Skill)列表查看、内容加载和草稿管理。用于浏览已发布技能和创建新技能草稿。",
|
||||
"display_name": "skills-admin",
|
||||
"lineage": [],
|
||||
"name": "skills-admin",
|
||||
"owners": ["system"],
|
||||
"source_kind": "initial",
|
||||
"status": "active",
|
||||
"tags": ["skills", "admin", "management", "draft"],
|
||||
"updated_at": "2026-05-26T00:00:00.000000+00:00"
|
||||
}
|
||||
42
skills/skills-admin/versions/v0001/SKILL.md
Normal file
42
skills/skills-admin/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
name: skills-admin
|
||||
description: 技能(Skill)列表查看、内容加载和草稿管理。用于浏览已发布技能和创建新技能草稿。
|
||||
tools:
|
||||
- skills_list
|
||||
- skill_manage
|
||||
- skill_view
|
||||
---
|
||||
|
||||
# Skills Admin — 技能管理
|
||||
|
||||
查看已发布的技能列表、加载技能详情和创建新技能草稿。
|
||||
|
||||
## 工具说明
|
||||
|
||||
### skills_list
|
||||
列出系统中所有可用技能及其描述。
|
||||
- 返回技能名称、描述和版本
|
||||
- 用于浏览当前可用的技能
|
||||
|
||||
### skill_view
|
||||
加载某个技能的完整正文或支持文件。
|
||||
- `name` (str): 技能名称
|
||||
- `file_path` (str | None): 可选的支持文件路径
|
||||
- 不传文件路径时返回 SKILL.md 主内容
|
||||
- 支持按需加载 references/、templates/ 等目录
|
||||
|
||||
### skill_manage
|
||||
创建新技能草稿(draft)。
|
||||
- `action` (str): 仅支持 "create_draft"
|
||||
- `name` (str): 技能名称
|
||||
- `description` (str): 技能描述
|
||||
- `content` (str): 技能正文(SKILL.md 格式)
|
||||
- 创建的草稿需经过 review → publish 流程
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 需要参考某个技能的详细内容时,先 `skills_list` 找到名称,再用 `skill_view` 加载
|
||||
2. 创建新技能时先写清楚 description,便于后续被 selector 选中
|
||||
3. 技能正文使用标准 frontmatter + Markdown 格式
|
||||
4. 支持文件放在 skill 目录的 references/、templates/、scripts/ 等子目录
|
||||
5. Draft 创建后需要走 review/publish 流程才能生效
|
||||
22
skills/skills-admin/versions/v0001/version.json
Normal file
22
skills/skills-admin/versions/v0001/version.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"change_reason": "Initial skill for skills management",
|
||||
"content_hash": "placeholder",
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"created_by": "system",
|
||||
"frontmatter": {
|
||||
"description": "技能(Skill)列表查看、内容加载和草稿管理。用于浏览已发布技能和创建新技能草稿。",
|
||||
"name": "skills-admin",
|
||||
"tools": ["skills_list", "skill_manage", "skill_view"]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "initial_skills",
|
||||
"source_kind": "initial"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "skills-admin",
|
||||
"summary": "Skills Admin — 技能列表查看、内容加载和草稿管理",
|
||||
"summary_hash": "placeholder",
|
||||
"tool_hints": ["skills_list", "skill_manage", "skill_view"],
|
||||
"version": "v0001"
|
||||
}
|
||||
3
skills/terminal-operation/current.json
Normal file
3
skills/terminal-operation/current.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
13
skills/terminal-operation/skill.json
Normal file
13
skills/terminal-operation/skill.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "Shell 命令执行、后台进程管理和 Python 代码执行。支持超时控制和后台运行。",
|
||||
"display_name": "terminal-operation",
|
||||
"lineage": [],
|
||||
"name": "terminal-operation",
|
||||
"owners": ["system"],
|
||||
"source_kind": "initial",
|
||||
"status": "active",
|
||||
"tags": ["terminal", "shell", "command", "process", "execution"],
|
||||
"updated_at": "2026-05-26T00:00:00.000000+00:00"
|
||||
}
|
||||
46
skills/terminal-operation/versions/v0001/SKILL.md
Normal file
46
skills/terminal-operation/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
name: terminal-operation
|
||||
description: Shell 命令执行、后台进程管理和 Python 代码执行。支持超时控制和后台运行。
|
||||
tools:
|
||||
- terminal
|
||||
- process
|
||||
- execute_code
|
||||
---
|
||||
|
||||
# Terminal Operation — 终端与进程管理
|
||||
|
||||
Shell 命令执行、后台进程管理和 Python 代码执行工具集。
|
||||
|
||||
## 工具说明
|
||||
|
||||
### terminal
|
||||
执行 shell 命令。
|
||||
- `command` (str): 要执行的命令
|
||||
- `working_dir` (str, 默认 "."): 工作目录
|
||||
- `timeout` (int, 默认 60): 超时秒数(最大 600)
|
||||
- `background` (bool, 默认 false): 是否后台运行
|
||||
- 后台运行时返回 process_id,可通过 process 工具管理
|
||||
|
||||
### process
|
||||
管理后台进程。
|
||||
- `action` (str): `list` | `log` | `kill`
|
||||
- `process_id` (str | None): 进程 ID
|
||||
- `list`: 列出所有后台进程
|
||||
- `log`: 查看进程日志(最后 12000 字节)
|
||||
- `kill`: 终止进程(先 SIGTERM,5 秒后 SIGKILL)
|
||||
|
||||
### execute_code
|
||||
执行 Python 代码片段。
|
||||
- `code` (str): Python 代码
|
||||
- `language` (str, 默认 "python"): 仅支持 python
|
||||
- `timeout` (int, 默认 30, 最大 120): 执行超时
|
||||
- `working_dir` (str, 默认 "."): 工作目录
|
||||
- 适合快速验证脚本逻辑,不适合长期运行任务
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 长期运行任务使用 `background=true`
|
||||
2. 执行危险命令(rm -rf、dd、格式化等)前必须确认用户意图
|
||||
3. `execute_code` 适合轻量脚本验证,重型任务用 `terminal`
|
||||
4. 后台进程用完后及时 kill 清理
|
||||
5. 注意命令注入风险,不要直接拼接用户输入
|
||||
22
skills/terminal-operation/versions/v0001/version.json
Normal file
22
skills/terminal-operation/versions/v0001/version.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"change_reason": "Initial skill for terminal and process management",
|
||||
"content_hash": "placeholder",
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"created_by": "system",
|
||||
"frontmatter": {
|
||||
"description": "Shell 命令执行、后台进程管理和 Python 代码执行。支持超时控制和后台运行。",
|
||||
"name": "terminal-operation",
|
||||
"tools": ["terminal", "process", "execute_code"]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "initial_skills",
|
||||
"source_kind": "initial"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "terminal-operation",
|
||||
"summary": "Terminal Operation — Shell 命令执行、后台进程管理、Python 代码执行",
|
||||
"summary_hash": "placeholder",
|
||||
"tool_hints": ["terminal", "process", "execute_code"],
|
||||
"version": "v0001"
|
||||
}
|
||||
3
skills/utility-tools/current.json
Normal file
3
skills/utility-tools/current.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
13
skills/utility-tools/skill.json
Normal file
13
skills/utility-tools/skill.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "辅助工具集,包括任务分解(Todo)、任务委托(Delegate)、子 Agent 生成(Spawn)、消息发送和需求澄清(Clarify)。",
|
||||
"display_name": "utility-tools",
|
||||
"lineage": [],
|
||||
"name": "utility-tools",
|
||||
"owners": ["system"],
|
||||
"source_kind": "initial",
|
||||
"status": "active",
|
||||
"tags": ["utility", "delegate", "todo", "spawn", "clarify"],
|
||||
"updated_at": "2026-05-26T00:00:00.000000+00:00"
|
||||
}
|
||||
52
skills/utility-tools/versions/v0001/SKILL.md
Normal file
52
skills/utility-tools/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
name: utility-tools
|
||||
description: 辅助工具集,包括任务分解(Todo)、任务委托(Delegate)、子 Agent 生成(Spawn)、消息发送和需求澄清。
|
||||
tools:
|
||||
- clarify
|
||||
- delegate
|
||||
- send_message
|
||||
- spawn
|
||||
- todo
|
||||
---
|
||||
|
||||
# Utility Tools — 辅助工具集
|
||||
|
||||
任务管理、委托和协作的辅助工具。
|
||||
|
||||
## 工具说明
|
||||
|
||||
### todo (TodoWrite)
|
||||
创建和管理任务列表,跟踪复杂任务的进度。
|
||||
- 适合多步骤、复杂任务时使用
|
||||
- 标记当前正在进行的任务
|
||||
- 完成后立即更新状态
|
||||
|
||||
### delegate (DelegateTool)
|
||||
将任务委托给专门的子 Agent 执行。
|
||||
- 适合独立、可并行的工作
|
||||
- 委托时提供清晰的上下文和目标
|
||||
- 子 Agent 完成后再整合结果
|
||||
|
||||
### spawn (SpawnTool)
|
||||
启动新的 Agent 实例执行特定任务。
|
||||
- 适合需要独立运行的工作
|
||||
- 支持后台运行(不阻塞主流程)
|
||||
|
||||
### send_message (SendMessageTool)
|
||||
与其他 Agent 或团队成员通信。
|
||||
- 适合多 Agent 协作场景
|
||||
- 消息会直接送达目标
|
||||
|
||||
### clarify (ClarifyTool)
|
||||
当需求不明确时向用户提问澄清。
|
||||
- 提供 2-4 个选项供用户选择
|
||||
- 附带推荐选项和理由
|
||||
- 避免模糊提问,给出明确建议
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 复杂任务先创建 Todo 列表,明确步骤
|
||||
2. 可并行的工作使用 Delegate/Spawn 分散执行
|
||||
3. 需求不明确时主动 Clarify,不要猜测
|
||||
4. 多 Agent 协作时保持通信简洁
|
||||
5. 记得到 todo list 更新进度
|
||||
22
skills/utility-tools/versions/v0001/version.json
Normal file
22
skills/utility-tools/versions/v0001/version.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"change_reason": "Initial skill for utility and delegation tools",
|
||||
"content_hash": "placeholder",
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"created_by": "system",
|
||||
"frontmatter": {
|
||||
"description": "辅助工具集,包括任务分解(Todo)、任务委托(Delegate)、子 Agent 生成(Spawn)、消息发送和需求澄清。",
|
||||
"name": "utility-tools",
|
||||
"tools": ["clarify", "delegate", "send_message", "spawn", "todo"]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "initial_skills",
|
||||
"source_kind": "initial"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "utility-tools",
|
||||
"summary": "Utility Tools — 任务管理、委托和协作辅助工具集",
|
||||
"summary_hash": "placeholder",
|
||||
"tool_hints": ["clarify", "delegate", "send_message", "spawn", "todo"],
|
||||
"version": "v0001"
|
||||
}
|
||||
3
skills/web-operation/current.json
Normal file
3
skills/web-operation/current.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"current_version": "v0001"
|
||||
}
|
||||
13
skills/web-operation/skill.json
Normal file
13
skills/web-operation/skill.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"current_version": "v0001",
|
||||
"description": "网页内容抓取和搜索引擎查询。支持任意 URL 抓取、多搜索引擎和结构化数据提取。",
|
||||
"display_name": "web-operation",
|
||||
"lineage": [],
|
||||
"name": "web-operation",
|
||||
"owners": ["system"],
|
||||
"source_kind": "initial",
|
||||
"status": "active",
|
||||
"tags": ["web", "search", "fetch", "crawl"],
|
||||
"updated_at": "2026-05-26T00:00:00.000000+00:00"
|
||||
}
|
||||
36
skills/web-operation/versions/v0001/SKILL.md
Normal file
36
skills/web-operation/versions/v0001/SKILL.md
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
name: web-operation
|
||||
description: 网页内容抓取和搜索引擎查询。支持任意 URL 抓取、多搜索引擎和结构化数据提取。
|
||||
tools:
|
||||
- web_fetch
|
||||
- web_search
|
||||
---
|
||||
|
||||
# Web Operation — 网络抓取与搜索
|
||||
|
||||
网页抓取和网络搜索工具集。
|
||||
|
||||
## 工具说明
|
||||
|
||||
### web_fetch
|
||||
获取指定 URL 的网页内容并转换为 Markdown。
|
||||
- 支持 HTML → Markdown 自动转换
|
||||
- 可使用 prompt 参数提取特定信息
|
||||
- 结果由 AI 总结后返回
|
||||
- HTTP URL 自动升级为 HTTPS
|
||||
- 含 15 分钟缓存
|
||||
|
||||
### web_search
|
||||
搜索引擎查询,获取最新网络信息。
|
||||
- 支持 domain 过滤(include/block)
|
||||
- 搜索当前日期的信息使用正确年份
|
||||
- 返回结果包含 URL 链接
|
||||
|
||||
## 使用原则
|
||||
|
||||
1. 优先使用 `web_search` 搜索信息,再用 `web_fetch` 深入阅读
|
||||
2. 获取动态/需要认证的页面可能失败,此时尝试简化请求或换源
|
||||
3. 抓取 API 文档时注意区分 REST API 和 GraphQL
|
||||
4. 搜索结果必须标注来源链接
|
||||
5. 避免短时间内大量请求同一站点(限频)
|
||||
6. 不抓取需要登录认证的私密页面
|
||||
22
skills/web-operation/versions/v0001/version.json
Normal file
22
skills/web-operation/versions/v0001/version.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"change_reason": "Initial skill for web fetching and searching",
|
||||
"content_hash": "placeholder",
|
||||
"created_at": "2026-05-26T00:00:00.000000+00:00",
|
||||
"created_by": "system",
|
||||
"frontmatter": {
|
||||
"description": "网页内容抓取和搜索引擎查询。支持任意 URL 抓取、多搜索引擎和结构化数据提取。",
|
||||
"name": "web-operation",
|
||||
"tools": ["web_fetch", "web_search"]
|
||||
},
|
||||
"parent_version": null,
|
||||
"provenance": {
|
||||
"source": "initial_skills",
|
||||
"source_kind": "initial"
|
||||
},
|
||||
"review_state": "published",
|
||||
"skill_name": "web-operation",
|
||||
"summary": "Web Operation — 网页抓取与网络搜索工具集",
|
||||
"summary_hash": "placeholder",
|
||||
"tool_hints": ["web_fetch", "web_search"],
|
||||
"version": "v0001"
|
||||
}
|
||||
Reference in New Issue
Block a user