[feat(ai)]: refactor AI agent for extensibility and add streaming support (#1323)

* [feat]: Integrating AI Agent Capabilities into dubbo-admin

A preliminary prototype of an agent designed to help users diagnose issues in dubbo microservices.

* [chore(manager)]: Move function  to agent package

* [chore]: Delete useless prompt

* [chore]: move config package to internal

* [chore]: remove unnecessary nil explicit initialization

* [feat]: Enable support for the Alibaba DashScope OpenAI-Compatible API

* [chore]: Abstract models of different providers into Model class

* [refactor]: abstract Agent, Flow, and Tool input/output

- Abstract the Agent interface
- Unify data schema and interfaces of Agent flows
- Unify Tool input and output data structures
- Simplify usage of Agent

* [feature]: Add simple chat history memory

* [chore]: Add support of stream output

* [chore]: Convert Chinese comments to English

* [chore]: replace genkit with fixed custom package

* [chore]: replace panic with error in String()

* [chore]: remove useless message package

* [feat]: use channel to get stream chunk and output

* [chore(ai/agent)]: move memory context initialization into agent

* [chore(ai/agent)]: fix bad channel usage in `react.Interact()`

The old implementation could cause re-closing the channel.
26 files changed
tree: 7680d78476933bafb897fa275e8acd0f0cb3b564
  1. .github/
  2. ai/
  3. api/
  4. app/
  5. docs/
  6. hack/
  7. pkg/
  8. release/
  9. tools/
  10. ui-vue3/
  11. .asf.yaml
  12. .codecov.yml
  13. .gitattributes
  14. .gitignore
  15. .licenserc.yaml
  16. CONTRIBUTING.md
  17. DISCLAIMER
  18. go.mod
  19. go.sum
  20. LICENSE
  21. Makefile
  22. NOTICE
  23. README.md
README.md

Build codecov license

Dubbo Admin is the console designed for better visualization of Dubbo services.

Repositories

The main code repositories of Dubbo Admin include:

  • ui-vue3: Implements the front-end interface of Dubbo Admin.
  • Dubbo Admin Console: Implemented in the app and pkg directories.
    For more details, see the app/README.

Quick Start

Please refer to official website.

Roadmap

Please refer to RoadMap.

Contributing

Admin UI

Admin Server

Other Information

Refer to CONTRIBUTING.md

License

Apache License 2.0, see LICENSE.