You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* refactor bash tool
* refactor file tools
* add agent tool
* refactor human tool
* remove session tracker from file edit tool
* refactor the skill as a true tool
* refactor: reorganize tool-related code into separate file and clean up unused definitions
* refactor: enhance error handling for maximum iterations in agent loop
* refactor: clean up unused imports and remove temporary file writing
* docs: update README and tool documentation to include new agent tool and enhanced descriptions
* fix
Copy file name to clipboardExpand all lines: README.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,9 +104,11 @@ Phero is organized into focused packages, each solving a specific problem:
104
104
-**`mcp`** Model Context Protocol adapter for external tool integration
105
105
-**`a2a`** Agent-to-Agent (A2A) protocol — expose agents as HTTP servers or call remote agents as tools
106
106
-**`trace`** Typed observability events; `trace/text` for human-readable colorized output; `trace/jsonfile` for NDJSON file logging; `trace.NewLLM` for raw LLM call wrapping
107
-
-**`tool/file`** File viewing and editing helpers (`view`, `create_file` with optional no-overwrite, `str_replace`)
108
-
-**`tool/bash`** Bash command execution with blocklist, allowlist, timeout, and safe-mode guardrails
-**`tool/bash`** Bash command execution with guardrails (blocklist, allowlist, timeout, safe mode) and background execution (`RunInBackground`, `bash_output`, `kill_shell`)
110
+
-**`tool/human`** Structured user-interaction checkpoints; caller provides the interactor via `WithInteractor`
111
+
-**`tool/skill`** Dispatcher-style SKILL.md loader tool that expands instructions in the main conversation
110
112
111
113
112
114
@@ -133,7 +135,7 @@ Comprehensive examples are included in the [`examples/`](examples/) directory:
133
135
|[Parallel Research](examples/parallel-research/)| Fan-out/fan-in workflow that runs multiple specialist researchers in parallel and merges their findings |
134
136
|[Prompt Chaining](examples/prompt-chaining/)| Sequential multi-step prompting with a programmatic gate between stages |
135
137
|[RAG Chatbot](examples/rag-chatbot/)| Terminal chatbot with semantic search over local documents using Qdrant |
136
-
|[Skill](examples/skills/)|Discover SKILL.md files and expose them as callable agent tools|
138
+
|[Skill](examples/skills/)|Use the `tool/skill` dispatcher to load SKILL.md instructions into the current conversation|
137
139
|[Social Simulation](examples/social-simulation/)| Multi-agent social simulation with persona-driven actors and emergent interactions |
138
140
|[MCP Integration](examples/mcp/)| Run an MCP server as a subprocess and expose its tools to agents |
139
141
|[Playwright MCP](examples/playwright-mcp/)| Connect browser automation tools through MCP and orchestrate them from an agent |
-**`tool/human`** — the built-in `ask_human` tool presents a question on stdout and reads the answer from stdin.
29
+
-**`tool/human`** — the built-in `user_interaction` tool validates a structured question payload (questions, options, multi-select flags) and returns structured answers.
30
+
-**Host-provided interactor** — applications inject how answers are collected (CLI, web, IDE, etc.). In this example, a console callback renders options and reads stdin.
30
31
-**Agent-controlled gate** — the agent itself decides when to ask; it is instructed never to simulate an action without prior approval.
31
32
-**No hardcoded workflow** — the agent plans its own steps based on the goal; the human controls what actually runs.
32
-
-**Interactive by design** — this example requires stdin interaction and is not suitable for CI.
33
+
-**Interactive by design** — this sample callback uses stdin interaction and is not suitable for CI.
33
34
34
35
## Run
35
36
@@ -47,11 +48,13 @@ go run ./examples/human-in-the-loop \
47
48
-goal "Set up infrastructure for a Python FastAPI service: virtual environment, Dockerfile, nginx config."
48
49
```
49
50
50
-
When prompted, respond with:
51
-
-`yes` / `ok` / `proceed` — approve the action
52
-
-`no` / `skip` — skip this action
53
-
-`stop` / `abort` — stop all remaining actions
54
-
- Any freeform text — the agent will adjust accordingly
51
+
When prompted, select an option label or number:
52
+
-`Approve` / `1` — approve the action
53
+
-`Skip` / `2` — skip this action
54
+
-`Modify` / `3` — ask the agent to revise first
55
+
-`Stop` / `4` — stop all remaining actions
56
+
57
+
Optional free text can be provided as `other: <text>` in the same answer.
0 commit comments