๐Ÿงช Platform Testing Guide

Welcome to the Opensource AI Agent testing guide. Follow each task to explore every feature of the platform. Each task includes step-by-step instructions, expected outcomes, and tips.

โœฆ Easy tasks for beginners
โœฆ Medium โ€” some configuration
โœฆ Advanced โ€” full power
Your Testing Progress0 / 11 completed
๐Ÿš€
Before You Start
Get the platform ready in 60 seconds
0
Open the Platform & Choose AI Engine
โฑ 1 min
โ–พ
The platform opens with a provider modal. You can use the free local Opensource AI 70B model or connect your own API key.
1
Open http://localhost:5000/app in your browser
2
The AI Provider modal appears โ€” select Opensource AI Agent (free local model)
3
From the dropdown, choose Opensource AI Agent 70B โ€” Default
4
Click Launch Platform โ†’ โ€” the platform loads instantly
๐Ÿ’ก
The modal auto-closes in 0.6 seconds when the AI engine is detected. If you see "Checking AI engine..." it means Ollama is starting up.
Expected Result
โœ“ Platform loads with a dark canvas showing Input โ†’ LLM โ†’ Output nodes
โœ“ Top-right pill shows "Opensource AI Agent"
โœ“ 6 tabs visible: Workflow, Agent, Workbench, AutoML, JupyterLab, API
Open Platform โ†’
โšก
Workflow Builder
Build visual automation pipelines with drag-and-drop
1.1
Build Your First AI Workflow
โฑ 3 min ยท Easy
โ–พ
Create a simple workflow that takes a question, processes it with the AI engine, and outputs the answer.
1
Click the โšก Workflow tab
2
You should see 3 pre-connected nodes: Input 1 โ†’ LLM 2 โ†’ Output 3
3
Click Input 1 node โ†’ in right panel, change the text to: What are the 3 most important trends in AI for 2026?
4
Click โ–ถ Execute button in the toolbar
5
Watch the nodes highlight in sequence and logs appear in the right panel
Expected Result
โœ“ Nodes animate green one by one as they complete
โœ“ AI response appears in the logs panel on the right
โœ“ Output node shows a preview of the result
1.2
Add and Connect New Nodes
โฑ 5 min ยท Easy
โ–พ
Learn to drag nodes from the palette and connect them using the port system.
1
Press Ctrl+K to open the node search panel
2
Type transform โ†’ click Transform to add it to the canvas
3
Drag the orange dot on the right of LLM node โ†’ release on the blue dot on the left of Transform node
4
Click Transform node โ†’ set code to: return "SUMMARY: " + input.toUpperCase().substring(0,200)
5
Connect Transform โ†’ Output, then click โ–ถ Execute
๐Ÿ’ก
To delete a connection, click directly on the line between two nodes. To undo, press Ctrl+Z.
Expected Result
โœ“ All 4 nodes run in sequence
โœ“ Output shows "SUMMARY: " prefix with truncated text
1.3
Load a Template Workflow
โฑ 2 min ยท Easy
โ–พ
Browse the templates library and load a pre-built workflow onto your canvas.
1
Click ๐Ÿ“‹ Templates in the toolbar
2
Browse the categories: AI & LLM, Data, Data Science, Integrations
3
Click "AI Research Agent" template โ†’ click Use Template โ†’
4
The canvas loads with 4 connected nodes โ€” click โ–ถ Execute
Expected Result
โœ“ Template loads instantly on canvas
โœ“ Workflow runs: Input โ†’ Think โ†’ AGI Agent โ†’ Output
โœ“ A research report appears in the output
1.4
Build the Daily Report Workflow
โฑ 10 min ยท Medium
โ–พ
Build the example workflow: Schedule โ†’ Fetch data โ†’ AI analysis โ†’ Email + Slack.
1
Press Ctrl+K โ†’ add a Schedule node. Set interval to daily and time to 08:00
2
Add an HTTP Request node. Set URL to https://httpbin.org/json (test endpoint) and Method to GET
3
Add an LLM node. Set system prompt to: You are a business analyst. Summarise this data into a daily insights report with 3 key findings.
4
Add an Output node. Connect: Schedule โ†’ HTTP โ†’ LLM โ†’ Output
5
Click โ–ถ Execute to test manually
๐Ÿ’ก
For real Google Sheets and Slack, save your API keys in ๐Ÿ”‘ Credentials first, then reference them in the HTTP headers.
Expected Result
โœ“ HTTP node fetches JSON from the test endpoint
โœ“ AI generates a formatted insights report
โœ“ Schedule trigger would run this automatically at 8am
๐Ÿง 
AGI Agent
Autonomous reasoning agent with real-time sensors
2.1
Run Your First AGI Agent Task
โฑ 3 min ยท Easy
โ–พ
Use the AGI Agent tab to run a multi-step reasoning task with live sensor data.
1
Click the ๐Ÿค– Agent tab in the platform
2
Enable sensors: toggle on Time and Weather
3
Type this task: Based on the current time and weather, suggest 3 productive activities for today and explain why each is suitable right now.
4
Set Reasoning Steps to 3
5
Click โ–ถ Run Agent and watch each step appear
Expected Result
โœ“ Agent shows 3 reasoning steps in sequence
โœ“ Response references actual current time
โœ“ Final answer includes 3 context-aware suggestions
2.2
Run a Research Agent Task
โฑ 5 min ยท Medium
โ–พ
Test the agent's multi-step reasoning with a complex research task.
1
Set reasoning steps to 5
2
Enter task: Research the current state of open-source AI models in 2026. Compare the top 5 models by capability, size, and use case. Provide a structured report with a recommendation.
3
Enable all sensors for maximum context
4
Click โ–ถ Run Agent โ€” watch each reasoning step
Expected Result
โœ“ 5 reasoning steps visible with progress
โœ“ Structured report with model comparisons
โœ“ Clear recommendation at the end
โ—ˆ
AI Engine 70B
Test the local Opensource AI model capabilities
3.1
Test AI Chat Completion
โฑ 2 min ยท Easy
โ–พ
Test the AI engine directly via the API tab or workflow.
1
Click the ๐Ÿ”— API tab in the platform
2
Find the POST /llm/chat endpoint and test it
3
Or run this in your terminal:
curl -X POST http://localhost:5000/llm/chat \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"Explain quantum computing in 3 sentences"}],"model":"deepseek-r1:70b"}'
Expected Result
โœ“ Response in under 30 seconds
โœ“ Clear, accurate 3-sentence explanation
3.2
Test AI Code Assistant
โฑ 3 min ยท Easy
โ–พ
Use the built-in AI code assistant in the Workbench tab.
1
Click the ๐Ÿ”ฌ Workbench tab
2
Click the โ–ฒ button in the bottom-right to open the AI Assistant panel
3
Type: Write a PySpark job that reads a CSV, calculates average salary by department, and saves results
4
Click โ†’ Insert into Editor to paste the code
Expected Result
โœ“ AI generates complete PySpark code
โœ“ Code inserts directly into the editor
๐Ÿ”—
Integrations
Connect to external services and APIs
4.1
Test HTTP Integration โ€” Fetch Live Data
โฑ 3 min ยท Easy
โ–พ
Use the HTTP node to fetch live data from a public API and process it with AI.
1
Clear the canvas. Add Input โ†’ HTTP Request โ†’ LLM โ†’ Output
2
Click HTTP Request โ†’ set URL: https://api.coindesk.com/v1/bpi/currentprice.json
3
Click LLM โ†’ set prompt: Analyse this Bitcoin price data and provide a brief market summary in 2 sentences.
4
Click โ–ถ Execute
Expected Result
โœ“ HTTP node fetches live Bitcoin price data
โœ“ AI generates a market summary based on real data
4.2
Test Webhook Trigger
โฑ 5 min ยท Medium
โ–พ
Set up a webhook trigger that receives external HTTP requests and processes them.
1
Add a Webhook node to the canvas. Note the webhook URL shown on the node.
2
Connect: Webhook โ†’ LLM โ†’ Output
3
Click โ–ถ Execute to start listening
4
In a terminal, send a test request to the webhook URL:
curl -X POST http://localhost:5000/webhook/YOUR_NODE_ID \
  -H "Content-Type: application/json" \
  -d '{"message":"Hello from webhook","data":"test payload"}'
