https://github.com/nalbion/agent-adapters
Framework for configurable AI Agents
https://github.com/nalbion/agent-adapters
agent-protocol agents ai ai-agents aiconfigfiles autogen autogpt llm open-ai openai
Last synced: 5 months ago
JSON representation
Framework for configurable AI Agents
- Host: GitHub
- URL: https://github.com/nalbion/agent-adapters
- Owner: nalbion
- License: mpl-2.0
- Created: 2024-02-13T01:21:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-07T09:39:41.000Z (10 months ago)
- Last Synced: 2024-12-30T20:10:20.943Z (6 months ago)
- Topics: agent-protocol, agents, ai, ai-agents, aiconfigfiles, autogen, autogpt, llm, open-ai, openai
- Language: TypeScript
- Homepage:
- Size: 520 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# agent-adapters
Framework for configurable AI Agents.
Inspired by with [AutoGen](https://github.com/microsoft/autogen) and compatible with [AIConfig](https://aiconfig.lastmileai.dev/) and [Agent Protocol](https://agentprotocol.ai/). Can also download invoke and invoke arbitrary Agents as a subprocess.
## Installation
To install this library, you can use npm:
```
npm install agent-adapters
```## Usage
Import the library in your TypeScript/JavaScript file:
```typescript
import { readAgentConfig, createAgent } from "agent-adapters";
```## agents.yml
The `agents.yml` file is inspired by [AutoGen](https://github.com/microsoft/autogen) and is compatible with [AIConfig](https://aiconfig.lastmileai.dev/), with the additional condition that the `description` field must be provided as it is used by GitHub Copilot Chat and LLM-based routing.
`createAgent()` uses some of the optional properties of the `AgentConfig` to determine which type of Agent to create:
- `agent.routing.team` -> `RouterAgent` - see **Routing** below.
- `agent.remote` -> `AgentProtocolAgent` - refer [agentprotocol.ai](https://agentprotocol.ai/)
- `agent.cli.command` -> `CliClientAgent` - executes an Agent from a command line (useful for calling Python agents from Node.JS etc)
- `agent.llm_config.config_list` -> If an LLM has been configured will use OpenAI, local LLMs etc
- If No LLM has been configured, will attempt to use GitHub CopilotIf `agent.vscode === true` the Agent will be available by mentioning it by `@{name}` in VS Github Copilot Chat (when [ChatAgents2 proposal](https://code.visualstudio.com/api/advanced-topics/using-proposed-api#using-a-proposed-api) is released).
### Routing
All Agents automatically register themselves with the `AgentRegistry` upon construction.
Agents may use `AgentRegistry.searchAgents()` to search by name or `role`, and matching Agents will be ranked based on the `context`.Note: Name your agents carefully - if an Agent attempts to send a message to another Agent by `role` (eg "developer") and an Agent exists with a **name** matching that role, it will receive the message.
- role: "developer", "tester" etc
- context: `{ language: ["javascript", "typescript"], platform: ["web"], framework: ["react"], ... }`## Development
To develop this library, you need to have Node.js and npm installed. After cloning the repository, install the dependencies:
```
npm install
```You can then run the tests:
```
npm test
```## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
## License
[Mozilla Public License 2.0](https://choosealicense.com/licenses/mpl-2.0/)