Multi-agent event bus for workflow automation
brew install sekia-ai/tap/sekia
sekia.ai()sekiad and gobrew install sekia-ai/tap/sekia
go install github.com/sekia-ai/sekia/cmd/sekiad@latest
go install github.com/sekia-ai/sekia/cmd/sekiactl@latest
go install github.com/sekia-ai/sekia/cmd/sekia-github@latest
go install github.com/sekia-ai/sekia/cmd/sekia-slack@latest
go install github.com/sekia-ai/sekia/cmd/sekia-linear@latest
go install github.com/sekia-ai/sekia/cmd/sekia-gmail@latest
go install github.com/sekia-ai/sekia/cmd/sekia-mcp@latest
git clone https://github.com/sekia-ai/sekia.git
cd sekia
docker compose up
git clone https://github.com/sekia-ai/sekia.git
cd sekia
go build ./cmd/sekiad ./cmd/sekiactl ./cmd/sekia-github \
./cmd/sekia-slack ./cmd/sekia-linear ./cmd/sekia-gmail \
./cmd/sekia-mcp
sekiad
-- ~/.config/sekia/workflows/auto-label.lua
sekia.on("sekia.events.github", function(event)
if event.type ~= "github.issue.opened" then return end
local title = string.lower(event.payload.title or "")
if string.find(title, "bug") then
sekia.command("github-agent", "add_label", {
owner = event.payload.owner,
repo = event.payload.repo,
number = event.payload.number,
label = "bug",
})
end
end)
export GITHUB_TOKEN=ghp_...
sekia-github
sekiactl status
sekiactl agents
| Function | Description |
|---|---|
sekia.on(pattern, fn) | Register handler for NATS subject pattern |
sekia.publish(subj, type, data) | Emit an event |
sekia.command(agent, cmd, data) | Send command to an agent |
sekia.log(level, msg) | Log a message |
sekia.ai(prompt [, opts]) | Call an LLM, returns (result, err) |
sekia.ai_json(prompt [, opts]) | Call an LLM, returns parsed Lua table |
sekia.name | The workflow's name |