Expected Result
โœ“ Webhook node shows "Received" status
โœ“ Workflow executes automatically with the payload
4.3
Save Credentials for Slack / Email
โฑ 3 min ยท Easy
โ–พ
Learn how to securely store API keys and tokens in the Credentials Manager.
1
Click ๐Ÿ”‘ Credentials in the toolbar (or press Ctrl+E)
2
Add a test credential: Name: My Slack Webhook, Type: Webhook URL, Value: https://hooks.slack.com/test
3
Click + Save Credential
4
Confirm it appears in the Saved Credentials list with the value masked
Expected Result
โœ“ Credential saved and visible in the list
โœ“ Value is masked (shows sk-โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข)
๐Ÿ”ฌ
Data Science Workbench
PySpark, Hive SQL, Pig Latin, GPU Analytics
5.1
Run a PySpark Job
โฑ 5 min ยท Medium
โ–พ
Run a distributed PySpark data processing job in your browser.
1
Click the ๐Ÿ”ฌ Workbench tab โ†’ select โšก PySpark
2
Click Basic DataFrame template to load example code
3
Click โ–ถ Run button
4
Or paste this custom code and run it:
from pyspark.sql import SparkSession
import pyspark.sql.functions as F

spark = SparkSession.builder.appName("Test").getOrCreate()

