mirror of
https://github.com/vxcontrol/pentagi.git
synced 2026-07-20 23:57:11 -04:00
[PR #20] [MERGED] Add Function Tester (ftester) utility and integrate DuckDuckGo and Perplexity search engines #124
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/vxcontrol/pentagi/pull/20
Author: @asdek
Created: 3/26/2025
Status: ✅ Merged
Merged: 3/26/2025
Merged by: @asdek
Base:
master← Head:12-enhancement-duckduckgo-search-and-perplexity📝 Commits (3)
4e0da78feat: added Perplexity and DeepSeek API providers to README.md and updated DeepSeek configurations.332970cfeat: added support for Perplexity and DuckDuckGo search engines.21bd0a1feat: add ftester utility for function testing and debugging📊 Changes
49 files changed (+4746 additions, -289 deletions)
View changed files
📝
.env.example(+5 -0)📝
.github/ISSUE_TEMPLATE/1-bug-report.yml(+1 -1)📝
.vscode/launch.json(+38 -12)📝
Dockerfile(+4 -0)📝
EULA.md(+1 -1)📝
README.md(+252 -6)➕
backend/cmd/ftester/main.go(+160 -0)➕
backend/cmd/ftester/mocks/logs.go(+243 -0)➕
backend/cmd/ftester/mocks/tools.go(+393 -0)➕
backend/cmd/ftester/terminal/output.go(+241 -0)➕
backend/cmd/ftester/worker/args.go(+348 -0)➕
backend/cmd/ftester/worker/executor.go(+413 -0)➕
backend/cmd/ftester/worker/interactive.go(+184 -0)➕
backend/cmd/ftester/worker/tester.go(+668 -0)📝
backend/go.mod(+25 -6)📝
backend/go.sum(+66 -12)➕
backend/migrations/sql/20250322_172248_new_searchengine_types.sql(+50 -0)📝
backend/pkg/config/config.go(+5 -0)📝
backend/pkg/database/containers.sql.go(+8 -0)📝
backend/pkg/database/models.go(+2 -0)...and 29 more files
📄 Description
Description of the Change
Problem
The current PentAGI system lacks tools for direct testing and debugging of individual functions and AI agent behaviors. Additionally, the search capabilities need to be expanded to include more modern providers and the LLM provider selection needs enhancement.
Solution
This PR introduces
ftester, a versatile utility for debugging and testing individual PentAGI functions. It also adds support for DuckDuckGo and Perplexity search engines, updates provider configurations, and improves documentation.Key improvements:
ftesterutility for targeted testing of system functions and AI agent behaviorsType of Change
Areas Affected
Testing and Verification
Test Configuration
Test Steps
Test Results
The tests successfully verified:
Security Considerations
This PR doesn't modify the security model. The ftester utility adheres to the same container isolation principles as the main application. All external API calls use the same security mechanisms already in place.
Performance Impact
Performance testing shows:
Documentation Updates
Deployment Notes
This PR adds new environment variables that should be added to your
.envfile:For users who want to use the new search engines, these variables should be set. The deployment process is the same as before, but with access to new functionality.
Checklist
Code Quality
go fmtandgo vet(for Go code)npm run lint(for TypeScript/JavaScript code)Security
Compatibility
Documentation
Additional Notes
The ftester utility is an extremely powerful tool for development and debugging. It allows developers and security professionals to:
This enables much faster development cycles and more targeted debugging, especially when working with complex AI interactions.
The new search engines also significantly expand PentAGI's research capabilities, providing more diverse sources of information and reducing dependency on any single provider.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.