#!/usr/bin/env bash # make-tree-demo-data.sh — 給「資料夾樹 / 檢索過程樹」做 demo 的巢狀測試資料 # # 為什麼有這支(leo 2026-08-19): # 「我開啟新版 daemon,看不出不同⋯⋯如果要讓每個資料夾達到碎型, # 你需要把 /Users/youlinhsieh/Desktop/youlinhsieh-test1 放進一些測試資料來 demo 巢狀」 # ⇒ 樹的第三、四層是「選中的資料夾」與「它的巢狀子資料夾」。 # test1 是平的(或空的)⇒ 樹再對也只畫得出一層 ⇒ 看起來像沒改。 # # 🔴 這支跑在 **leo 的 Mac 上**,不是雲端。雲端 session 碰不到 ~/Desktop。 # # 判準都對齊 daemon 實際的收檔規則(arcrun-collector): # · 副檔名白名單 scan.go:allowedExt —— 這裡只用 .md / .csv,保證每一份都收得進去 # · 不放 logseq/ 或 .obsidian/ ⇒ vault.go 判為一般資料夾(不會被當筆記庫另眼對待) # · 不 git init ⇒ ingestplan.go 判 IngestAll(整棵收,不是只收 docs/) # · 不用 node_modules/build/dist 這類名字 ⇒ 不會被 toolOwnedDirNames 整棵剪掉 # · 14 個檔、都很短 ⇒ 不觸發 arcrun-rag#121「一次一大批壓垮自己」 # # 用法: # bash make-tree-demo-data.sh # 預設 ~/Desktop/youlinhsieh-test1 # bash make-tree-demo-data.sh /path/to/folder # 指定別的資料夾 set -euo pipefail ROOT="${1:-$HOME/Desktop/youlinhsieh-test1}" mkdir -p "$ROOT" # 這支只**新增**檔案,不刪任何既有東西——它跑在使用者的桌面上,不做破壞性動作。 w() { mkdir -p "$(dirname "$ROOT/$1")"; cat > "$ROOT/$1"; } w "README.md" <<'F' # 測試知識庫(youlinhsieh-test1) 這個資料夾是用來驗證「資料夾樹」與「檢索過程樹」的巢狀展示, 內容是虛構的公司文件,不是真實資料。 - 01-公司制度:人事與資安規則 - 02-專案:兩個案子的文件與會議紀錄 - 03-產品:產品說明與價目表 F # ── 01 公司制度(含一層子資料夾)────────────────────────────── w "01-公司制度/差旅費報支辦法.md" <<'F' # 差旅費報支辦法 - 國內出差每日誤餐費上限 新台幣 300 元,需檢附發票。 - 高鐵一律標準車廂;商務車廂需事前經部門主管書面同意。 - 住宿費以雙人房單人使用計算,台北市上限 3,500 元/夜,其他縣市 2,500 元/夜。 - 報支期限:出差結束後 15 個工作天內送件,逾期需寫說明書。 F w "01-公司制度/請假規則.md" <<'F' # 請假規則 - 特休依到職日計算,未休完的特休於年度結束時折算工資。 - 病假單日以上須附診斷證明;一年累計超過 30 日部分不給薪。 - 事假須於 3 個工作天前提出,臨時事假需電話告知直屬主管。 - 家庭照顧假併入事假計算,全年上限 7 日。 F w "01-公司制度/資訊安全/密碼原則.md" <<'F' # 密碼原則 - 長度至少 12 碼,需含大小寫與數字;不得使用公司名稱或員工編號。 - 一律開啟兩階段驗證,簡訊驗證僅在無法使用驗證器時作為備援。 - 密碼管理器指定使用公司採購的版本,不得將公司帳密存入個人瀏覽器。 - 離職當日由資訊室統一停用所有帳號,主管需在交接表上簽名確認。 F w "01-公司制度/資訊安全/外部儲存裝置使用規範.md" <<'F' # 外部儲存裝置使用規範 - 隨身碟需經資訊室登錄並加密,未登錄者插入公司電腦會被端點防護阻擋。 - 客戶資料一律不得存入個人雲端硬碟,需使用公司核發的共用空間。 - 報廢硬碟需實體銷毀並留存銷毀證明,不得逕行丟棄或轉贈。 F # ── 02 專案(兩案,其中一案再含會議紀錄子資料夾)──────────────── w "02-專案/教育部標案/RFP摘要.md" <<'F' # 教育部標案 RFP 摘要 - 案名:中小學數位學習平台知識管理系統擴充案 - 預算上限:新台幣 480 萬元,履約期間 8 個月。 - 必要條件:需支援單一登入(SSO)串接教育雲帳號。 - 評選比重:技術 60%、價格 30%、簡報 10%。 - 決標方式:最有利標。 F w "02-專案/教育部標案/時程與里程碑.md" <<'F' # 教育部標案 時程與里程碑 | 里程碑 | 日期 | 交付 | |---|---|---| | 契約簽訂 | 2026-09-01 | 專案計畫書 | | 系統設計審查 | 2026-10-15 | 系統設計文件 | | 第一階段上線 | 2026-12-20 | 知識庫檢索模組 | | 驗收 | 2027-04-30 | 驗收測試報告 | F w "02-專案/教育部標案/會議紀錄/20260801-啟動會議.md" <<'F' # 20260801 教育部標案 啟動會議紀錄 出席:專案經理、技術主管、教育部承辦。 決議事項: 1. SSO 串接以教育雲 OAuth 為主,不自建帳號系統。 2. 測試資料由教育部於 9 月中前提供去識別化樣本。 3. 每兩週一次書面進度回報,格式沿用前案。 F w "02-專案/教育部標案/會議紀錄/20260812-期中檢討.md" <<'F' # 20260812 教育部標案 期中檢討紀錄 追蹤事項: 1. 教育雲 OAuth 測試環境尚未開通,承辦協助催辦,預計 8/20 前。 2. 去識別化樣本延後至 9 月底,第一階段上線時程風險升為「中」。 3. 簡報樣式改採機關既有範本,本週提供給設計。 F w "02-專案/市立圖書館導入/需求訪談.md" <<'F' # 市立圖書館導入 需求訪談 - 館員最在意的是「找得到館藏說明的原始檔在哪一台電腦上」,不是搜尋速度。 - 現況:各分館各自維護 Word 檔,同名檔案散在 5 台電腦,版本互相矛盾。 - 期待:一個地方就能問,答案要指得出原稿在哪個分館、哪個資料夾。 F w "02-專案/市立圖書館導入/風險清單.md" <<'F' # 市立圖書館導入 風險清單 | 風險 | 影響 | 對策 | |---|---|---| | 分館網路頻寬不足 | 同步緩慢 | 夜間排程同步 | | 館員不熟悉新介面 | 導入後不使用 | 用他們熟悉的檔案總管式樹狀清單呈現 | | 舊檔編碼混亂 | 內容亂碼 | 匯入前批次轉檔為 UTF-8 | F # ── 03 產品 ────────────────────────────────────────────── w "03-產品/Arcrun/定位與賣點.md" <<'F' # Arcrun 定位與賣點 - 一句話:把檔案丟進資料夾,公司知識庫自動長出來。 - 與傳統做法的差別:不做全量向量化,靠三元組圖找到相關的子庫再讀。 - 對客戶的意義:知識統一在一個總庫,但永遠答得出原稿在哪一台機器、哪個資料夾。 F w "03-產品/Arcrun/常見問答.md" <<'F' # Arcrun 常見問答 **Q:我把資料夾從清單移除,雲端的知識會留著嗎?** A:預設會一起收回;只想停止監看也可以選。 **Q:兩台電腦有同名的檔會不會搞混?** A:不會,每份原稿都記得自己來自哪一台機器。 **Q:需要先整理資料夾嗎?** A:不需要,依賴目錄與建置產物會自動略過。 F w "03-產品/價目表.csv" <<'F' 方案,月費,包含席次,知識卡上限,備註 入門,1200,3,5000,含社群支援 標準,3600,10,30000,含電子郵件支援 企業,12000,50,不限,含專屬窗口與導入協助 F echo "✅ 已建立測試資料於:$ROOT" echo if command -v tree >/dev/null 2>&1; then tree "$ROOT" else find "$ROOT" -not -path '*/.*' | sed "s|$ROOT|.|" | sort fi echo echo "檔案數:$(find "$ROOT" -type f -not -path '*/.*' | wc -l | tr -d ' ') 最深層數:4(總庫→機器→$(basename "$ROOT")→…→會議紀錄)"