Chuyển tới nội dung chính

Vận hành quy trình họp nhóm

Sử dụng hướng dẫn này sau khi bạn đã bật tính năng từ Teams Meetings.

Trang này bao gồm:

  • luồng CLI của nhà điều hành
  • bảo trì đăng ký định kỳ
  • phân loại sự cố
  • kiểm tra trực tiếp
  • bảng triển khai

Lệnh điều hành cốt lõi

Xác thực ảnh chụp nhanh cấu hình

Hermes teams-pipeline validate

`
``Sử dụng cái này trước sau khi thay đổi cấu hình.

### Kiểm tra tình trạng mã thông báo

`bash
Hermes teams-pipeline token-health
Hermes teams-pipeline token-health --force-refresh

`
``Sử dụng

`
--force-refresh
` khi bạn nghi ngờ trạng thái xác thực cũ.

### Kiểm tra đăng ký

``` bash
Hermes teams-pipeline subscriptions

`

### Gia hạn các đăng ký sắp hết hạn

`bash
Hermes teams-pipeline maintain-subscriptions
Hermes teams-pipeline maintain-subscriptions --dry-run

`

### Tự động gia hạn đăng ký (BẮT BUỘC để sản xuất)

**Đăng ký Microsoft Graph sẽ hết hạn sau tối đa 72 giờ.** Nếu không có gì gia hạn chúng, thông báo cuộc họp sẽ âm thầm dừng sau 3 ngày và quy trình có vẻ "bị hỏng". Đây là chế độ lỗi vận hành số 1 đối với mọi hoạt động tích hợp dựa trên Đồ thị.

Bạn PHẢI chạy
`maintain-subscriptions
` theo lịch trình. Chọn một trong ba tùy chọn sau:

#### Tùy chọn 1: Hermes cron (được khuyến nghị nếu bạn đã chạy cổng Hermes)

Hermes vận chuyển một bộ lập lịch cron tích hợp sẵn. Chế độ

`
--no-agent
` chạy tập lệnh dưới dạng công việc (thay vì sử dụng LLM)

--script
` phải trỏ đến tệp trong

~/.Hermes/scripts/

. Đầu tiên tạo tập lệnh:

``` bash
mkdir -p ~/.Hermes/scripts
cat > ~/.Hermes/scripts/maintain-teams-subscriptions.sh `<<\'EOF\'
#!/usr/bin/env bash
exec Hermes teams-pipeline maintain-subscriptions
EOF
chmod +x ~/.Hermes/scripts/maintain-teams-subscriptions.sh

`
``Sau đó, đăng ký một công việc định kỳ chỉ có tập lệnh chạy 12 giờ một lần (cung cấp khoảng trống gấp 6 lần so với thời hạn hết hạn 72 giờ):

`bash
Hermes cron create "0 */12 * * *" \

--name "teams-pipeline-maintain-subscriptions" \
--no-agent \
--script maintain-teams-subscriptions.sh \
--deliver local

`
``Xác minh nó đã được đăng ký và kiểm tra thời gian chạy tiếp theo:

``` bash
Hermes cron list
Hermes cron status # scheduler status

`

#### Tùy chọn 2: bộ đếm thời gian systemd (được khuyến nghị khi triển khai sản xuất Linux)

Tạo

/etc/systemd/system/Hermes-teams-pipeline-maintain.service

:

`ini
[Unit]
Description=Hermes Teams pipeline subscription maintenance
After=network-online.target`[Service]
Type=oneshot
User=Hermes
EnvironmentFile=/etc/Hermes/env
ExecStart=/usr/local/bin/Hermes teams-pipeline maintain-subscriptions

`
``

/etc/systemd/system/Hermes-teams-pipeline-maintain.timer

:

`ini
[Unit]
Description=Run Hermes Teams pipeline subscription maintenance every 12 hours`[Timer]
OnBootSec=5min
OnUnitActiveSec=12h
Persistent=true`[Install]
WantedBy=timers.target

`
``Kích hoạt:

