feat(docs): document native tool calling support and update README to clarify standard and additional tools
This commit is contained in:
@@ -5,18 +5,20 @@
|
||||
|
||||
## Architecture
|
||||
- **DualAgentOrchestrator**: Main entry point, coordinates Driver and Guardian agents
|
||||
- **DriverAgent**: Reasons about tasks, plans steps, proposes tool calls
|
||||
- **DriverAgent**: Reasons about tasks, plans steps, proposes tool calls (supports both XML and native tool calling)
|
||||
- **GuardianAgent**: Evaluates tool calls against configured policies
|
||||
- **BaseToolWrapper**: Base class for creating custom tools
|
||||
- **plugins.ts**: Imports and re-exports smartai and other dependencies
|
||||
|
||||
## Standard Tools
|
||||
## Standard Tools (via registerStandardTools)
|
||||
1. **FilesystemTool** - File operations with scoping and exclusion patterns
|
||||
2. **HttpTool** - HTTP requests
|
||||
3. **ShellTool** - Secure shell commands (no injection possible)
|
||||
4. **BrowserTool** - Web page interaction via Puppeteer
|
||||
5. **DenoTool** - Sandboxed TypeScript/JavaScript execution
|
||||
6. **JsonValidatorTool** - JSON validation and formatting
|
||||
|
||||
## Additional Tools (must register manually)
|
||||
6. **JsonValidatorTool** - JSON validation and formatting (NOT in registerStandardTools)
|
||||
|
||||
## Key Features
|
||||
- Token streaming support (`onToken` callback)
|
||||
@@ -25,6 +27,14 @@
|
||||
- Scoped filesystem with exclusion patterns
|
||||
- Result truncation with configurable limits
|
||||
- History windowing to manage token usage
|
||||
- **Native tool calling mode** (`useNativeToolCalling: true`) for providers like Ollama
|
||||
|
||||
## Native Tool Calling
|
||||
When `useNativeToolCalling` is enabled:
|
||||
- Uses provider's built-in tool calling API instead of XML parsing
|
||||
- Tool names become `toolName_actionName` (e.g., `json_validate`)
|
||||
- Streaming includes `[THINKING]` and `[OUTPUT]` markers
|
||||
- More efficient for models that support it
|
||||
|
||||
## Key Dependencies
|
||||
- `@push.rocks/smartai`: Multi-provider AI interface
|
||||
|
||||
Reference in New Issue
Block a user