Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies.
| Date | Stars |
|---|---|
| 2026-07-30 | 4621 |
| 2026-08-06 | 4621 |
| 2026-08-15 | 4626 |
| 2026-08-18 | 4627 |
| 2026-08-19 | 4628 |
| 2026-08-22 | 4629 |
| 2026-08-25 | 4631 |
| 2026-08-26 | 4633 |
| 2026-08-28 | 4634 |
| 2026-09-01 | 4636 |
| 2026-09-02 | 4637 |
| 2026-09-03 | 4638 |
| 2026-09-04 | 4639 |
| 2026-09-05 | 4645 |
| 2026-09-06 | 4651 |
| 2026-09-08 | 4654 |
| 2026-09-09 | 4655 |
| 2026-09-10 | 4655 |
| 2026-09-11 | 4656 |
| 2026-09-12 | 4657 |
| 2026-09-14 | 4658 |
| 2026-09-16 | 4659 |
| 2026-09-17 | 4660 |
| 2026-09-18 | 4662 |
| 2026-09-20 | 4661 |
| 2026-09-21 | 4663 |
| 2026-09-22 | 4664 |
| 2026-09-24 | 4667 |
| 2026-09-25 | 4669 |
| 2026-09-26 | 4669 |
| 2026-09-29 | 4671 |
| 2026-09-30 | 4672 |
| 2026-10-01 | 4671 |
| 2026-10-02 | 4672 |
| 2026-10-04 | 4672 |
| 2026-10-05 | 4671 |
| 2026-10-06 | 4672 |
| 2026-10-07 | 4671 |
| 2026-10-09 | 4673 |
| 2026-10-10 | 4675 |
| 2026-10-11 | 4674 |
| 2026-10-12 | 4676 |
| 2026-10-14 | 4677 |
| 2026-10-17 | 4678 |
| 2026-10-19 | 4679 |
| 2026-10-22 | 4681 |
| 2026-10-23 | 4682 |
| 2026-10-24 | 4683 |
| 2026-10-25 | 4684 |
| 2026-10-26 | 4685 |
| 2026-10-27 | 4688 |
| 2026-10-28 | 4688 |
| 2026-10-29 | 4690 |
| 2026-10-31 | 4689 |
| 2026-11-01 | 4691 |
| 2026-11-02 | 4692 |
| 2026-11-03 | 4695 |
| 2026-11-04 | 4696 |
Today
+1 stars today
This week
+8 stars this week
This month
+25 stars this month
Momentum
27.0
growth rate 0.17%/day
<h1><a href="https://ergo.services"><img src=".github/images/logo.svg" alt="Ergo Framework" width="159" height="49"></a></h1>
[](https://docs.ergo.services)
[](https://opensource.org/licenses/MIT)
[](https://t.me/ergo_services)
[](https://reddit.com/r/ergo_services)
**Actor model for Go. Build distributed systems without the distributed systems headache.**
Goroutines and channels work great until your system grows. Then come the mutexes, the race conditions, the service discovery configs, the retry logic, the connection pool management. Ergo replaces all of that with one model: isolated processes that communicate through messages, supervised automatically, addressable across any cluster.
Inspired by Erlang/OTP. Zero external dependencies. Pure Go.
### The core idea in 30 seconds ###
```go
type Counter struct {
act.Actor
count int
}
type MessageInc struct{}
func (c *Counter) HandleMessage(from gen.PID, msg any) error {
switch msg.(type) {
case MessageInc:
// safe without locks even with thousands of concurrent senders:
// messages are processed one at a time
c.count++
c.Log().Info("count: %d", c.count)
}
return nil
}
func factory_Counter() gen.ProcessBehavior { return &Counter{} }
// Start a node and spawn the actor
node, _ := ergo.StartNode("mynode@localhost", gen.NodeOptions{})
pid, _ := node.Spawn(factory_Counter, gen.ProcessOptions{})
// Same API whether local or on another continent
node.Send(pid, MessageInc{})
node.Send(pid, MessageInc{})
```
No locks. No race conditions. Sequential message handling is the guarantee.
### Why not just goroutines + channels? ###
| | Goroutines + channels | Ergo |
|---|---|---|
| Shared state | You manage with mutexes | No shared state by design |
| Failure recovery | Manual | Supervision trees restart automatically |
| Cross-node messaging | Build it yourself | Same API, transparent |
| Service discovery | External tool needed | Built in |
| Race conditions | Possible | Impossible within a process |
### What you can build ###
**Real-time backends.** Each WebSocket connection becomes an addressable actor. Any node in your cluster can push to any specific client. No pub/sub intermediaries.
**IoT platforms.** One actor per device. Thousands of devices per node. Supervisors restart failed device actors automatically.
**Multi-agent AI systems.** Each agent is an isolated actor with a mailbox. Crash isolation, supervision, distributed addressability, and an [MCP endpoint](https://docs.ergo.services/advanced/mcp) served by [Observer](https://docs.ergo.services/extra-library/applications/observer) that opens the running cluster to any AI assistant (Claude Code, Cursor, and other MCP-compatible clients). See [AI Agents](https://docs.ergo.services/ai-agents) for patterns and diagnostics.
**Financial and event-driven systems.** Four priority queues per mailbox, guaranteed delivery, no dropped messages.
**Distributed Pub/Sub across the cluster.** Producer registers an event once; any process on any node subscribes. The framework delivers one network message per node, not per subscriber. 1M subscribers across 10 nodes cost 10 network messages, not 1M.
```go
// Producer on any node
token, _ := producer.RegisterEvent("prices", gen.EventOptions{})
producer.SendEvent("prices", token, PriceUpdate{Asset: "BTC", Price: 95000})
// Subscriber on any other node, identical API
process.MonitorEvent(gen.Event{Name: "prices", Node: "producer@host"})
func (s *Sub) HandleEvent(event gen.MessageEExcerpt of 20,141 characters
Read on GitHubTaras Halturin · @ergo-services
138
Max Treskin · Metachord
50
4
3
Rinor Hoxha · BAITS sh.p.k
2
1
1
vpromzelev · @talon-one
1
Mark deVilliers · United Kingdom
1
1
1
Alexander Petrovsky
1
Dmitri Vereshchagin · Russia
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:0949ead7d64ea650, topic:workflow