Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,17 @@ BUB_TAPESTORE_SQLALCHEMY_URL=mysql+oceanbase://user:pass@host:port/database
# WeChat channel (optional, bundled)
# Run `uv run bub login wechat` to authenticate

# ---------------------------------------------------------------------------
# WeCom channel (optional, bundled)
# ---------------------------------------------------------------------------
# BUB_WECOM_BOT_ID=your-bot-id
# BUB_WECOM_SECRET=your-long-connection-secret
# BUB_WECOM_WEBSOCKET_URL=wss://openws.work.weixin.qq.com
# BUB_WECOM_DM_POLICY=open
# BUB_WECOM_ALLOW_FROM=["alice","bob"]
# BUB_WECOM_GROUP_POLICY=open
# BUB_WECOM_GROUP_ALLOW_FROM=["wrXXX","wrYYY"]

# ---------------------------------------------------------------------------
# Discord channel (optional, bundled)
# ---------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ A Bub distribution for data-driven insight workflows, powered by [OceanBase seek

bubseek packages [Bub](https://github.com/bubbuild/bub) with ready-to-use components for rapid data consumption. It's an attempt to explore a different approach to enterprise data needs: instead of scheduling BI tickets, tell the agent what you want and get insights back.

**Multi-channel entry** — Feishu, DingTalk, WeChat, Discord, Telegram, and a built-in marimo web interface. Configure env vars and enable via gateway.
**Multi-channel entry** — Feishu, DingTalk, WeChat, WeCom, Discord, Telegram, and a built-in marimo web interface. Configure env vars and enable via gateway.

**Lightweight data consumption** — marimo notebooks for dashboards, github-repo-cards for generating shareable repo cards, schedule tasks with cron support. Add insights to `insights/` and the agent can work with them dynamically.

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ bubseek is an attempt to explore a different approach to enterprise data needs:

- Packages Bub with pre-configured dependencies
- Provides OceanBase/seekdb storage support via bub-tapestore-sqlalchemy
- Ships builtin channels: Feishu, DingTalk, WeChat, Discord, Telegram, Marimo
- Ships builtin channels: Feishu, DingTalk, WeChat, WeCom, Discord, Telegram, Marimo
- Ships builtin skills: github-repo-cards, web-search, schedule
- Provides built-in observability: agent's own footprint becomes queryable data

Expand Down
18 changes: 18 additions & 0 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,24 @@ uv run bub login wechat # Scan QR code with WeChat app
uv run bub gateway --enable-channel wechat
```

### WeCom

1. Visit WeCom AI bot admin console and create or select a bot
2. Enable long-connection mode, then get Bot ID and Secret
3. If needed, configure direct-message or group allowlist policies

```bash
export BUB_WECOM_BOT_ID=your-bot-id
export BUB_WECOM_SECRET=your-long-connection-secret
# optional
# export BUB_WECOM_WEBSOCKET_URL=wss://openws.work.weixin.qq.com
# export BUB_WECOM_DM_POLICY=open
# export BUB_WECOM_ALLOW_FROM='["alice", "bob"]'
# export BUB_WECOM_GROUP_POLICY=open
# export BUB_WECOM_GROUP_ALLOW_FROM='["wrXXX", "wrYYY"]'
uv run bub gateway --enable-channel wecom
```

### Marimo (web dashboard)

```bash
Expand Down
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ dependencies = [
"bub-feishu",
"bub-dingtalk",
"bub-wechat",
"bub-wecom",
"bub-discord",
"bub-web-search",
"bub-tapestore-sqlalchemy",
Expand Down Expand Up @@ -81,6 +82,7 @@ bub = { git = "https://github.com/bubbuild/bub.git" }
bub-dingtalk = { git = "https://github.com/bubbuild/bub-contrib.git", branch = "main", subdirectory = "packages/bub-dingtalk" }
bub-feishu = { git = "https://github.com/bubbuild/bub-contrib.git", branch = "main", subdirectory = "packages/bub-feishu" }
bub-wechat = { git = "https://github.com/bubbuild/bub-contrib.git", branch = "main", subdirectory = "packages/bub-wechat" }
bub-wecom = { git = "https://github.com/bubbuild/bub-contrib.git", branch = "main", subdirectory = "packages/bub-wecom" }
bub-discord = { git = "https://github.com/bubbuild/bub-contrib.git", branch = "main", subdirectory = "packages/bub-discord" }
bub-web-search = { git = "https://github.com/bubbuild/bub-contrib.git", branch = "main", subdirectory = "packages/bub-web-search" }
bub-tapestore-sqlalchemy = { git = "https://github.com/bubbuild/bub-contrib.git", branch = "main", subdirectory = "packages/bub-tapestore-sqlalchemy" }
Expand Down
38 changes: 38 additions & 0 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading