logo
1
1
WeChat Login
Jaguarliu<18829516908@163.com>
fix(feishu): 支持 schema 2.0 卡片操作事件格式

OpsChronicle (史策)

A conversational Agent control plane for collaborative operations.

Overview

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

Quick Start

Prerequisites

  • Go 1.23+
  • (Optional) protoc + protoc-gen-go for proto code generation
  • (Optional) golangci-lint for linting

Build & Run

# 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

Configuration

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"

Run Tests

go test ./...

Project Structure

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

Architecture

┌─────────────┐
│  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.

Documentation

License

MIT

About

No description, topics, or website provided.
Language
Go99%
Makefile0.7%
Dockerfile0.3%