Skip to content

Instantly share code, notes, and snippets.

@horsey
horsey / Manus_report.md
Created May 23, 2025 12:30 — forked from renschni/Manus_report.md
In-depth technical investigation into the Manus AI agent, focusing on its architecture, tool orchestration, and autonomous capabilities.

I wrote an in-depth research prompt to conduct a GPT-Deep-Research on the Manus topic, seeking to replicate it with currently available open source tools. This is the result:

TLDR: Manus AI Agent Report

Manus is an autonomous AI agent built as a wrapper around foundation models (primarily Claude 3.5/3.7 and Alibaba's Qwen). It operates in a cloud-based virtual computing environment with full access to tools like web browsers, shell commands, and code execution. The system's key innovation is using executable Python code as its action mechanism ("CodeAct" approach), allowing it to perform complex operations autonomously. The architecture consists of an iterative agent loop (analyze → plan → execute → observe), with specialized modules for planning, knowledge retrieval, and memory management. Manus uses file-based memory to track progress and store information across operations. The system can be replicated using open-source components including CodeActAgent (a fine-tuned Mistral model), Docker for sandbox

java.lang.NullPointerException: null
at java.lang.String$CaseInsensitiveComparator.compare(String.java:1192) ~[na:1.8.0_131]
at java.lang.String$CaseInsensitiveComparator.compare(String.java:1186) ~[na:1.8.0_131]
at java.util.TreeMap.getEntryUsingComparator(TreeMap.java:376) ~[na:1.8.0_131]
at java.util.TreeMap.getEntry(TreeMap.java:345) ~[na:1.8.0_131]
at java.util.TreeMap.get(TreeMap.java:278) ~[na:1.8.0_131]
at org.hibernate.dialect.function.SQLFunctionRegistry.findSQLFunction(SQLFunctionRegistry.java:45) ~[hibernate-core-5.2.16.Final.jar:5.2.16.Final]
at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.findSQLFunction(SessionFactoryHelper.java:387) ~[hibernate-core-5.2.16.Final.jar:5.2.16.Final]
at org.hibernate.hql.internal.ast.tree.IdentNode.getDataType(IdentNode.java:374) ~[hibernate-core-5.2.16.Final.jar:5.2.16.Final]
azurerm_network_interface.nic.1: network.InterfacesClient#CreateOrUpdate: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="LinkedInvalidPropertyId" Message="Property id '' at path 'properties.ipConfigurations[0].properties.loadBalancerBackendAddressPools[0].id' is invalid. Expect fully qualified resource Id that start with '/subscriptions/{subscriptionId}' or '/providers/{resourceProviderNamespace}/'."
* azurerm_network_interface.nic[0]: 1 error(s) occurred:
azurerm_virtual_machine.appserver0: Refreshing state... (ID: /subscrip...ppserver)
azurerm_virtual_machine.db0: Refreshing state... (ID: /subscrip...ines/db0)
azurerm_virtual_machine.bs0: Refreshing state... (ID: /subscrip...ines/bs0)
azurerm_virtual_machine.lb1: Refreshing state... (ID: /subscrip...ines/lb1)
azurerm_virtual_machine.bastion0: Refreshing state... (ID: /subscrip.../bastion)
azurerm_virtual_machine.db0: Modifying... (ID: /subscrip...ines/db0)
storage_data_disk.0.create_option: "Empty" => "empty"
azurerm_virtual_machine.db0: Still modifying... (ID: /subscrip...ines/db0, 10s elapsed)
azurerm_virtual_machine.db0: Still modifying... (ID: /subscrip...ines/db0, 20s elapsed)
azurerm_virtual_machine.db0: Still modifying... (ID: /subscrip...ines/db0, 30s elapsed)
Error refreshing state: 1 error(s) occurred:
* azurerm_redis_cache.redis: azurerm_redis_cache.redis: Error making Read request on Azure Redis Cache redis0: redis.GroupClient#Get: Failure responding to request: StatusCode=404 -- Original Error: autorest/azure: Service returned an error. Status=404 Code="ResourceNotFound" Message="The Resource 'Microsoft.Cache/Redis/redis0' under resource group 'production' was not found."
@horsey
horsey / gist:355b4caa85cb10b3135d828fc554c63b
Created April 24, 2017 06:33
Output of `terraform apply' with an updated tag filed in the azurerm_redis_cache resource
(azure) vagrant@vagrant:~/add-redis/prod/providers/azure$ cd ..
(azure) vagrant@vagrant:~/add-redis/prod/providers$ terraform apply azure/
data.terraform_remote_state.foo: Refreshing state...
azurerm_resource_group.production: Refreshing state... (ID: /subscrip...oduction)
azurerm_virtual_network.vnet: Refreshing state... (ID: /subscrip...oduction)
azurerm_storage_account.SnapIOTStorage: Refreshing state... (ID: /subscrip...tstorage)
azurerm_public_ip.BastionPublicIP: Refreshing state... (ID: /subscrip...PublicIP)
azurerm_redis_cache.redis: Refreshing state... (ID: /subscrip...s/redis0)
azurerm_network_security_group.LBSecGroup: Refreshing state... (ID: /subscrip...SecGroup)
azurerm_public_ip.NginxPublicIP: Refreshing state... (ID: /subscrip...PublicIP)
This file has been truncated, but you can view the full file.
2017/04/23 20:06:21 [INFO] Terraform version: 0.9.2 6365269541c8e3150ebe638a5c555e1424071417+CHANGES
2017/04/23 20:06:21 [INFO] Go runtime version: go1.8
2017/04/23 20:06:21 [INFO] CLI args: []string{"/usr/local/terraform/bin/terraform", "plan", "azure/"}
2017/04/23 20:06:21 [DEBUG] Detected home directory from env var: /home/vagrant
2017/04/23 20:06:21 [DEBUG] Detected home directory from env var: /home/vagrant
2017/04/23 20:06:21 [DEBUG] Attempting to open CLI config file: /home/vagrant/.terraformrc
2017/04/23 20:06:21 [INFO] CLI command args: []string{"plan", "azure/"}
2017/04/23 20:06:21 [DEBUG] command: loading backend config file: /home/vagrant/add-redis/prod/providers/azure
2017/04/23 20:06:21 [TRACE] Preserving existing state lineage "94d101e6-ce9f-4efa-8fd3-e2ec8f5b17c9"
2017/04/23 20:06:21 [TRACE] Preserving existing state lineage "94d101e6-ce9f-4efa-8fd3-e2ec8f5b17c9"
---
driver:
name: vagrant
provisioner:
name: chef_solo
platforms:
- name: ubuntu-14.04
@horsey
horsey / get.js
Created December 16, 2015 21:14 — forked from joepie91/get.js
var aws = require('aws-sdk'),
Promise = require('bluebird'),
chalk = require('chalk'),
messageFactory = require('./factory'),
config = require('./config.json');
var sqs = new Promise.promisifyAll(new aws.SQS({
region: config.aws.region,
accessKeyId: config.aws.accessId,
@horsey
horsey / get.js
Created December 16, 2015 20:35
var aws = require('aws-sdk'),
Promise = require('bluebird'),
chalk = require('chalk'),
messageFactory = require('./factory'),
config = require('./config.json');
var sqs = new Promise.promisifyAll(new aws.SQS({
region: config.aws.region,
accessKeyId: config.aws.accessId,