This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new d626bb67be0 [skills] modify slack skills (#4169)
d626bb67be0 is described below
commit d626bb67be0e2239069bd6667140b24b2c3801a7
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Tue Sep 22 11:15:50 2026 +0800
[skills] modify slack skills (#4169)
Co-authored-by: morningman <[email protected]>
---
doc-tools/skills/weekly-report-slack/SKILL.md | 14 ++++++++++---
.../scripts/generate_slack_post.py | 24 ++++++++++++++++++++--
.../file-cache/file-cache-peer-read.md | 4 ++--
.../file-cache/file-cache-peer-read.md | 4 ++--
.../file-cache/file-cache-peer-read.md | 4 ++--
.../file-cache/file-cache-peer-read.md | 4 ++--
6 files changed, 41 insertions(+), 13 deletions(-)
diff --git a/doc-tools/skills/weekly-report-slack/SKILL.md
b/doc-tools/skills/weekly-report-slack/SKILL.md
index f5387401e42..f1632fe37f4 100644
--- a/doc-tools/skills/weekly-report-slack/SKILL.md
+++ b/doc-tools/skills/weekly-report-slack/SKILL.md
@@ -1,6 +1,6 @@
---
name: weekly-report-slack
-description: Generate an English Slack-ready post from an Apache Doris weekly
community report MDX file. Use when the user invokes `$weekly-report-slack
path/to/report.mdx` or asks to turn a Doris weekly report, especially
`src/pages/community-report/_reports/YYYY-MM-DD.mdx`, into the standard Slack
announcement format with date range, summary paragraph, highlights, and report
link.
+description: Generate an English Slack-ready post and save a temporary
Markdown copy from an Apache Doris weekly community report MDX file. Use when
the user invokes `$weekly-report-slack path/to/report.mdx` or asks to turn a
Doris weekly report, especially
`src/pages/community-report/_reports/YYYY-MM-DD.mdx`, into the standard Slack
announcement format with date range, summary paragraph, highlights, and report
link.
---
# Weekly Report Slack
@@ -33,8 +33,9 @@ The expected source format is the structured MDX generated by
`community-radar`,
python3 doc-tools/skills/weekly-report-slack/scripts/generate_slack_post.py
<report-path>
```
-3. Return the generated Slack post as the main answer. Do not wrap it in a
code fence unless the user asks for a fenced block.
-4. If the report is unpublished, or the user provides a preview URL, pass it
explicitly:
+3. The script prints the Slack post, saves an identical copy to a unique
temporary `.md` file, and reports the saved path.
+4. Return the generated Slack post as the main answer. Do not wrap it in a
code fence unless the user asks for a fenced block. After the post, provide the
temporary Markdown file as a clickable local-file link.
+5. If the report is unpublished, or the user provides a preview URL, pass it
explicitly:
```shell
python3 doc-tools/skills/weekly-report-slack/scripts/generate_slack_post.py
<report-path> --report-link <url>
@@ -57,6 +58,9 @@ Preserve this Slack formatting:
👉 Read the full weekly report:
[REPORT LINK]
+📝 We’d love your feedback—please fill out our survey:
+https://docs.google.com/forms/d/e/1FAIpQLSeSppR5JJyXIxNoPlG_hS8RTW8k2tsCkpC0h68WSN6CEUsWcA/viewform
+
Big thanks to everyone who contributed, reviewed, tested, reported issues, and
shared feedback this week! 🙌
```
@@ -64,6 +68,10 @@ Use the report's `label` as `[DATE RANGE]`,
`report.summary.lead` as the opening
By default, the report link is
`https://doris.apache.org/community-report#<filename-without-extension>`,
because the website uses URL hashes to deep-link weekly reports.
+Always include the survey invitation and URL shown in the template immediately
after the report link.
+
+Every run must save the complete post to the temporary Markdown path produced
by the script and tell the user that path. Do not include the path inside the
Slack post itself.
+
## Guardrails
- Keep the post in English.
diff --git
a/doc-tools/skills/weekly-report-slack/scripts/generate_slack_post.py
b/doc-tools/skills/weekly-report-slack/scripts/generate_slack_post.py
index 28cbdf84566..b283fb5f687 100755
--- a/doc-tools/skills/weekly-report-slack/scripts/generate_slack_post.py
+++ b/doc-tools/skills/weekly-report-slack/scripts/generate_slack_post.py
@@ -7,11 +7,13 @@ import argparse
import json
import re
import sys
+import tempfile
from pathlib import Path
from typing import Any
DEFAULT_SITE_URL = "https://doris.apache.org"
+SURVEY_URL =
"https://docs.google.com/forms/d/e/1FAIpQLSeSppR5JJyXIxNoPlG_hS8RTW8k2tsCkpC0h68WSN6CEUsWcA/viewform"
class ReportError(RuntimeError):
@@ -90,11 +92,26 @@ def generate_post(report_path: Path, report_link: str |
None, site_url: str) ->
"👉 Read the full weekly report:",
link,
"",
+ "📝 We’d love your feedback—please fill out our survey:",
+ SURVEY_URL,
+ "",
"Big thanks to everyone who contributed, reviewed, tested,
reported issues, and shared feedback this week! 🙌",
]
)
+def save_temp_post(post: str, report_path: Path) -> Path:
+ with tempfile.NamedTemporaryFile(
+ mode="w",
+ encoding="utf-8",
+ prefix=f"doris-weekly-report-{report_path.stem}-",
+ suffix=".md",
+ delete=False,
+ ) as output_file:
+ output_file.write(f"{post}\n")
+ return Path(output_file.name).resolve()
+
+
def main() -> int:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("report_path", type=Path, help="Path to the weekly
report .md or .mdx file")
@@ -107,8 +124,11 @@ def main() -> int:
return 2
try:
- print(generate_post(args.report_path, args.report_link, args.site_url))
- except ReportError as exc:
+ post = generate_post(args.report_path, args.report_link, args.site_url)
+ output_path = save_temp_post(post, args.report_path)
+ print(post)
+ print(f"Saved Markdown file: {output_path}", file=sys.stderr)
+ except (OSError, ReportError) as exc:
print(f"error: {exc}", file=sys.stderr)
return 1
diff --git a/docs/compute-storage-decoupled/file-cache/file-cache-peer-read.md
b/docs/compute-storage-decoupled/file-cache/file-cache-peer-read.md
index d66b0a96a3c..0bc555a3118 100644
--- a/docs/compute-storage-decoupled/file-cache/file-cache-peer-read.md
+++ b/docs/compute-storage-decoupled/file-cache/file-cache-peer-read.md
@@ -13,9 +13,9 @@
Peer cache read is how the File Cache handles a miss in compute-storage
decoupled mode. When a BE does not have a block in its local File Cache, it
first asks the File Cache of another BE, in the same compute group or a
different one, and reads from object storage only when no peer has the block
either. It only affects the cold-read path; reads that hit the local cache are
unchanged.
-:::caution Version
+:::caution Experimental feature
-Peer cache read is supported since version 4.2.0 and is enabled by default. To
turn it off, set `enable_cache_read_from_peer = false` on the BE.
+Peer cache read is available as an experimental feature starting from Doris
4.2.0 and is enabled by default. To turn it off, set
`enable_cache_read_from_peer = false` on the BE.
:::
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/file-cache/file-cache-peer-read.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/file-cache/file-cache-peer-read.md
index b8099c712c4..d95b9aa63e6 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/file-cache/file-cache-peer-read.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compute-storage-decoupled/file-cache/file-cache-peer-read.md
@@ -13,9 +13,9 @@
Peer 读是存算分离架构下 File Cache 的未命中处理策略:本 BE 的 File Cache 没有某个数据块时,先向其他
BE(同计算组或其他计算组)的 File Cache 要,其他 BE
也没有再回源对象存储。它只作用于冷读路径,命中本地缓存的读取不受影响。本文中的"计算组"指 Compute Group。
-:::caution 版本支持
+:::caution 实验性功能
-Peer 读自 4.2.0 版本起支持,默认开启。不需要这项能力时,在 BE 上设置 `enable_cache_read_from_peer =
false` 关闭。
+Peer 读自 Doris 4.2.0 起作为实验性功能提供,默认开启。不需要这项能力时,在 BE 上设置
`enable_cache_read_from_peer = false` 关闭。
:::
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/compute-storage-decoupled/file-cache/file-cache-peer-read.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/compute-storage-decoupled/file-cache/file-cache-peer-read.md
index b8099c712c4..d95b9aa63e6 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/compute-storage-decoupled/file-cache/file-cache-peer-read.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/compute-storage-decoupled/file-cache/file-cache-peer-read.md
@@ -13,9 +13,9 @@
Peer 读是存算分离架构下 File Cache 的未命中处理策略:本 BE 的 File Cache 没有某个数据块时,先向其他
BE(同计算组或其他计算组)的 File Cache 要,其他 BE
也没有再回源对象存储。它只作用于冷读路径,命中本地缓存的读取不受影响。本文中的"计算组"指 Compute Group。
-:::caution 版本支持
+:::caution 实验性功能
-Peer 读自 4.2.0 版本起支持,默认开启。不需要这项能力时,在 BE 上设置 `enable_cache_read_from_peer =
false` 关闭。
+Peer 读自 Doris 4.2.0 起作为实验性功能提供,默认开启。不需要这项能力时,在 BE 上设置
`enable_cache_read_from_peer = false` 关闭。
:::
diff --git
a/versioned_docs/version-4.x/compute-storage-decoupled/file-cache/file-cache-peer-read.md
b/versioned_docs/version-4.x/compute-storage-decoupled/file-cache/file-cache-peer-read.md
index d66b0a96a3c..0bc555a3118 100644
---
a/versioned_docs/version-4.x/compute-storage-decoupled/file-cache/file-cache-peer-read.md
+++
b/versioned_docs/version-4.x/compute-storage-decoupled/file-cache/file-cache-peer-read.md
@@ -13,9 +13,9 @@
Peer cache read is how the File Cache handles a miss in compute-storage
decoupled mode. When a BE does not have a block in its local File Cache, it
first asks the File Cache of another BE, in the same compute group or a
different one, and reads from object storage only when no peer has the block
either. It only affects the cold-read path; reads that hit the local cache are
unchanged.
-:::caution Version
+:::caution Experimental feature
-Peer cache read is supported since version 4.2.0 and is enabled by default. To
turn it off, set `enable_cache_read_from_peer = false` on the BE.
+Peer cache read is available as an experimental feature starting from Doris
4.2.0 and is enabled by default. To turn it off, set
`enable_cache_read_from_peer = false` on the BE.
:::
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]