# Create sample data
data = [("Alice", "Engineering", 85000), ("Bob", "Marketing", 72000),
        ("Carol", "Engineering", 92000), ("Dave", "HR", 65000)]
df = spark.createDataFrame(data, ["name", "dept", "salary"])

result = df.groupBy("dept").agg(F.avg("salary").alias("avg_salary"))
result.show()
spark.stop()
Expected Result
โœ“ PySpark initialises and runs the job
โœ“ Table shows avg salary by department
โœ“ Completion message shows execution time
5.2
Run a Hive SQL Query
โฑ 3 min ยท Easy
โ–พ
Run SQL queries on big data using the Hive SQL environment.
1
In Workbench, select ๐Ÿ Hive SQL tab
2
Click SELECT template or paste this query:
SELECT dept, COUNT(*) AS headcount,
       AVG(salary) AS avg_salary,
       MAX(salary) AS max_salary
FROM employees
GROUP BY dept
ORDER BY avg_salary DESC
Expected Result
โœ“ SQL executes via Spark SQL engine
โœ“ Results table appears with department stats
๐Ÿค–
AutoML Pipeline
No-code machine learning from CSV to prediction
6.1
Train an ML Model on the Titanic Dataset
โฑ 5 min ยท Easy
โ–พ
Use the pre-loaded Titanic dataset to train an ML model without writing any code.
1
Click the ๐Ÿค– AutoML tab in the platform
2
Click Use Pre-trained โ†’ select Titanic Dataset
3
Or upload your own CSV โ†’ click Clean Data โ†’ wait for cleaning report
4
Select target column โ†’ choose Classification โ†’ select models to race
5
Click Train Models โ†’ view the leaderboard
6
Click Download Best Model to save the .joblib file
Expected Result
โœ“ Model leaderboard shows accuracy scores
โœ“ XGBoost or Random Forest wins with ~85%+ accuracy
โœ“ Model file downloads successfully
6.2
Make Predictions with Trained Model
โฑ 3 min ยท Easy
โ–พ
Upload new data and get instant predictions from your trained model.
1
In AutoML, scroll to the Predict section
2
Upload a new CSV file with the same columns (without the target column)
3
Click Predict and view results
Expected Result
โœ“ Predictions generated for each row
โœ“ Results downloadable as CSV
๐Ÿ““
JupyterLab
Interactive GPU-accelerated notebooks
7.1
Open JupyterLab and Run a Notebook
โฑ 5 min ยท Easy
โ–พ
Access the integrated JupyterLab environment and run Python code with GPU support.
1
Click the ๐Ÿ““ JupyterLab tab in the platform
2
JupyterLab opens in an iframe โ€” login token: opensourceai-jupyter-2026
3
Create a new Python notebook
4
Paste and run this code in a cell:
import pandas as pd
import numpy as np

