Code Monkey home page Code Monkey logo

agentsflow's Introduction

๐Ÿค– Agentsflow

Easily create, connect & run autonomous autogen AI agents from a streamlined web interface.


With Agentsflow it is possible to create your own agents and connect them in a flow, so you can directly see which agent is running and also interact with each of them in runtime.

It is designed to make it easy for beginners to create software, but we also aim to give advanced users the tools to explore deeper possibilities.

๐Ÿ› ๏ธ Please note: This project is currently in its initial stages but in active development.

AgentFlow Design


Running:

Ensure that git, nodejs, python 3.11 and poetry are installed, and then...

Download, build, and start agentsflow with the following commands:

git clone https://github.com/jaemil/agentsflow
cd agentsflow
npm install
npm run agentsflow

Open the following URL in your browser: localhost:4200 to load the UI.


If you want to make changes run the development server:

npm run agentsflow:dev

Roadmap

Goals may change and are unsorted

  • Add websockets to autogen agent.
  • Let the agent execute code.
  • Simple html websocket client.
  • Add nextjs as a frontend.
  • Implement react-flow.
  • Drag and drop to add agents to the flow.
  • Make the basic application work (connect agents, run agents, select agents, etc.)
  • Vector database for agents (https://github.com/microsoft/autogen/releases/tag/v0.1.10).
  • Popup for global settings (OpenAI API Key and model).
  • Agent Settings (model, name, llm_config..)
  • Popup to add own agent.
  • Save custom flow templates.
  • Save custom agents.
  • Export flow as a python script.
  • Add group chat functionality.
  • Add a documentation website.
  • Ability to use local LLM model.
  • Implement 3rd party tools (https://github.com/FlowiseAI/Flowise).
  • Export/Import application settings/flows/agents.
  • Docker Compose file to quickly get started.
  • Create landing page.
  • Show generated files.
  • Make agents multimodal.

Get Involved

If you want to contribute to Agentsflow, be sure to review the contribution guidelines.

We use GitHub issues for tracking requests and bugs.

Please join the Agentsflow Discord for general questions, discussion and contribution.

License

This project is licensed under GNU General Public License (Version 3)

agentsflow's People

Contributors

jaemil avatar siafu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

agentsflow's Issues

run error

help me please:

@agentsflow/[email protected] agentsflow
nx run-many -t serve -p frontend api --configuration production

NX Running target serve for 2 projects:

- frontend
- api

โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”

nx run frontend:serve:production

nx run api:serve

node:events:491
throw er; // Unhandled 'error' event
^
Error: spawn /usr/local/bin/node ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
Emitted 'error' event on ChildProcess instance at:
at ChildProcess._handle.onexit (node:internal/child_process:289:12)
at onErrorNT (node:internal/child_process:476:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
errno: -2,
code: 'ENOENT',
syscall: 'spawn /usr/local/bin/node',
path: '/usr/local/bin/node',
spawnargs: [
'/Users/raoyunfei/agentsflow/node_modules/next/dist/bin/next',
'start',
'--port=4200',
''
]
}
Node.js v18.15.0
INFO: Will watch for changes in these directories: ['/Users/raoyunfei/agentsflow/apps/api']
INFO: Uvicorn running on http://127.0.0.1:8999 (Press CTRL+C to quit)
INFO: Started reloader process [67224] using WatchFiles
INFO: Started server process [67229]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 127.0.0.1:65087 - "GET / HTTP/1.1" 404 Not Found

Code execution not firing.

It's supposed to run any code found within any message but it's not. It's possibly related to the way I hijacked the messaging. What I didn't doesn't rly seem hacky though it might be. Initialization of agents was moved to https://github.com/jaemil/autogen_websocket/blob/main/autogen_client/initialize.py

The autogen file conversable_agent.py is probably where the trouble is happening

https://github.com/microsoft/autogen/blob/main/autogen/agentchat/conversable_agent.py

It could have something to do with the agent naming and/or my one class override since sender is a thing used to determine code execution permission. The permission configs we have set seem to be correct: https://github.com/jaemil/autogen_websocket/blob/7bdb509d403c004b9c5579732a8cf25f5c1b672f/autogen_client/initialize.py#L24

Problem running the code at start

Hi,
I just finished implementing something very similar to your code using fastapi and websocket
https://gist.github.com/bonadio/2d548a493907c133bc10de806ecd08af

But your code seems better related to the way you handle the threads. I am trying to test it but found a few problems:
1- When I try to install after a did git clone

(base) -> pdm install
All packages are synced to date, nothing to do.
Installing the project as an editable package...
  โœ– Install agentsflow 0.1.1 failed

See /var/folders/r6/jgl8b48s325fbkg5jwkg93fc0000gn/T/pdm-install-xk70t_x8.log for detailed debug 
log.
[BuildError]: Build backend raised error: Showing the last 10 lines of the build output:

If you are trying to create a single distribution with multiple packages
on purpose, you should not rely on automatic discovery.
Instead, consider the following options:

1. set up custom discovery (`find` directive with `include` or `exclude`)
2. use a `src-layout`
3. explicitly set `py_modules` or `packages` with a list of names

To find more information, look for "package discovery" on setuptools docs.
Add '-v' to see the detailed traceback

2- It is missing the "static" directory, I created manually and was able to start

3- When I try to run "npm run dev" on the frontend_src I get
Server Error
Error: Cannot find module 'react'

ui is served by fastapi

The UI is now served on the fastapi port. Just nav to the port in a browser to load index.html. Made some tweaks to the test ui as well.

@jaemil

project rename

suggest renaming the project and repo name to something better. maye autogen-client (best to use hyphens for project names btw), which is what I named the main python package.

@jaemil

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.