`bash
sudo systemctl daemon-reload
sudo systemctl enable --now Hermes-teams-pipeline-maintain.timer
systemctl list-timers Hermes-teams-pipeline-maintain.timer

`

#### Tùy chọn 3: crontab đơn giản

`cron
0 */12 * * * /usr/local/bin/Hermes teams-pipeline maintain-subscriptions >> /var/log/Hermes/teams-pipeline-maintain.log 2>&1

`
``Đảm bảo môi trường cron có thông tin xác thực
`MSGRAPH_*

. Cách khắc phục đơn giản nhất: lấy nguồn

~/.Hermes/.env
` ở đầu tập lệnh bao bọc mà crontab gọi.

#### Xác minh việc gia hạn đang hoạt động

Sau khi bạn thiết lập lịch trình, hãy kiểm tra hoạt động gia hạn sau lần chạy theo lịch trình đầu tiên:

`bash
Hermes teams-pipeline subscriptions # should show expirationDateTime advanced
Hermes teams-pipeline maintain-subscriptions --dry-run # should show "0 expiring soon" most of the time

`
``Nếu bạn thấy webhook Graph của mình "ngưng hoạt động" một cách bí ẩn sau đúng ~72 giờ, thì đây là điều đầu tiên cần kiểm tra: công việc gia hạn có thực sự chạy không?

### Kiểm tra các công việc gần đây

`bash
Hermes teams-pipeline list
Hermes teams-pipeline list --status failed
Hermes teams-pipeline show <job-id>

`

### Phát lại lệnh đã lưu

`bash
Hermes teams-pipeline run <job-id>

`

### Tìm nạp thành phần lạ của cuộc họp chạy thử

`bash
Hermes teams-pipeline fetch --meeting-id <meeting-id>
Hermes teams-pipeline fetch --join-web-url "<join-url>"

`

## Sổ tay chạy thường lệ

### Sau lần thiết lập đầu tiên

Chạy chúng theo thứ tự:

`bash
Hermes teams-pipeline validate
Hermes teams-pipeline token-health --force-refresh
Hermes teams-pipeline subscriptions

`
``Sau đó kích hoạt hoặc đợi một sự kiện họp thực sự và xác nhận:

`bash
Hermes teams-pipeline list
Hermes teams-pipeline show <job-id>

`

### Kiểm tra hàng ngày hoặc định kỳ
- chạy
`Hermes teams-pipeline maintain-subscriptions --dry-run

`
- kiểm tra
`Hermes teams-pipeline list --status failed

- xác minh mục tiêu phân phối của Nhóm vẫn là kênh hoặc kênh trò chuyện chính xác

### Trước khi thay đổi URL webhook hoặc mục tiêu phân phối
- cập nhật URL thông báo công khai hoặc cấu hình mục tiêu của Nhóm
- chạy
`Hermes teams-pipeline validate

- gia hạn hoặc tạo lại các đăng ký bị ảnh hưởng
- xác nhận các sự kiện mới rơi vào vùng chìm dự kiến

## Phân loại lỗi

### Không có việc làm nào được tạo ra

Kiểm tra:
-
`msgraph_webhook
` được bật
- URL thông báo công khai trỏ đến

/msgraph/webhook

- trạng thái máy khách trong đăng ký khớp với
`MSGRAPH_WEBHOOK_CLIENT_STATE

- đăng ký vẫn tồn tại từ xa và chưa hết hạn

### Công việc phải thử lại hoặc thất bại trước khi tóm tắt

Kiểm tra:
- quyền và tính khả dụng của bản ghi
- quyền ghi và tính khả dụng của tạo tác
- Tính khả dụng của
`ffmpeg
` nếu bật tính năng ghi dự phòng
- Tình trạng mã thông báo đồ thị

### Tóm tắt được tạo nhưng không được gửi tới Nhóm

Kiểm tra:
-
`platforms.teams.enabled: true

