A conversational Agent control plane for collaborative operations.
OpsChronicle is a multi-agent system that helps teams diagnose and resolve operational issues through natural conversation in IM platforms like Feishu/Slack.
Status: MVP Development
# Clone
git clone https://github.com/yourusername/opschronicle.git
cd opschronicle
# Build
go build -o opschronicle ./cmd/opschronicle
# Show help
./opschronicle --help
# Initialize config (generates ~/.opschronicle/config.yaml)
./opschronicle install
# Start gateway
./opschronicle gateway --config ~/.opschronicle/config.yaml
OpsChronicle uses Viper-based config with environment variable override:
# ~/.opschronicle/config.yaml
log:
level: info # debug | info | warn | error
format: text # text | json
gateway:
listen: ":8080"
Environment variables override config with prefix OC_:
export OC_LOG_LEVEL=debug
export OC_GATEWAY_LISTEN=":9090"
go test ./...
opschronicle/
├── cmd/opschronicle/ # CLI entrypoint
│ └── main.go
├── internal/
│ ├── cli/ # Cobra commands (root, install, gateway)
│ ├── config/ # Viper-based configuration
│ ├── bus/ # Session bus for multi-agent context
│ └── gateway/ # Gateway server (TODO)
├── api/
│ └── proto/ # gRPC protobuf definitions
│ └── channel.proto # Channel plugin interface
├── docs/ # Design docs & PRD
├── .golangci.yml # Linter config
└── go.mod
┌─────────────┐
│ IM (Feishu) │
└──────┬───────┘
│ gRPC (channel.proto)
┌──────▼───────────────┐
│ Gateway │
│ - Channel Manager │
│ - Session Router │
└──────┬───────────────┘
│ Session Bus
┌──────▼───────────────┐
│ Agent Runtime │
│ - Orchestrator │
│ - Analyst │
│ - Executor │
│ - Historian │
└──────────────────────┘
Session Bus provides shared context for multi-agent collaboration within a single incident session. Agents publish/subscribe typed events (messages, tool calls, diagnostics) through an in-memory event bus.
MIT