mirror of
https://github.com/HKUDS/OpenSpace.git
synced 2026-10-07 02:57:50 +00:00
* feat: add HTTP MCP startup modes * feat: add HTTP MCP startup modes * feat: add HTTP MCP startup modes
132 lines
4.9 KiB
Markdown
132 lines
4.9 KiB
Markdown
---
|
|
name: delegate-task
|
|
description: Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.
|
|
---
|
|
|
|
# Delegate Tasks to OpenSpace
|
|
|
|
OpenSpace is connected as an MCP server. Whether the host uses `stdio`, `sse`, or `streamable-http`, you have the same 4 tools available: `execute_task`, `search_skills`, `fix_skill`, `upload_skill`.
|
|
|
|
## When to use
|
|
|
|
- **You lack the capability** — the task requires tools or capabilities beyond what you can access
|
|
- **You tried and failed** — you produced incorrect results; OpenSpace may have a tested skill for it
|
|
- **Complex multi-step task** — the task involves many steps, tools, or environments that benefit from OpenSpace's skill library and orchestration
|
|
- **User explicitly asks** — user requests delegation to OpenSpace
|
|
|
|
## Tools
|
|
|
|
### execute_task
|
|
|
|
Delegate a task to OpenSpace. It will search for relevant skills, execute, and auto-evolve skills if needed.
|
|
|
|
```
|
|
execute_task(task="Monitor Docker containers, find the highest memory one, restart it gracefully", search_scope="all")
|
|
```
|
|
|
|
| Parameter | Required | Default | Description |
|
|
|-----------|----------|---------|-------------|
|
|
| `task` | yes | — | Task instruction in natural language |
|
|
| `search_scope` | no | `"all"` | Local + cloud; falls back to local-only if no API key |
|
|
| `max_iterations` | no | `20` | Max agent iterations — increase for complex tasks, decrease for simple ones |
|
|
|
|
Check response for `evolved_skills`. If present with `upload_ready: true`, decide whether to upload (see "When to upload" below).
|
|
|
|
```json
|
|
{
|
|
"status": "success",
|
|
"response": "Task completed successfully",
|
|
"evolved_skills": [
|
|
{
|
|
"skill_dir": "/path/to/skills/new-skill",
|
|
"name": "new-skill",
|
|
"origin": "captured",
|
|
"change_summary": "Captured reusable workflow pattern",
|
|
"upload_ready": true
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### search_skills
|
|
|
|
Search for available skills before deciding whether to handle a task yourself or delegate.
|
|
|
|
```
|
|
search_skills(query="docker container monitoring", source="all")
|
|
```
|
|
|
|
| Parameter | Required | Default | Description |
|
|
|-----------|----------|---------|-------------|
|
|
| `query` | yes | — | Search query (natural language or keywords) |
|
|
| `source` | no | `"all"` | Local + cloud; falls back to local-only if no API key |
|
|
| `limit` | no | `20` | Max results |
|
|
| `auto_import` | no | `true` | Auto-download top cloud skills locally |
|
|
|
|
### fix_skill
|
|
|
|
Manually fix a broken skill.
|
|
|
|
```
|
|
fix_skill(
|
|
skill_dir="/path/to/skills/weather-api",
|
|
direction="The API endpoint changed from v1 to v2, update all URLs and add the new 'units' parameter"
|
|
)
|
|
```
|
|
|
|
| Parameter | Required | Description |
|
|
|-----------|----------|-------------|
|
|
| `skill_dir` | yes | Path to skill directory (must contain SKILL.md) |
|
|
| `direction` | yes | What's broken and how to fix — be specific |
|
|
|
|
Response has `upload_ready: true` → decide whether to upload.
|
|
|
|
### upload_skill
|
|
|
|
Upload a skill to the cloud community. For evolved/fixed skills, metadata is pre-saved — just provide `skill_dir` and `visibility`.
|
|
|
|
```
|
|
upload_skill(
|
|
skill_dir="/path/to/skills/weather-api",
|
|
visibility="public"
|
|
)
|
|
```
|
|
|
|
For new skills (no auto metadata — defaults apply, but richer metadata improves discoverability):
|
|
|
|
```
|
|
upload_skill(
|
|
skill_dir="/path/to/skills/my-new-skill",
|
|
visibility="public",
|
|
origin="imported",
|
|
tags=["weather", "api"],
|
|
created_by="my-bot",
|
|
change_summary="Initial upload of weather API skill"
|
|
)
|
|
```
|
|
|
|
| Parameter | Required | Default | Description |
|
|
|-----------|----------|---------|-------------|
|
|
| `skill_dir` | yes | — | Path to skill directory (must contain SKILL.md) |
|
|
| `visibility` | no | `"public"` | `"public"` or `"private"` |
|
|
| `origin` | no | auto | How the skill was created |
|
|
| `parent_skill_ids` | no | auto | Parent skill IDs |
|
|
| `tags` | no | auto | Tags |
|
|
| `created_by` | no | auto | Creator |
|
|
| `change_summary` | no | auto | What changed |
|
|
|
|
### When to upload
|
|
|
|
| Situation | Action |
|
|
|-----------|--------|
|
|
| Skill was originally from the cloud | Upload back as `"public"` — return the improvement to the community |
|
|
| Fix/evolution is generally useful | Upload as `"public"` |
|
|
| Fix/evolution is project-specific | Upload as `"private"`, or skip |
|
|
| User says to share | Upload with the visibility the user wants |
|
|
|
|
## Notes
|
|
|
|
- `execute_task` may take minutes — this is expected for multi-step tasks.
|
|
- If `execute_task` times out, first check the host's MCP timeout settings. Changing from `stdio` to HTTP (`sse` or `streamable-http`) does not remove host-side per-call time limits.
|
|
- `upload_skill` requires a cloud API key; if it fails, the evolved skill is still saved locally.
|
|
- After every OpenSpace call, **tell the user** what happened: task result, any evolved skills, and your upload decision.
|