# Generate sample dataset
df = pd.DataFrame({
    'dept': np.random.choice(['Eng','Mkt','HR'], 1000),
    'salary': np.random.randint(50000, 120000, 1000)
})

print(df.groupby('dept')['salary'].describe())
print("โœ“ Notebook running successfully!")
Expected Result
โœ“ JupyterLab loads in the iframe
โœ“ Code runs and shows salary statistics
โœ“ "โœ“ Notebook running successfully!" prints
๐Ÿš€
GPU Analytics
cuDF RAPIDS โ€” 50x faster than CPU pandas
8.1
Run GPU-Accelerated Analytics Benchmark
โฑ 5 min ยท Medium
โ–พ
Run a GPU analytics benchmark to see the performance difference between CPU and GPU processing.
1
Go to ๐Ÿ”ฌ Workbench โ†’ ๐Ÿš€ GPU Analytics
2
Click the Benchmark template
3
Click โ–ถ Run
# GPU Benchmark โ€” paste in GPU Analytics tab
import cudf, pandas as pd, numpy as np, time

N = 5_000_000
data = {'a': np.random.rand(N), 'b': np.random.randint(0,100,N)}

# CPU benchmark
t0 = time.time()
pd.DataFrame(data).groupby('b')['a'].mean()
cpu_time = time.time() - t0

# GPU benchmark
t0 = time.time()
cudf.DataFrame(data).groupby('b')['a'].mean()
gpu_time = time.time() - t0

print(f"CPU: {cpu_time:.3f}s | GPU: {gpu_time:.3f}s | Speedup: {cpu_time/gpu_time:.1f}x")
Expected Result
โœ“ Both CPU and GPU jobs complete
โœ“ GPU is 30-60x faster than CPU
โœ“ Speedup ratio shown in output
โއ
Sub-Workflows
Call saved workflows from within other workflows
9.1
Create and Call a Sub-Workflow
โฑ 8 min ยท Advanced
โ–พ
Build a reusable sub-workflow and call it from a main workflow.
1
Create sub-workflow: Build Input โ†’ LLM โ†’ Output. Set Input to: Summarise this text in one sentence:
2
Press Ctrl+S โ†’ name it "AI Summariser" โ†’ save
3
Clear canvas. Click โއ Sub-WF button in toolbar
4
Click Add to Canvas next to "AI Summariser"
5
Connect: Input โ†’ Sub-Workflow โ†’ Output. Execute.
Expected Result
โœ“ Sub-workflow runs inside the main workflow
โœ“ Output shows the summarised text
๐Ÿšจ
Error Handling
Route failures to fallback logic automatically
10.1
Set Up Error Handling Workflow
โฑ 5 min ยท Medium
โ–พ
Load the Error Handling template and test automatic failure routing.
1
Click ๐Ÿ“‹ Templates โ†’ load "Error Handling Workflow"
2
You'll see: Input โ†’ LLM โ†’ Output, with Error Handler below LLM
3
Click Error Handler node โ†’ set Action to fallback โ†’ set fallback value to: AI is temporarily unavailable. Please try again.
4
Click โ–ถ Execute
5
Check the ๐Ÿšจ Errors button in toolbar to view error log
Expected Result
โœ“ Workflow runs successfully end-to-end
โœ“ If any node fails, fallback value is used automatically
โœ“ Error log shows details of any failures
๐Ÿ“ก
REST API
Access all platform features programmatically
11.1
Test All REST API Endpoints
โฑ 5 min ยท Medium
โ–พ
Test the platform's REST API endpoints using curl commands.
1
Health check
curl http://localhost:5000/health
2
Run AGI Agent
curl -X POST http://localhost:5000/agent/run \
  -H "Content-Type: application/json" \
  -d '{"task":"Summarise the benefits of GPU computing in 3 points","steps":3}'
3
List available models
curl http://localhost:5000/api/models
4
Check workbench status
curl http://localhost:5000/workbench/status
Expected Result
โœ“ Health: {"status":"ok","ollama":true}
โœ“ Agent returns structured reasoning response
โœ“ Models lists available Ollama models
๐Ÿ™
GitHub Integration
Create issues, list issues, and commit files from your workflows
1
Generate a GitHub Personal Access Token
โฑ 2 min ยท Easy
โ–พ
You need a GitHub Personal Access Token (PAT) to authenticate API calls. This is like a password that lets your workflow interact with GitHub on your behalf.
2
Click Generate new token โ†’ Generate new token (classic)
3
Give it a name e.g. Opensource AI Agent
4
Set expiration: No expiration (or 90 days for security)
5
Select scopes โ€” tick repo (gives full repository access)
6
Click Generate token โ†’ Copy the token ghp_xxxxxxxxxxxx
โš ๏ธ
The token is shown only once. Copy it immediately and store it somewhere safe before closing the page.
Expected Result
โœ“ Token starts with ghp_ followed by random characters
โœ“ Token is visible on screen โ€” copy it now
2
Save Token in Credentials Manager
โฑ 1 min ยท Easy
โ–พ
Save your GitHub token in the platform's Credentials Manager so it's available to all your GitHub nodes without re-entering it every time.
1
Open the platform at http://localhost:5000/app
2
Click ๐Ÿ”‘ Credentials in the toolbar (or press Ctrl+E)
3
Fill in: Service Name = GitHub, Type = API Key, Value = your ghp_xxx token
4
Click + Save Credential
๐Ÿ’ก
Credentials are stored locally in your browser. The GitHub node will automatically use the saved token โ€” you don't need to paste it into every node.
Expected Result
โœ“ GitHub credential appears in the saved list
โœ“ Value is masked with โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข
3
Add a GitHub Node to Your Workflow
โฑ 3 min ยท Easy
โ–พ
Add the GitHub node to your canvas and configure it to create issues, list issues, or commit files.
1
Press Ctrl+K โ†’ type github โ†’ click GitHub to add it to canvas
2
Click the GitHub node โ†’ fill in the properties panel on the right:
โ€ข GitHub Token: ghp_xxxxxxxxxxxx (your token)
โ€ข Repository: username/repo-name (e.g. johndoe/my-project)
โ€ข Action: choose from the list below
3
Connect an Input or LLM node to the GitHub node input port
4
Click โ–ถ Execute to run the workflow
Available Actions
create_issue Create GitHub Issue
Takes the input text and creates a new issue in your repo. Perfect for auto-creating issues from error logs or AI analysis.
list_issues List Open Issues
Fetches all open issues from your repository. Use with an LLM node to summarise or prioritise issues automatically.
create_file Commit File to Repo
Creates or updates a file in your repository. Use to auto-generate reports, documentation, or config files.
Expected Result
โœ“ GitHub node runs and shows green tick
โœ“ Log shows: GitHub create_issue: https://github.com/user/repo/issues/1
โœ“ Issue appears in your GitHub repository
4
Build an Error โ†’ GitHub Issue Workflow
โฑ 5 min ยท Medium
โ–พ
Build a complete workflow: paste an error log โ†’ AI analyses it โ†’ GitHub issue created automatically.
1
Add Input node โ†’ paste this error: TypeError: Cannot read property 'id' of undefined at line 42 in UserService.js
2
Add LLM node โ†’ set prompt: Analyse this error and write a clear GitHub issue with: Title, Description, Steps to reproduce, Expected vs actual behaviour.
3
Add GitHub node โ†’ set Token, Repo, Action = create_issue
4
Connect: Input โ†’ LLM โ†’ GitHub
5
Click โ–ถ Execute โ€” check your GitHub repo for the new issue
# Test via API curl -X POST http://localhost:5000/integrations/run -H "Content-Type: application/json" -d '{ "integration": "github", "action": "create_issue", "config": {"token": "ghp_xxx", "repo": "user/repo"}, "data": {"title": "Bug: API Error", "body": "Error found in production"} }'
Expected Result
โœ“ All 3 nodes execute in sequence
โœ“ AI generates a well-formatted issue description
โœ“ Issue appears in your GitHub repository with AI-written content
Open Platform โ†’
5
Use the Pre-built GitHub Template
โฑ 1 min ยท Easy
โ–พ
Skip the manual setup โ€” load the pre-built GitHub Issue Creator template directly onto your canvas.
1
Click ๐Ÿ“‹ Templates in the toolbar
2
Filter by Integrations or DevOps & IT
3
Click GitHub Issue Creator โ†’ Use Template โ†’
4
Click the GitHub node โ†’ enter your Token and Repository name
5
Click โ–ถ Execute
๐Ÿ’ก
Other templates using GitHub: IT Ops Alert Handler (webhook โ†’ AI โ†’ GitHub + Slack) and Deploy Notifier (deploy hook โ†’ summary โ†’ team).
๐Ÿ’ผ
Slack Integration
Send messages and notifications to Slack channels from your workflows
1
Get a Slack Webhook URL
โฑ 3 min ยท Easy
โ–พ
A Slack Incoming Webhook lets you post messages to any Slack channel with a single API call. No complex OAuth needed.
1
Go to api.slack.com/apps โ†’ click Create New App โ†’ From Scratch
2
Name it e.g. AI Agent โ†’ select your workspace โ†’ click Create App
3
Click Incoming Webhooks โ†’ toggle Activate Incoming Webhooks to ON
4
Click Add New Webhook to Workspace โ†’ select a channel โ†’ click Allow
5
Copy the Webhook URL: https://hooks.slack.com/services/T.../B.../xxx
๐Ÿ’ก
Save the webhook URL in ๐Ÿ”‘ Credentials with name "Slack" so all Slack nodes can use it automatically.
# Test your webhook curl -X POST YOUR_WEBHOOK_URL -H "Content-Type: application/json" -d '{"text":"โœ“ Slack connected to Opensource AI Agent!"}'
Expected Result
โœ“ Message appears in your Slack channel
โœ“ Slack node shows green when executed
๐Ÿ“
Google Drive Integration
Fetch, read and index Google Drive documents for RAG workflows
1
Connect Google Drive โ€” Choose Your Method
โฑ 5 min ยท Medium
โ–พ
There are two ways to connect Google Drive. OAuth is easier (one click), API Key gives more control.
๐Ÿ” Option A โ€” OAuth (Recommended)
Go to /credentials โ†’ click Connect Google Drive โ†’ sign in with Google โ†’ done in 30 seconds.
๐Ÿ”‘ Option B โ€” Service Account
Go to Google Cloud Console โ†’ create Service Account โ†’ download JSON โ†’ paste at /credentials.
2
Click Google Drive card to expand it
3
Choose OAuth2 or API Key tab
4
Follow the connection steps โ†’ status shows โœ“ Connected
5
Browse files โ†’ select documents โ†’ click ๐Ÿง  Index All Files for RAG
๐Ÿ’ก
After indexing, load the RAG โ€” Google Drive Documents template from ๐Ÿ“‹ Templates to start asking questions about your documents.
Expected Result
โœ“ Google Drive status shows Connected
โœ“ Files browser shows your Drive documents
โœ“ After indexing โ€” RAG queries return answers from your docs
Open Credentials Page โ†’