-
`delivery_mode

-
`incoming_webhook_url
` cho chế độ webhook
-
`chat_id
` hoặc
`team_id
` cộng với
`channel_id
` cho chế độ Đồ thị
- Cấu hình xác thực nhóm nếu sử dụng đăng biểu đồ

### Số lần phát lại trùng lặp hoặc không mong muốn

Kiểm tra:
- bạn có phát lại công việc theo cách thủ công với
`Hermes teams-pipeline run
` hay không
- liệu bản ghi chìm cho cuộc họp đó đã tồn tại chưa
- bạn có cố tình kích hoạt đường dẫn gửi lại trong cấu hình cục bộ của mình không

## Danh sách kiểm tra phát trực tiếp- [ ] Thông tin xác thực đồ thị hiện có và chính xác
- []
`msgraph_webhook
` được kích hoạt và có thể truy cập từ internet công cộng
- [ ]
`MSGRAPH_WEBHOOK_CLIENT_STATE
` được thiết lập và khớp với các đăng ký
- [ ] đăng ký bản ghi được tạo
- [ ] đăng ký ghi âm được tạo nếu yêu cầu dự phòng STT
- [ ]
`ffmpeg
` được cài đặt nếu bật tính năng ghi dự phòng
- [ ] Mục tiêu gửi đi của nhóm được định cấu hình và xác minh
- [] Phần chìm Notion và Linear chỉ được định cấu hình nếu thực sự cần thiết
- [ ]
`Hermes teams-pipeline validate
` trả về ảnh chụp nhanh OK
- [ ]
`Hermes teams-pipeline token-health --force-refresh
` thành công
- [ ] **
`maintain-subscriptions
` được lên lịch** (Hermes cron, bộ đếm thời gian systemd hoặc crontab — xem [Automating subscription renewal](#automating-subscription-renewal-required-for-production)). Nếu không có điều này, đăng ký Graph sẽ âm thầm hết hạn trong vòng 72 giờ.
- [ ] một sự kiện họp thực sự từ đầu đến cuối đã tạo ra một công việc được lưu trữ
- [ ] ít nhất một bản tóm tắt đã đến nơi phân phối dự kiến

## Hướng dẫn quyết định chế độ phân phối

| Chế độ | Sử dụng khi | Đánh đổi |
|------|----------|----------|
|
`incoming_webhook
` | bạn chỉ cần đăng bài đơn giản vào Teams | thiết lập đơn giản nhất, ít kiểm soát hơn |
|
`graph
` | bạn cần đăng kênh hoặc trò chuyện qua Graph | nhiều quyền kiểm soát hơn, nhiều xác thực hơn và cấu hình mục tiêu |

## Bảng tính toán tử

Điền thông tin này trước khi triển khai:

| Mục | Giá trị |
|------|-------|
| URL thông báo công khai | |
| ID đối tượng thuê biểu đồ | |
| ID khách hàng đồ thị | |
| Trạng thái máy khách Webhook | |
| Đăng ký tài nguyên bảng điểm | |
| Đăng ký tài nguyên ghi âm | |
| Chế độ giao hàng theo nhóm | |
| ID trò chuyện nhóm hoặc nhóm/kênh | |
| ID cơ sở dữ liệu khái niệm | |
| ID nhóm tuyến tính | |
| Ghi đè đường dẫn lưu trữ, nếu có | |
| Chủ sở hữu để kiểm tra hàng ngày | |

## Bảng đánh giá thay đổi

Sử dụng điều này trước khi thay đổi việc triển khai:

| Câu hỏi | Trả lời |
|----------|--------|
| Có phải chúng tôi đang thay đổi URL webhook công khai không? | |
| Chúng ta có đang luân chuyển thông tin đăng nhập của Graph không? | |
| Có phải chúng tôi đang thay đổi chế độ phân phối của Nhóm không? | |
| Chúng ta có đang chuyển sang kênh hoặc trò chuyện nhóm mới không? | |
| Đăng ký có cần phải được tạo lại hoặc gia hạn không? | |
| Chúng ta có cần chạy xác minh toàn diện mới không? | |

## Tài liệu liên quan
- [Teams Meetings setup](/docs/user-guide/messaging/teams-meetings)
- [Microsoft Teams bot setup](/docs/user-guide/messaging/teams)