๐งช 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
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 browser2
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
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 panel2
Type
transform โ click Transform to add it to the canvas3
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:002
Add an HTTP Request node. Set URL to
https://httpbin.org/json (test endpoint) and Method to GET3
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
35
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
52
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"}'
-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 results4
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.json3
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"}'
-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/test3
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()
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
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-20263
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!")
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")
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" โ save3
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}'
-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.
1
2
Click Generate new token โ Generate new token (classic)
3
Give it a name e.g.
Opensource AI Agent4
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_xxxxxxxxxxxxThe 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/app2
Click ๐ Credentials in the toolbar (or press
Ctrl+E)3
Fill in: Service Name =
GitHub, Type = API Key, Value = your ghp_xxx token4
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 canvas2
Click the GitHub node โ fill in the properties panel on the right:
โข GitHub Token:
โข Repository:
โข Action: choose from the list below
โข 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.js2
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_issue4
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
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 App3
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.../xxxSave 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.1
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