Files
feishu_bitable/outline_view.html
2026-03-23 10:45:02 +08:00

916 lines
138 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bitable Records - Interactive View</title>
<style>
:root {
--bg-color: #f8fafc;
--text-color: #334155;
--card-bg: #ffffff;
--border-color: #e2e8f0;
--accent-color: #3b82f6;
--hover-bg: #f1f5f9;
--tag-bg: #e0e7ff;
--tag-text: #3730a3;
--text-muted: #64748b;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background-color: var(--bg-color);
color: var(--text-color);
margin: 0;
padding: 40px 20px;
line-height: 1.5;
}
.container {
max-width: 1200px;
margin: 0 auto;
background: var(--card-bg);
border-radius: 12px;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
padding: 30px;
border: 1px solid var(--border-color);
}
h1 {
text-align: center;
font-weight: 700;
margin-bottom: 30px;
font-size: 28px;
color: #0f172a;
}
.toolbar {
display: flex;
gap: 12px;
margin-bottom: 24px;
padding: 16px;
background: #f8fafc;
border: 1px solid var(--border-color);
border-radius: 8px;
flex-wrap: wrap;
align-items: center;
}
.toolbar input, .toolbar select, .toolbar button {
padding: 8px 12px;
border: 1px solid #cbd5e1;
border-radius: 6px;
font-size: 14px;
outline: none;
background: white;
}
.toolbar input {
flex-grow: 1;
min-width: 200px;
}
.toolbar input:focus, .toolbar select:focus {
border-color: var(--accent-color);
box-shadow: 0 0 0 2px #dbeafe;
}
.toolbar button {
cursor: pointer;
font-weight: 500;
transition: background 0.2s;
}
.toolbar button:hover {
background: var(--hover-bg);
}
.tabs {
display: flex;
border-bottom: 2px solid var(--border-color);
margin-bottom: 20px;
gap: 8px;
overflow-x: auto;
}
.tab {
padding: 10px 20px;
cursor: pointer;
background: transparent;
border: none;
border-bottom: 2px solid transparent;
margin-bottom: -2px;
font-weight: 500;
color: var(--text-muted);
transition: all 0.2s;
white-space: nowrap;
}
.tab:hover {
color: var(--text-color);
background: var(--hover-bg);
border-radius: 6px 6px 0 0;
}
.tab.active {
color: var(--accent-color);
border-bottom-color: var(--accent-color);
}
ul.tree {
list-style-type: none;
padding-left: 0;
margin: 0;
}
ul.tree ul {
list-style-type: none;
padding-left: 28px;
border-left: 2px solid #cbd5e1;
margin-left: 14px;
margin-top: 4px;
}
li { margin: 6px 0; }
.node-content {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 14px;
background: #ffffff;
border: 1px solid var(--border-color);
border-radius: 6px;
transition: all 0.2s ease;
box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.node-content:hover {
background: var(--hover-bg);
border-color: #cbd5e1;
}
.dimmed .node-content {
opacity: 0.5;
background: #f8fafc;
}
details { margin-bottom: 6px; }
summary {
list-style: none;
cursor: pointer;
display: block;
user-select: none;
outline: none;
}
summary::-webkit-details-marker { display: none; }
.toggle-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
margin-right: 8px;
color: #94a3b8;
transition: transform 0.2s ease;
font-family: monospace;
font-size: 14px;
}
details[open] > summary .toggle-icon {
transform: rotate(90deg);
color: var(--accent-color);
}
.task-left {
display: flex;
align-items: center;
flex-grow: 1;
min-width: 0;
}
.task-title {
font-weight: 600;
font-size: 15px;
color: #1e293b;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-right: 16px;
}
.task-meta {
display: flex;
align-items: center;
gap: 16px;
flex-shrink: 0;
font-size: 13px;
color: var(--text-muted);
}
.meta-item {
display: flex;
align-items: center;
gap: 6px;
}
.avatar {
width: 20px;
height: 20px;
border-radius: 50%;
background: #e2e8f0;
display: inline-block;
vertical-align: middle;
object-fit: cover;
}
.tags {
display: flex;
gap: 6px;
align-items: center;
}
.tag {
background: var(--tag-bg);
color: var(--tag-text);
padding: 2px 8px;
border-radius: 12px;
font-weight: 600;
font-size: 12px;
white-space: nowrap;
}
.empty-leaf {
padding-left: 32px;
}
.unnamed-task {
color: #94a3b8;
font-style: italic;
}
.stats {
font-size: 14px;
color: var(--text-muted);
margin-bottom: 12px;
text-align: right;
}
</style>
</head>
<body>
<div class="container">
<h1>ALL IN AI</h1>
<div id="globalAiSummaryResult" style="display:none;margin-bottom:20px;padding:16px;background:#ffffff;border:1px solid #c4b5fd;border-left:4px solid #8b5cf6;border-radius:8px;font-size:14px;color:#4c1d95;white-space:pre-wrap;line-height:1.6;max-height:500px;overflow-y:auto;box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);"></div>
<div class="tabs" id="tabContainer"></div>
<div class="toolbar" id="toolbarFilters">
<input type="text" id="searchInput" placeholder="Search tasks...">
<div style="display:flex; align-items:center; gap:6px;">
<span style="font-size:14px;color:#64748b;">Date:</span>
<input type="date" id="dateFrom" title="Start Date">
<span style="color:#cbd5e1;">-</span>
<input type="date" id="dateTo" title="End Date">
</div>
<select id="statusFilter">
<option value="">All Statuses</option>
</select>
<select id="leaderFilter">
<option value="">All Leaders</option>
</select>
<select id="sortOrder">
<option value="default">Sort: Default</option>
<option value="startDate">Sort: Start Date</option>
<option value="priority">Sort: Priority</option>
</select>
<button id="toggleExpand">Toggle Expand All</button>
</div>
<div class="stats" id="statsDisplay"></div>
<div id="summaryDisplay"></div>
<div id="aiSummaryResult" style="display:none;margin-bottom:16px;padding:16px;background:#ffffff;border:1px solid #bbf7d0;border-radius:8px;font-size:14px;color:#334155;white-space:pre-wrap;line-height:1.6;max-height:500px;overflow-y:auto;box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);"></div>
<div id="tree-container"></div>
</div>
<script>
const tabData = [{"name": "MM Group", "records": [{"fields": {"Days Left": 0, "End Date": 1760112000000, "Estimate Deadline": 1760112000000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "浪潮雲原有的 CUDA driver 與 NCCL 有衝突,在 vLLM >= 0.9.1 & -tp >= 2多卡推理會引發 error透過更新浪潮雲的 CUDA driver 解決 (fixed by JC)", "Related Documents": null, "Start date": 1759248000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Qwen3-VL & Qwen3-Omni 環境部署", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14uQadX9Mx", "record_id": "recv14uQadX9Mx"}, {"fields": {"Days Left": 0, "End Date": 1760025600000, "Estimate Deadline": 1760025600000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "Qwen3-Omni\n截止到 Oct 10, 2025所有測試都是基於 transformers 來推理,目前 vLLM 未支持 audio output但 Qwen Team 說未來會支持 ⇒ 使用 transformers 來推理會很慢", "Related Documents": null, "Start date": 1759680000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Qwen3-Omni 能力測試", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14wyuHcyxL", "record_id": "recv14wyuHcyxL"}, {"fields": {"Days Left": 0, "End Date": 1767283200000, "Estimate Deadline": null, "Images": null, "Manday count": "40", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": " MoE Model Fine-tuning", "Related Documents": null, "Start date": 1760889600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "MoE model fine-tuning & evaluation", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14ylsW2dmS", "record_id": "recv14ylsW2dmS"}, {"fields": {"Days Left": 0, "End Date": 1763654400000, "Estimate Deadline": 1763654400000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "21/11 - 已完成初版整理", "Related Documents": [{"file_token": "VqXnb0MNXoTCDqxEhORcel3dnid", "name": "ird-slide-gallery.pptx", "size": 61476043, "tmp_url": "https://open.feishu.cn/open-apis/drive/v1/medias/batch_get_tmp_download_url?file_tokens=VqXnb0MNXoTCDqxEhORcel3dnid", "type": "application/vnd.openxmlformats-officedocument.presentationml.presentation", "url": "https://open.feishu.cn/open-apis/drive/v1/medias/VqXnb0MNXoTCDqxEhORcel3dnid/download"}], "Start date": 1763049600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "PPT 常用素材模版整理", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14yZt4zcX7", "record_id": "recv14yZt4zcX7"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Stalled", "Target Customers": ["IRD"], "Task": "Invoice OCR 功能整合到 Agent workflow", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14z4PTYHGW", "record_id": "recv14z4PTYHGW"}, {"fields": {"Days Left": 0, "End Date": 1760025600000, "Estimate Deadline": 1760025600000, "Images": null, "Manday count": "1", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "HuggingFace Team 從超過 200 個現有數據集來源中彙集而來,旨在提供高品質的 Image-Text pair 數據,幫助模型更好地理解視覺內容並進行推理。\nhttps://huggingface.co/datasets/HuggingFaceM4/FineVision", "Related Documents": null, "Start date": 1759680000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "下載 FineVision 數據集", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14AQDNWGjQ", "record_id": "recv14AQDNWGjQ"}, {"fields": {"Days Left": 0, "End Date": 1760025600000, "Estimate Deadline": 1760025600000, "Images": null, "Manday count": "2", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "MGM - POC - VibeInvoiceInvoice OCR\n已有的 OCR models如 PaddleOCR, PaddleOCR-VL, dots.ocr 雖可做到 Layout Parsing 和 OCR但無法像 VLM 一樣可以理解 user instruction尤其對一些手寫修改的部份無法理解如 Tom 文檔中提到的部份", "Related Documents": null, "Start date": 1759680000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Qwen3-VL Invoice OCR", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14BTsYhiDQ", "record_id": "recv14BTsYhiDQ"}, {"fields": {"Days Left": 0, "End Date": 1760630400000, "Estimate Deadline": 1760630400000, "Images": null, "Manday count": "3", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": [{"file_token": "FRzDbgUPeoxxTAxLExdcMgdgn4c", "name": "20251015-vlm-and-data-synthesis-v2.pptx", "size": 189262204, "tmp_url": "https://open.feishu.cn/open-apis/drive/v1/medias/batch_get_tmp_download_url?file_tokens=FRzDbgUPeoxxTAxLExdcMgdgn4c", "type": "application/vnd.openxmlformats-officedocument.presentationml.presentation", "url": "https://open.feishu.cn/open-apis/drive/v1/medias/FRzDbgUPeoxxTAxLExdcMgdgn4c/download"}], "Start date": 1760284800000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "多模態模型微調 & 數據合成 slide", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14DFPwYYxK", "record_id": "recv14DFPwYYxK"}, {"fields": {"Days Left": 0, "End Date": 1762444800000, "Estimate Deadline": 1764172800000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "- 完成人臉表情分類的部份,等待與小舟的剖份做整合 (Oct 31, 2025)\n- 整合人臉表人臉表情分類和腦電部份 (Nov 6, 2025)", "Related Documents": [{"file_token": "DBFVbwcL1o0FTaxuHfwclYpBnQg", "name": "2023B - new-20251107-23b-presentation-final.pptx", "size": 41625926, "tmp_url": "https://open.feishu.cn/open-apis/drive/v1/medias/batch_get_tmp_download_url?file_tokens=DBFVbwcL1o0FTaxuHfwclYpBnQg", "type": "application/vnd.openxmlformats-officedocument.presentationml.presentation", "url": "https://open.feishu.cn/open-apis/drive/v1/medias/DBFVbwcL1o0FTaxuHfwclYpBnQg/download"}], "Start date": 1763049600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "23B Annual Presentation (Nov 7, 2025)", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14EgZUKHaw", "record_id": "recv14EgZUKHaw"}, {"fields": {"Days Left": 0, "End Date": 1770998400000, "Estimate Deadline": null, "Images": null, "Manday count": "30", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "\n陈文晓1月24日 22:42\ntts-blackbox重构及文档整理https://github.com/BoardWare-Genius/tts-blackbox\n\n陈文晓1月24日 22:43\n更新至1.0.0版本\n\n\nBenson\n\n陈文晓1月30日 19:08 (编辑过)\n更新asr-blackbox,接入使用fun-asr-nano-2512\n\n陈文晓2月6日 18:34\n重构asr-blackbox并更新采用uv部署代码迁移到https://gitea.bwgdi.com/BoardWare-Genius/asr-blackbox\n\n陈文晓2月6日 18:35\n编写gemma translate的接口代码https://gitea.bwgdi.com/BoardWare-Genius/TranslateGemma\n\n陈文晓2月14日 18:15\nasr tts 改造完成正式部署在05号机子asr-blackbox(Qwen3-ASR-1.7B), tts-blackbox(VoxCPM)\n\n陈文晓2月14日 18:17\ncurl --location 'http://10.6.80.21:5001/asr-blackbox' \\\n--form 'audio=@\"/home/verachen/Music/prompt_audio_2_en.wav\"' \\\n--form 'model_name=\"qwen\"'\n\n陈文晓2月14日 18:17\ncurl --location 'http://10.6.80.21:5002/tts-blackbox' \\\n--form 'text=\"你好,这是一段测试文本\"' \\\n--form 'model_name=\"voxcpmtts\"'\n\n\nBenson\n\n", "Related Documents": null, "Start date": 1763136000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "TTS ASR系统设计开发", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": "1月24日陈文晓完成tts-blackbox重构及文档整理并更新至1.0.0版本1月30日更新asr-blackbox接入fun-asr-nano-25122月6日重构asr-blackbox采用uv部署并迁移代码同时编写gemma translate接口代码2月14日完成asr和tts改造将asr-blackboxQwen3-ASR-1.7B和tts-blackboxVoxCPM正式部署在05号机子并提供了相应的curl调用示例。", "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14HesizlNf", "record_id": "recv14HesizlNf"}, {"fields": {"Days Left": 0, "End Date": 1765900800000, "Estimate Deadline": 1764259200000, "Images": null, "Manday count": "30", "Overdue": [{"text": "🚨 Overdue", "type": "text"}], "Priority": "Normal", "Progress notes": "TTS 并发测试", "Related Documents": null, "Start date": 1759939200000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "测试相关tts并发问题melotts, indextts, cosyvoicetts, voxcpm等", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14HL5yZZlp", "record_id": "recv14HL5yZZlp"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "-MeloTTS并发优化打包到harbor v0.0.3\n-CosyVoice并发优化不明显", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "TTS并发优化", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14HL5ygMxT", "record_id": "recv14HL5ygMxT"}, {"fields": {"Days Left": 0, "End Date": 1768492800000, "Estimate Deadline": 1768492800000, "Images": null, "Manday count": "20", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "TTS综合测试 TTS 并发测试", "Related Documents": null, "Start date": 1763395200000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "TTS功能测试", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14HL5yAdNw", "record_id": "recv14HL5yAdNw"}, {"fields": {"Days Left": -82, "End Date": null, "Estimate Deadline": 1767110400000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "陈文晓2025年12月4日\n现已接通大模型部分rag-blackbox还没能完全测试可用\n\n吴嘉泰2025年12月12日\nrag-blackbox 接通完成,需要对请求模型参数做更多细节比对\n\n吴嘉泰2025年12月19日\n增加历史会话功能参数增添了temperature,但是\"presence_penalty\" , \"frequency_penalty\" , \"repetition_penalty\"等还没加成。另外还有rag upsert功能没对结果谨慎添加。", "Related Documents": null, "Start date": 1764604800000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "配合小舟BarcoOne对接blackbox", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}, {"avatar_url": "https://s1-imfile.feishucdn.com/static-resource/v1/v3_00c0_ba335016-952c-4498-a832-193c6158a0ag~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "吴嘉泰", "id": "ou_cff77177e8bb971c1565f1982212178c", "name": "吴嘉泰"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14HL5y61YP", "record_id": "recv14HL5y61YP"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1763136000000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "“令人心动的Idea”项目及安排管理", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv14HL5yHept", "record_id": "recv14HL5yHept"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "嗑点啦", "Task Description": "1. 代码功能开发\n2. 呈现形式展示\n3. 對接到OmniChat 2.0框架用戶記憶工具調用多模態交互優化調研對比OVA OS功能", "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv8I35tzI9Nm", "record_id": "recv8I35tzI9Nm"}, {"fields": {"Days Left": 0, "End Date": 1770307200000, "Estimate Deadline": 1766678400000, "Images": [{"file_token": "A5UbblXl9oqkC1xMyMjcbYBrnAd", "name": "image.png", "size": 22807, "tmp_url": "https://open.feishu.cn/open-apis/drive/v1/medias/batch_get_tmp_download_url?file_tokens=A5UbblXl9oqkC1xMyMjcbYBrnAd", "type": "image/png", "url": "https://open.feishu.cn/open-apis/drive/v1/medias/A5UbblXl9oqkC1xMyMjcbYBrnAd/download"}], "Manday count": "25", "Overdue": [{"text": "🚨 Overdue", "type": "text"}], "Priority": "Important", "Progress notes": "1. 客户端服务端建立 2. 音频采集", "Related Documents": null, "Start date": 1763913600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "AI-Translation POC", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv3aVQF6p1ct", "record_id": "recv3aVQF6p1ct"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1764172800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1763136000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "C2项目PPT准备和答辩准备", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv15CGpKwiET", "record_id": "recv15CGpKwiET"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "记忆力小模型方案设计", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": "该内容是关于“记忆力小模型方案设计”的一条记录状态为“Normal”正常且“Not yet started”尚未开始负责人为马其远。", "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv16dagLhQxV", "record_id": "recv16dagLhQxV"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "公开数据集收集和自制数据集", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": "该内容涉及“公开数据集收集和自制数据集”状态为“Not yet started”尚未开始负责人为马其远状态标记为“✅ Normal”正常。", "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv16ea1L3da3", "record_id": "recv16ea1L3da3"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "VLA数据合成相关文献调研", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": "对VLA数据合成相关文献的调研任务状态为“Normal”且“Not yet started”负责人为马其远。", "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv16enmRVLVN", "record_id": "recv16enmRVLVN"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "Step-Audio TTS Testing", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "step-audio2功能测试", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv14HL5yAdNw"], "table_id": "tblcK7RNfVTE0krF", "text": "TTS功能测试", "text_arr": ["TTS功能测试"], "type": "text"}]}, "id": "recv2erLxOdxFZ", "record_id": "recv2erLxOdxFZ"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Stalled", "Target Customers": ["IRD"], "Task": "VLM 與小舟眼鏡對接 (Qwen3-Omni/Qwen3-VL)", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv2OFArNTsJG", "record_id": "recv2OFArNTsJG"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "cosyvoice功能测试", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv14HL5yAdNw"], "table_id": "tblcK7RNfVTE0krF", "text": "TTS功能测试", "text_arr": ["TTS功能测试"], "type": "text"}]}, "id": "recv3aYh0iu3Uz", "record_id": "recv3aYh0iu3Uz"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "indextts2功能测试", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv14HL5yAdNw"], "table_id": "tblcK7RNfVTE0krF", "text": "TTS功能测试", "text_arr": ["TTS功能测试"], "type": "text"}]}, "id": "recv3aYyDTvaeo", "record_id": "recv3aYyDTvaeo"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "melotts功能测试", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv14HL5yAdNw"], "table_id": "tblcK7RNfVTE0krF", "text": "TTS功能测试", "text_arr": ["TTS功能测试"], "type": "text"}]}, "id": "recv3aYCzDRHOt", "record_id": "recv3aYCzDRHOt"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "voxcpm功能测试", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv14HL5yAdNw"], "table_id": "tblcK7RNfVTE0krF", "text": "TTS功能测试", "text_arr": ["TTS功能测试"], "type": "text"}]}, "id": "recv3aZaEHoBQa", "record_id": "recv3aZaEHoBQa"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1762963200000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1760457600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Video-Understanding的Paper", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv15CxDaPAPF", "record_id": "recv15CxDaPAPF"}, {"fields": {"Days Left": -73, "End Date": null, "Estimate Deadline": 1767888000000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1765123200000, "Status": "Stalled", "Target Customers": ["IRD"], "Task": "具身智能大模型记忆力", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv16egKJCLlj", "record_id": "recv16egKJCLlj"}, {"fields": {"Days Left": -98, "End Date": null, "Estimate Deadline": 1765728000000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": 1764000000000, "Status": "Wishlist", "Target Customers": ["IRD"], "Task": "ASR Model Comparison", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3aVQF6p1ct"], "table_id": "tblcK7RNfVTE0krF", "text": "AI-Translation POC", "text_arr": ["AI-Translation POC"], "type": "text"}]}, "id": "recv3yf3F5ZCBf", "record_id": "recv3yf3F5ZCBf"}, {"fields": {"Days Left": 0, "End Date": 1763913600000, "Estimate Deadline": 1763913600000, "Images": null, "Manday count": "2", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "客户端代码编写可使用麦克风或者wav测试", "Related Documents": null, "Start date": 1763654400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Client POC", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3aVQF6p1ct"], "table_id": "tblcK7RNfVTE0krF", "text": "AI-Translation POC", "text_arr": ["AI-Translation POC"], "type": "text"}]}, "id": "recv3yfoytpc9n", "record_id": "recv3yfoytpc9n"}, {"fields": {"Days Left": 0, "End Date": 1766073600000, "Estimate Deadline": 1766073600000, "Images": null, "Manday count": "12.5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": 1764086400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Server Websocket POC", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3aVQF6p1ct"], "table_id": "tblcK7RNfVTE0krF", "text": "AI-Translation POC", "text_arr": ["AI-Translation POC"], "type": "text"}]}, "id": "recv3yfoNHyJsj", "record_id": "recv3yfoNHyJsj"}, {"fields": {"Days Left": 0, "End Date": 1766073600000, "Estimate Deadline": 1765728000000, "Images": null, "Manday count": "1", "Overdue": [{"text": "🚨 Overdue", "type": "text"}], "Priority": null, "Progress notes": "已解决\n1. 已初步使用fsmn-vad进行分片但是效果不太理想需要再研究一下", "Related Documents": null, "Start date": 1763654400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Audio segmentation", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yfoNHyJsj"], "table_id": "tblcK7RNfVTE0krF", "text": "Server Websocket POC", "text_arr": ["Server Websocket POC"], "type": "text"}]}, "id": "recv3DMyXcXXFB", "record_id": "recv3DMyXcXXFB"}, {"fields": {"Days Left": 0, "End Date": 1764000000000, "Estimate Deadline": 1764000000000, "Images": null, "Manday count": "2", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "已验证funasr vad->stepaudio整体流程可行", "Related Documents": null, "Start date": 1763654400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "整体流程快速验证", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yfoNHyJsj"], "table_id": "tblcK7RNfVTE0krF", "text": "Server Websocket POC", "text_arr": ["Server Websocket POC"], "type": "text"}]}, "id": "recv3DM2TeDNCz", "record_id": "recv3DM2TeDNCz"}, {"fields": {"Days Left": 0, "End Date": 1765814400000, "Estimate Deadline": 1765468800000, "Images": null, "Manday count": "8", "Overdue": [{"text": "🚨 Overdue", "type": "text"}], "Priority": null, "Progress notes": "初步web-demo已成形支持文件上传和实时翻译", "Related Documents": null, "Start date": 1764086400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "简单的web-demo", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yfoNHyJsj"], "table_id": "tblcK7RNfVTE0krF", "text": "Server Websocket POC", "text_arr": ["Server Websocket POC"], "type": "text"}]}, "id": "recv3DKhNQ6HBG", "record_id": "recv3DKhNQ6HBG"}, {"fields": {"Days Left": 0, "End Date": 1766419200000, "Estimate Deadline": 1766678400000, "Images": null, "Manday count": "2", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": 1766332800000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "环境打包测试", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3aVQF6p1ct"], "table_id": "tblcK7RNfVTE0krF", "text": "AI-Translation POC", "text_arr": ["AI-Translation POC"], "type": "text"}]}, "id": "recv3yfoZzXNKg", "record_id": "recv3yfoZzXNKg"}, {"fields": {"Days Left": 0, "End Date": 1764086400000, "Estimate Deadline": 1764086400000, "Images": null, "Manday count": "1.5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "建立websocket服务通过websocket传输音频流并且返回翻译结果给客户端", "Related Documents": null, "Start date": 1763654400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "WebSocket server & API development", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yfoNHyJsj"], "table_id": "tblcK7RNfVTE0krF", "text": "Server Websocket POC", "text_arr": ["Server Websocket POC"], "type": "text"}]}, "id": "recv3DMjBzsnAQ", "record_id": "recv3DMjBzsnAQ"}, {"fields": {"Days Left": -98, "End Date": null, "Estimate Deadline": 1765728000000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "1. 已部署环境,初步测试可粤语翻译英语", "Related Documents": null, "Start date": 1764000000000, "Status": "Wishlist", "Target Customers": ["IRD"], "Task": "openai whisper large v3", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yf3F5ZCBf"], "table_id": "tblcK7RNfVTE0krF", "text": "ASR Model Comparison", "text_arr": ["ASR Model Comparison"], "type": "text"}]}, "id": "recv3DSRricDzs", "record_id": "recv3DSRricDzs"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1765728000000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "1. 已部署环境,初步测试可粤语翻译英语", "Related Documents": null, "Start date": 1764000000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Step-Audio v2", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yf3F5ZCBf"], "table_id": "tblcK7RNfVTE0krF", "text": "ASR Model Comparison", "text_arr": ["ASR Model Comparison"], "type": "text"}]}, "id": "recv3DSWdhCzYC", "record_id": "recv3DSWdhCzYC"}, {"fields": {"Days Left": -98, "End Date": null, "Estimate Deadline": 1765728000000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": 1764000000000, "Status": "Wishlist", "Target Customers": ["IRD"], "Task": "qwen3-livetranslate-flash", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yf3F5ZCBf"], "table_id": "tblcK7RNfVTE0krF", "text": "ASR Model Comparison", "text_arr": ["ASR Model Comparison"], "type": "text"}]}, "id": "recv3DSZYjEUFy", "record_id": "recv3DSZYjEUFy"}, {"fields": {"Days Left": 0, "End Date": 1770307200000, "Estimate Deadline": 1770307200000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "使用qwen3+gemma流程来进行翻译", "Related Documents": null, "Start date": 1769961600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "qwen3+gemma", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yf3F5ZCBf"], "table_id": "tblcK7RNfVTE0krF", "text": "ASR Model Comparison", "text_arr": ["ASR Model Comparison"], "type": "text"}]}, "id": "recvarpqBaE6gF", "record_id": "recvarpqBaE6gF"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "More", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3yf3F5ZCBf"], "table_id": "tblcK7RNfVTE0krF", "text": "ASR Model Comparison", "text_arr": ["ASR Model Comparison"], "type": "text"}]}, "id": "recv3DT0CG4SeX", "record_id": "recv3DT0CG4SeX"}, {"fields": {"Days Left": 0, "End Date": 1766419200000, "Estimate Deadline": 1766678400000, "Images": null, "Manday count": "0.5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": 1766419200000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "代码文档整理工作", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv3aVQF6p1ct"], "table_id": "tblcK7RNfVTE0krF", "text": "AI-Translation POC", "text_arr": ["AI-Translation POC"], "type": "text"}]}, "id": "recv3DTrxcbDtu", "record_id": "recv3DTrxcbDtu"}, {"fields": {"Days Left": 8, "End Date": 1773936000000, "Estimate Deadline": 1774886400000, "Images": null, "Manday count": "10", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1772380800000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "任务安排时间管理关联工具", "Task Description": "1. 對接飛書匯總所有Dashboard的信息到同一工具/系統\n2. 系統能跟蹤超時task并且提醒跟進長時間沒進度的也提醒\n3. 能產生匯總報表,減少每月/每季度給管理層的“手工”活\n4. 能產生一些insights產生Task的相關簡介與總結\n5. Think飛書Dashboard是否是我們想要的進度跟蹤工具ITSM", "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv8I3sg7YHaA", "record_id": "recv8I3sg7YHaA"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1768752000000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "管家日记", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv9epNVHpIyg", "record_id": "recv9epNVHpIyg"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1769788800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "1. 初步建立項目構建需求", "Related Documents": null, "Start date": 1764518400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Video_detection", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv3OyfslKdIO", "record_id": "recv3OyfslKdIO"}, {"fields": {"Days Left": -70, "End Date": null, "Estimate Deadline": 1768147200000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1765123200000, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "Client Development", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OyfslKdIO"], "table_id": "tblcK7RNfVTE0krF", "text": "Video_detection", "text_arr": ["Video_detection"], "type": "text"}]}, "id": "recv3OBlDGdSlW", "record_id": "recv3OBlDGdSlW"}, {"fields": {"Days Left": -66, "End Date": null, "Estimate Deadline": 1768492800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1764518400000, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "Video Detection Development", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OyfslKdIO"], "table_id": "tblcK7RNfVTE0krF", "text": "Video_detection", "text_arr": ["Video_detection"], "type": "text"}]}, "id": "recv3OByNf0JHN", "record_id": "recv3OByNf0JHN"}, {"fields": {"Days Left": -70, "End Date": null, "Estimate Deadline": 1768147200000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1765123200000, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "前端設計", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OBlDGdSlW"], "table_id": "tblcK7RNfVTE0krF", "text": "Client Development", "text_arr": ["Client Development"], "type": "text"}]}, "id": "recv3OBzq3VBvS", "record_id": "recv3OBzq3VBvS"}, {"fields": {"Days Left": -51, "End Date": null, "Estimate Deadline": 1769788800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1768752000000, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "Environment Packaging and Testing", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OyfslKdIO"], "table_id": "tblcK7RNfVTE0krF", "text": "Video_detection", "text_arr": ["Video_detection"], "type": "text"}]}, "id": "recv3OBPrSM1EZ", "record_id": "recv3OBPrSM1EZ"}, {"fields": {"Days Left": -108, "End Date": null, "Estimate Deadline": 1764864000000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1764518400000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "程序架構重構及驗證", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OByNf0JHN"], "table_id": "tblcK7RNfVTE0krF", "text": "Video Detection Development", "text_arr": ["Video Detection Development"], "type": "text"}]}, "id": "recv3OBUF9G4KC", "record_id": "recv3OBUF9G4KC"}, {"fields": {"Days Left": -94, "End Date": null, "Estimate Deadline": 1766073600000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1765728000000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "自定義配置監控m3u8", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OByNf0JHN"], "table_id": "tblcK7RNfVTE0krF", "text": "Video Detection Development", "text_arr": ["Video Detection Development"], "type": "text"}]}, "id": "recv3OBV8ye45V", "record_id": "recv3OBV8ye45V"}, {"fields": {"Days Left": -73, "End Date": null, "Estimate Deadline": 1767888000000, "Images": null, "Manday count": "6", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1767283200000, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "異常日誌存儲", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OByNf0JHN"], "table_id": "tblcK7RNfVTE0krF", "text": "Video Detection Development", "text_arr": ["Video Detection Development"], "type": "text"}]}, "id": "recv3OBVjJXSRJ", "record_id": "recv3OBVjJXSRJ"}, {"fields": {"Days Left": -66, "End Date": null, "Estimate Deadline": 1768492800000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1768147200000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "異常通知", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OByNf0JHN"], "table_id": "tblcK7RNfVTE0krF", "text": "Video Detection Development", "text_arr": ["Video Detection Development"], "type": "text"}]}, "id": "recv3OBVsC0Rpz", "record_id": "recv3OBVsC0Rpz"}, {"fields": {"Days Left": -59, "End Date": null, "Estimate Deadline": 1769097600000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1768752000000, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "部署服務", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OBPrSM1EZ"], "table_id": "tblcK7RNfVTE0krF", "text": "Environment Packaging and Testing", "text_arr": ["Environment Packaging and Testing"], "type": "text"}]}, "id": "recv3OCbX5h24H", "record_id": "recv3OCbX5h24H"}, {"fields": {"Days Left": -52, "End Date": null, "Estimate Deadline": 1769702400000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1769356800000, "Status": "Not yet started", "Target Customers": ["IRD"], "Task": "測試", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_1dcd6032-2d98-40f5-81f7-026469c37f8g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Timous", "id": "ou_17bdc3e278bb787efd6aa36e8fe59bdb", "name": "Timous"}], "总结": null, "父记录": [{"record_ids": ["recv3OBPrSM1EZ"], "table_id": "tblcK7RNfVTE0krF", "text": "Environment Packaging and Testing", "text_arr": ["Environment Packaging and Testing"], "type": "text"}]}, "id": "recv3OCcnexGa3", "record_id": "recv3OCcnexGa3"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": "1", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "更新 LLaMA-Factory 的環境來適應新的 MoE Models", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "更新 LLaMA-Factory 環境適應新 MoE Models", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv14ylsW2dmS"], "table_id": "tblcK7RNfVTE0krF", "text": "MoE model fine-tuning & evaluation", "text_arr": ["MoE model fine-tuning & evaluation"], "type": "text"}]}, "id": "recv3Wx8mHnaBt", "record_id": "recv3Wx8mHnaBt"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": "3", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "LLaMA-Factory 使用 DeepSpeed ZeRO-1 進行 DDP training 可以運行,但 DeepSpeed ZeRO-2 會 timeout (-tp =2 OK, -tp > 2 不OK),前者雖可運行但 training 速度慢 ⇒ 嘗試使用別的 training framework, e.g. MS-Swift (使用 Megatron-LM 作為 backend)", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "DeepSpeed ZeRO-1/ZeRO-2 進行 MoE Model Fine-tuning", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv14ylsW2dmS"], "table_id": "tblcK7RNfVTE0krF", "text": "MoE model fine-tuning & evaluation", "text_arr": ["MoE model fine-tuning & evaluation"], "type": "text"}]}, "id": "recv3WxeMPTNoZ", "record_id": "recv3WxeMPTNoZ"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": "2", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "安裝 MS-Swift & Megatron-Swift 環境 (Megatron-LM as a backend for MoE model fine-tuning)", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv14ylsW2dmS"], "table_id": "tblcK7RNfVTE0krF", "text": "MoE model fine-tuning & evaluation", "text_arr": ["MoE model fine-tuning & evaluation"], "type": "text"}]}, "id": "recv3WxBWPSQlJ", "record_id": "recv3WxBWPSQlJ"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "基於 Megatron-Core 對 MoE Model 進行 Fine-tuning澳門文旅數據", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv14ylsW2dmS"], "table_id": "tblcK7RNfVTE0krF", "text": "MoE model fine-tuning & evaluation", "text_arr": ["MoE model fine-tuning & evaluation"], "type": "text"}]}, "id": "recv3WxC3sNgYo", "record_id": "recv3WxC3sNgYo"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "基於 OpenCompass & VLMEvalKit 評估模型", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "評估 Fine-tuned Qwen3 Series", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv14ylsW2dmS"], "table_id": "tblcK7RNfVTE0krF", "text": "MoE model fine-tuning & evaluation", "text_arr": ["MoE model fine-tuning & evaluation"], "type": "text"}]}, "id": "recv3WxLgc00mP", "record_id": "recv3WxLgc00mP"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "以 Qwen3-30B-A3B-2507 來做 ablation study找出對 MoE Models SFT 影響的 factors", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Qwen3-30B-A3B-2507", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv3WxC3sNgYo"], "table_id": "tblcK7RNfVTE0krF", "text": "基於 Megatron-Core 對 MoE Model 進行 Fine-tuning澳門文旅數據", "text_arr": ["基於 Megatron-Core 對 MoE Model 進行 Fine-tuning澳門文旅數據"], "type": "text"}]}, "id": "recv3WxYwnW9Vk", "record_id": "recv3WxYwnW9Vk"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "從以上的 insights 對 Qwen3-VL 做同樣的實驗", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Qwen3-VL-30B-A3B", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv3WxC3sNgYo"], "table_id": "tblcK7RNfVTE0krF", "text": "基於 Megatron-Core 對 MoE Model 進行 Fine-tuning澳門文旅數據", "text_arr": ["基於 Megatron-Core 對 MoE Model 進行 Fine-tuning澳門文旅數據"], "type": "text"}]}, "id": "recv3Wy2le6vKD", "record_id": "recv3Wy2le6vKD"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "從以上的 insights 對 Qwen3-Omni 做同樣的實驗", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Qwen3-Omni-30B-A3B", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv3WxC3sNgYo"], "table_id": "tblcK7RNfVTE0krF", "text": "基於 Megatron-Core 對 MoE Model 進行 Fine-tuning澳門文旅數據", "text_arr": ["基於 Megatron-Core 對 MoE Model 進行 Fine-tuning澳門文旅數據"], "type": "text"}]}, "id": "recv3Wy38gL1dd", "record_id": "recv3Wy38gL1dd"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": "3", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": "測試不同部署分式,對模型推理的影響", "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "優化評估速度", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv3WxLgc00mP"], "table_id": "tblcK7RNfVTE0krF", "text": "評估 Fine-tuned Qwen3 Series", "text_arr": ["評估 Fine-tuned Qwen3 Series"], "type": "text"}]}, "id": "recv3WymweZAPn", "record_id": "recv3WymweZAPn"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1768579200000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "1. Pydantic AI\n2. LangGraph\n3. Claude Agent SDK / OpenAI Agent SDK\n4. AutoGen / CrewAI \n.\n.", "Related Documents": null, "Start date": 1767542400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "AI agent framework survey", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv3WyOUGhXKF", "record_id": "recv3WyOUGhXKF"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "基于Pipecat及Livekit开始重构VLM接口开发实现新的三段式高并发音视频框架\n1. Pipecat深度调研\n2. Livekit深度调研及调优\n3. 接口重构\n4. 引入简单的上下文Context及用户关联 (同步调研Mem系统的集成)", "Related Documents": null, "Start date": 1764518400000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "VLM Pipecat及Livekit接口框架研发", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}, {"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv46eEPKgiBY", "record_id": "recv46eEPKgiBY"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1764604800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "提供webrtc服务", "Related Documents": null, "Start date": 1764518400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "livekit集群部署", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}, {"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv4cqqCvb9fc", "record_id": "recv4cqqCvb9fc"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1764604800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "提供模型能力", "Related Documents": null, "Start date": 1764604800000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "llm, vlm, omni模型接口支持", "Task Description": null, "Task leader": [{"avatar_url": "https://s1-imfile.feishucdn.com/static-resource/v1/v3_00c0_ba335016-952c-4498-a832-193c6158a0ag~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "吴嘉泰", "id": "ou_cff77177e8bb971c1565f1982212178c", "name": "吴嘉泰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv4hd9KKlvsz", "record_id": "recv4hd9KKlvsz"}, {"fields": {"Days Left": -94, "End Date": null, "Estimate Deadline": 1766073600000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "框架研发", "Related Documents": null, "Start date": 1765728000000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "框架功能开发", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}, {"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv4hdxp4fKDb", "record_id": "recv4hdxp4fKDb"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1766073600000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "vllm-omni", "Related Documents": null, "Start date": 1764777600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "vllm-omni env", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv4v1eNFWJ9Y", "record_id": "recv4v1eNFWJ9Y"}, {"fields": {"Days Left": -45, "End Date": null, "Estimate Deadline": 1770307200000, "Images": null, "Manday count": "4", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1764950400000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "算力预约系统", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv4QhNX63GnG", "record_id": "recv4QhNX63GnG"}, {"fields": {"Days Left": -52, "End Date": null, "Estimate Deadline": 1769702400000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "1. 在Ubuntu环境下安装IsaacLab\n2. 熟悉IsaacSim手动建模流程\n3. 熟悉Python自动化建模流程", "Related Documents": null, "Start date": 1764259200000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "IsaacLab仿真", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv4QjAbFStod", "record_id": "recv4QjAbFStod"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1765468800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "测试视频功能", "Related Documents": null, "Start date": 1765382400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "livekit实时视频测试", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}, {"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv5qOvKDVbKA", "record_id": "recv5qOvKDVbKA"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1766505600000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "1. 提供asr模型服务", "Related Documents": null, "Start date": 1766419200000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "asr模型服务支持", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv6a2p35mAxi", "record_id": "recv6a2p35mAxi"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1766678400000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "1. 提供tts模型服务", "Related Documents": null, "Start date": 1766592000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "tts模型服务支持", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv6a2zMurm6R", "record_id": "recv6a2zMurm6R"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1767024000000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "1. 解决pipecat以及livekit agent的组件对接", "Related Documents": null, "Start date": 1766937600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "livekit agent开发", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv6VXcWBE8vE", "record_id": "recv6VXcWBE8vE"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1767801600000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "1. 解决僵尸进程问题", "Related Documents": null, "Start date": 1767715200000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "livekit server与livekit agent的僵尸进程bug", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv6VXqbO1jWx", "record_id": "recv6VXqbO1jWx"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1767369600000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1767283200000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "修复vlm对图片支持的bug", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv7u9gP5MmDT", "record_id": "recv7u9gP5MmDT"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1768492800000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "https://github.com/yusufkaraaslan/Skill_Seekers", "Related Documents": null, "Start date": 1768233600000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Agent Skills", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv7YYrygVobu", "record_id": "recv7YYrygVobu"}, {"fields": {"Days Left": -73, "End Date": null, "Estimate Deadline": 1767888000000, "Images": null, "Manday count": "5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1767542400000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "具身智能网球机项目方案", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv81rTTw3hf7", "record_id": "recv81rTTw3hf7"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1767888000000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "网球机底盘制作", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv81upnlaZAh", "record_id": "recv81upnlaZAh"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1768147200000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "机械臂演示方案", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00bu_cc39b281-29de-4715-8848-5450b68f7f3g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "马其远", "id": "ou_ba9ac73ef517710a3f17465d7366c3e4", "name": "马其远"}], "总结": null, "父记录": [{"record_ids": null, "table_id": "tblcK7RNfVTE0krF", "text": null, "text_arr": [], "type": "text"}]}, "id": "recv81uz8HxaiC", "record_id": "recv81uz8HxaiC"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1767456000000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1767456000000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "asr模型支持websocket", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv832dyq51DQ", "record_id": "recv832dyq51DQ"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1767542400000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1767542400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "tts模型支持websocket", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv832g1R7cm5", "record_id": "recv832g1R7cm5"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "AutoGen 0.7.5", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv7YYrygVobu"], "table_id": "tblcK7RNfVTE0krF", "text": "Agent Skills", "text_arr": ["Agent Skills"], "type": "text"}]}, "id": "recv83Lx6HhzbI", "record_id": "recv83Lx6HhzbI"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "vLLM 0.13.3", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv7YYrygVobu"], "table_id": "tblcK7RNfVTE0krF", "text": "Agent Skills", "text_arr": ["Agent Skills"], "type": "text"}]}, "id": "recv83Lyml8Uxk", "record_id": "recv83Lyml8Uxk"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "AutoGen 0.7.5", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv3WyOUGhXKF"], "table_id": "tblcK7RNfVTE0krF", "text": "AI agent framework survey", "text_arr": ["AI agent framework survey"], "type": "text"}]}, "id": "recv83LCs6mlSe", "record_id": "recv83LCs6mlSe"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Completed", "Target Customers": ["IRD"], "Task": "Commit Message Guidelines (Angular Conventional Commit)", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00cc_e521134f-3aad-42f2-94d3-9c39e11f2e7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "Ricky", "id": "ou_6759b23cefec74a54a102090aa129c7e", "name": "Ricky"}], "总结": null, "父记录": [{"record_ids": ["recv7YYrygVobu"], "table_id": "tblcK7RNfVTE0krF", "text": "Agent Skills", "text_arr": ["Agent Skills"], "type": "text"}]}, "id": "recv89gheGIImt", "record_id": "recv89gheGIImt"}, {"fields": {"Days Left": 0, "End Date": null, "Estimate Deadline": 1768492800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": "1. asr服务暴露 2. tts服务暴露 3. livekit server服务暴露", "Related Documents": null, "Start date": 1768406400000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "omnichat实现服务暴露", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv8qAbgmo6B5", "record_id": "recv8qAbgmo6B5"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1768752000000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "硬件采购和基本功能测试连接", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I35tzI9Nm"], "table_id": "tblcK7RNfVTE0krF", "text": "嗑点啦", "text_arr": ["嗑点啦"], "type": "text"}]}, "id": "recv8I6vtzn5dG", "record_id": "recv8I6vtzn5dG"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": " 對接到OmniChat 2.0框架用戶記憶工具調用多模態交互優化調研對比OVA OS功能", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I35tzI9Nm"], "table_id": "tblcK7RNfVTE0krF", "text": "嗑点啦", "text_arr": ["嗑点啦"], "type": "text"}]}, "id": "recv8I6QMIbdP6", "record_id": "recv8I6QMIbdP6"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "嗑点啦代码功能开发", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I35tzI9Nm"], "table_id": "tblcK7RNfVTE0krF", "text": "嗑点啦", "text_arr": ["嗑点啦"], "type": "text"}]}, "id": "recv8I70f9c3s4", "record_id": "recv8I70f9c3s4"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "摄像头睁眼闭眼显示", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I70f9c3s4"], "table_id": "tblcK7RNfVTE0krF", "text": "嗑点啦代码功能开发", "text_arr": ["嗑点啦代码功能开发"], "type": "text"}]}, "id": "recv8I7tWHcYXn", "record_id": "recv8I7tWHcYXn"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": "Wishlist", "Target Customers": ["IRD"], "Task": "身体姿态活动识别", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I70f9c3s4"], "table_id": "tblcK7RNfVTE0krF", "text": "嗑点啦代码功能开发", "text_arr": ["嗑点啦代码功能开发"], "type": "text"}]}, "id": "recv8I7LIdKaYI", "record_id": "recv8I7LIdKaYI"}, {"fields": {"Days Left": 0, "End Date": 1772640000000, "Estimate Deadline": 1772640000000, "Images": null, "Manday count": "1", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1772380800000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "對接飛書匯總所有Dashboard的信息到同一工具/系統", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I3sg7YHaA"], "table_id": "tblcK7RNfVTE0krF", "text": "任务安排时间管理关联工具", "text_arr": ["任务安排时间管理关联工具"], "type": "text"}]}, "id": "recv8I94HXjfXW", "record_id": "recv8I94HXjfXW"}, {"fields": {"Days Left": -6, "End Date": 1773676800000, "Estimate Deadline": 1773676800000, "Images": null, "Manday count": "0.5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1773590400000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "系統能跟蹤超時task并且提醒跟進長時間沒進度的也提醒", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I3sg7YHaA"], "table_id": "tblcK7RNfVTE0krF", "text": "任务安排时间管理关联工具", "text_arr": ["任务安排时间管理关联工具"], "type": "text"}]}, "id": "recv8I9dDtWg3E", "record_id": "recv8I9dDtWg3E"}, {"fields": {"Days Left": -3, "End Date": 1773936000000, "Estimate Deadline": 1773936000000, "Images": null, "Manday count": "2", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1773676800000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "能產生匯總報表,減少每月/每季度給管理層的“手工”活", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I3sg7YHaA"], "table_id": "tblcK7RNfVTE0krF", "text": "任务安排时间管理关联工具", "text_arr": ["任务安排时间管理关联工具"], "type": "text"}]}, "id": "recv8I9jCwfu5B", "record_id": "recv8I9jCwfu5B"}, {"fields": {"Days Left": -3, "End Date": 1773936000000, "Estimate Deadline": 1773936000000, "Images": null, "Manday count": "2", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1773676800000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "能產生一些insights產生Task的相關簡介與總結", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": null, "父记录": [{"record_ids": ["recv8I3sg7YHaA"], "table_id": "tblcK7RNfVTE0krF", "text": "任务安排时间管理关联工具", "text_arr": ["任务安排时间管理关联工具"], "type": "text"}]}, "id": "recv8I9jOCiawv", "record_id": "recv8I9jOCiawv"}, {"fields": {"Days Left": -62, "End Date": null, "Estimate Deadline": 1768838400000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": null, "Related Documents": null, "Start date": 1768752000000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "omnichat 文档编写", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv8NP6WblA6I", "record_id": "recv8NP6WblA6I"}, {"fields": {"Days Left": -61, "End Date": null, "Estimate Deadline": 1768924800000, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Important", "Progress notes": "1. web前端编写 2. cpp客户端编写", "Related Documents": null, "Start date": 1768924800000, "Status": "Ongoing ", "Target Customers": ["IRD"], "Task": "omnichat client含cpp", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v3_00ku_3b39893d-514a-42b8-ad84-736eef337d7g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "刘忠杰", "id": "ou_bf17af7947103d4687a0bd17578c0705", "name": "刘忠杰"}], "总结": null, "父记录": [{"record_ids": ["recv46eEPKgiBY"], "table_id": "tblcK7RNfVTE0krF", "text": "VLM Pipecat及Livekit接口框架研发", "text_arr": ["VLM Pipecat及Livekit接口框架研发"], "type": "text"}]}, "id": "recv8NP7avdde1", "record_id": "recv8NP7avdde1"}, {"fields": {"Days Left": 0, "End Date": 1769184000000, "Estimate Deadline": 1769356800000, "Images": null, "Manday count": "2.5", "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": 1768924800000, "Status": "Completed", "Target Customers": ["IRD"], "Task": "tts-blackbox重构改造", "Task Description": null, "Task leader": [{"avatar_url": "https://s3-imfile.feishucdn.com/static-resource/v1/v2_ef929e52-4fc4-424a-9de6-c6740755cf9g~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp", "email": "", "en_name": "陈文晓", "id": "ou_67a9397a62fcb33e2769c211deced6fe", "name": "陈文晓"}], "总结": "tts-blackbox重构改造项目状态为进行中Ongoing负责人陈文晓计划开始时间2026/01/21计划结束时间2026/01/26实际开始时间2026/01/24工时2.5优先级为Normal所属模块为TTS ASR系统设计开发。", "父记录": [{"record_ids": ["recv14HesizlNf"], "table_id": "tblcK7RNfVTE0krF", "text": "TTS ASR系统设计开发", "text_arr": ["TTS ASR系统设计开发"], "type": "text"}]}, "id": "recv8ZPxz0DLvl", "record_id": "recv8ZPxz0DLvl"}]}, {"name": "ttGroup", "records": [{"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": "Normal", "Progress notes": null, "Related Documents": null, "Start date": null, "Status": null, "Task": "身体姿态活动识别", "Task Description": null, "Task leader": null, "总结": null, "父记录": [{"record_ids": null, "table_id": "tblAM4bz9CeuZaGn", "text": null, "text_arr": [], "type": "text"}]}, "id": "recve6NIu06MIe", "record_id": "recve6NIu06MIe"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": null, "Status": null, "Task": null, "Task Description": null, "Task leader": null, "总结": null, "父记录": [{"record_ids": null, "table_id": "tblAM4bz9CeuZaGn", "text": null, "text_arr": [], "type": "text"}]}, "id": "recvebjF85kyWq", "record_id": "recvebjF85kyWq"}, {"fields": {"Days Left": -46104, "End Date": null, "Estimate Deadline": null, "Images": null, "Manday count": null, "Overdue": [{"text": "✅ Normal", "type": "text"}], "Priority": null, "Progress notes": null, "Related Documents": null, "Start date": null, "Status": null, "Task": "红红火火", "Task Description": null, "Task leader": null, "总结": null, "父记录": [{"record_ids": ["recve6NIu06MIe"], "table_id": "tblAM4bz9CeuZaGn", "text": "身体姿态活动识别", "text_arr": ["身体姿态活动识别"], "type": "text"}]}, "id": "recvebtPeYxAOM", "record_id": "recvebtPeYxAOM"}]}]; // Array of {name, records}
let rawRecords = [];
let records = [];
function extractText(val) {
if (Array.isArray(val) && val.length > 0) return val[0].text || '';
return val ? String(val) : '';
}
function formatDate(ts) {
if (!ts) return '';
const d = new Date(Number(ts));
const mo = String(d.getMonth()+1).padStart(2,'0');
const da = String(d.getDate()).padStart(2,'0');
return `${mo}-${da}`;
}
function parseRecords() {
records = rawRecords.map(r => {
const fields = r.fields || {};
const taskNameRaw = fields['Task'] || fields['Task Description'];
const taskName = extractText(taskNameRaw) || 'Untitled Task';
const status = extractText(fields['Status']).trim();
const priority = extractText(fields['Priority']).trim();
const overdue = extractText(fields['Overdue']).trim();
const manday = fields['Manday count'] || '';
const progressNotes = extractText(fields['Progress notes']).trim();
let tcRaw = fields['Target Customers'];
let targetCustomers = '';
if (Array.isArray(tcRaw)) {
targetCustomers = tcRaw.map(x => typeof x === 'object' ? (x.text || '') : String(x)).join(', ').trim();
} else if (tcRaw) {
targetCustomers = String(tcRaw).trim();
}
if (targetCustomers) {
console.log("Parsed Target Customers for [" + taskName + "]:", targetCustomers);
}
let parentRaw = fields['父记录'];
let parentId = null;
let parentName = null;
if (Array.isArray(parentRaw) && parentRaw.length > 0) {
if (parentRaw[0].record_ids && parentRaw[0].record_ids.length > 0) {
parentId = parentRaw[0].record_ids[0];
} else {
parentName = parentRaw[0].text;
}
} else if (typeof parentRaw === 'string') {
parentName = parentRaw.trim();
}
const startDateRaw = fields['Start date'];
const endDateRaw = fields['End Date'];
const startDate = startDateRaw ? Number(startDateRaw) : Infinity;
const endDate = endDateRaw ? Number(endDateRaw) : Infinity;
const leadersRaw = Array.isArray(fields['Task leader']) ? fields['Task leader'] : [];
const leaders = leadersRaw.filter(x => x && typeof x === 'object').map(x => ({name: x.name, avatar: x.avatar_url}));
return {
id: r.record_id,
taskName,
status,
priority,
overdue,
manday,
progressNotes,
targetCustomers,
parentId,
parentName,
startDate,
endDate,
startDateStr: formatDate(startDateRaw),
endDateStr: formatDate(endDateRaw),
leaders
};
});
// Build hierarchy mapping
const nameMap = {};
records.forEach(r => nameMap[r.taskName] = r.id);
records.forEach(r => {
if (!r.parentId && r.parentName && nameMap[r.parentName]) {
r.parentId = nameMap[r.parentName];
}
if (r.parentId === r.id) r.parentId = null;
});
// Populate dropdowns
const statuses = new Set();
const leaderNames = new Set();
records.forEach(r => {
if(r.status) statuses.add(r.status);
r.leaders.forEach(l => leaderNames.add(l.name));
});
const statusSelect = document.getElementById('statusFilter');
statusSelect.innerHTML = '<option value="">All Statuses</option>';
Array.from(statuses).sort().forEach(s => {
const opt = document.createElement('option');
opt.value = opt.textContent = s;
statusSelect.appendChild(opt);
});
const leaderSelect = document.getElementById('leaderFilter');
leaderSelect.innerHTML = '<option value="">All Leaders</option>';
Array.from(leaderNames).sort().forEach(l => {
const opt = document.createElement('option');
opt.value = opt.textContent = l;
leaderSelect.appendChild(opt);
});
}
function switchTab(index) {
if (!tabData[index]) return;
rawRecords = tabData[index].records;
document.querySelectorAll('.tab').forEach((t, i) => {
if (i === index) t.classList.add('active');
else t.classList.remove('active');
});
// Reset filters visual
document.getElementById('searchInput').value = '';
document.getElementById('sortOrder').value = 'default';
parseRecords();
render();
}
function initTabs() {
const container = document.getElementById('tabContainer');
tabData.forEach((tab, index) => {
const btn = document.createElement('button');
btn.className = 'tab';
btn.textContent = tab.name;
btn.onclick = () => switchTab(index);
container.appendChild(btn);
});
const summaryBtn = document.createElement('button');
summaryBtn.className = 'tab';
summaryBtn.style.marginLeft = 'auto'; // Push to the right
summaryBtn.style.color = '#8b5cf6';
summaryBtn.style.fontWeight = 'bold';
summaryBtn.innerHTML = '🌟 全局大总结';
summaryBtn.onclick = window.requestGlobalSummary;
container.appendChild(summaryBtn);
if (tabData.length > 0) {
switchTab(0);
}
}
// UI State
let isExpandAll = false;
document.getElementById('searchInput').addEventListener('input', render);
document.getElementById('statusFilter').addEventListener('change', render);
document.getElementById('leaderFilter').addEventListener('change', render);
document.getElementById('sortOrder').addEventListener('change', render);
document.getElementById('dateFrom').addEventListener('change', render);
document.getElementById('dateTo').addEventListener('change', render);
document.getElementById('toggleExpand').addEventListener('click', () => {
isExpandAll = !isExpandAll;
render();
});
function sortNodes(nodes, sortKey) {
if (sortKey === 'default') return nodes;
nodes.sort((a, b) => {
if (sortKey === 'startDate') return a.startDate - b.startDate;
if (sortKey === 'priority') {
const getP = p => p.includes('High') || p.includes('Important') ? 3 : p.includes('Normal') ? 2 : 1;
return getP(b.priority) - getP(a.priority);
}
return 0;
});
nodes.forEach(n => sortNodes(n.children, sortKey));
return nodes;
}
function filterNodes(nodes, search, statusFilter, leaderFilter, dateFrom, dateTo) {
let result = [];
nodes.forEach(n => {
let matchSearch = n.taskName.toLowerCase().includes(search.toLowerCase()) ||
(n.targetCustomers && n.targetCustomers.toLowerCase().includes(search.toLowerCase()));
let matchStatus = statusFilter === '' || n.status === statusFilter;
let matchLeader = leaderFilter === '' || n.leaders.some(l => l.name === leaderFilter);
let matchDate = true;
if (dateFrom !== -Infinity || dateTo !== Infinity) {
let s = n.startDate !== Infinity ? n.startDate : (n.endDate !== Infinity ? n.endDate : Infinity);
let e = n.endDate !== Infinity ? n.endDate : (n.startDate !== Infinity ? n.startDate : Infinity);
if (s !== Infinity && e !== Infinity) {
matchDate = (s <= dateTo) && (e >= dateFrom);
} else {
matchDate = false;
}
}
let filteredChildren = filterNodes(n.children, search, statusFilter, leaderFilter, dateFrom, dateTo);
let selfMatch = matchSearch && matchStatus && matchLeader && matchDate;
if (selfMatch || filteredChildren.length > 0) {
let cloned = {...n, children: filteredChildren};
cloned.isMatch = selfMatch;
result.push(cloned);
}
});
return result;
}
function genTags(n) {
let html = '<div class="tags">';
if (n.status) {
let bg = '#f1f5f9', fg = '#475569';
if (n.status.includes('Ongoing') || n.status.includes('进行中')) { bg='#dbeafe'; fg='#1e40af'; }
else if (n.status.includes('Completed') || n.status.includes('完成')) { bg='#d1fae5'; fg='#065f46'; }
html += `<span class="tag" style="background:${bg};color:${fg}">${n.status}</span>`;
}
if (n.priority) {
if (n.priority.includes('High') || n.priority.includes('Important')) {
html += `<span class="tag" style="background:#ffedd5;color:#c2410c">${n.priority}</span>`;
} else if (!n.priority.includes('Normal')) {
html += `<span class="tag" style="background:#f1f5f9;color:#475569">${n.priority}</span>`;
}
}
if (n.overdue && !n.overdue.includes('✅')) {
html += `<span class="tag" style="background:#fee2e2;color:#991b1b">${n.overdue}</span>`;
}
if (n.targetCustomers) {
html += `<span class="tag" style="background:#fce7f3;color:#9d174d">🎯 ${n.targetCustomers}</span>`;
}
html += '</div>';
return html;
}
function genMeta(n) {
let html = '<div class="task-meta">';
if (n.leaders.length > 0) {
html += '<div class="meta-item">';
n.leaders.forEach(l => {
if (l.avatar) html += `<img src="${l.avatar}" class="avatar" title="${l.name}">`;
else html += `<span>${l.name}</span>`;
});
html += '</div>';
}
if (n.startDateStr || n.endDateStr) {
html += `<div class="meta-item">🗓️ ${n.startDateStr} ~ ${n.endDateStr}</div>`;
}
if (n.manday) {
html += `<div class="meta-item">⏱️ ${n.manday}d</div>`;
}
html += '</div>';
return html;
}
window.toggleNotes = function(event, id) {
event.stopPropagation();
event.preventDefault();
const el = document.getElementById('notes-' + id);
if (!el) return;
if (el.style.display === 'none') {
el.style.display = 'block';
} else {
el.style.display = 'none';
}
};
function renderHTML(nodes, isRoot) {
if (nodes.length === 0) return '';
let html = isRoot ? '<ul class="tree">' : '<ul>';
nodes.forEach(n => {
let dimClass = n.isMatch === false ? 'dimmed' : '';
let tags = genTags(n);
let meta = genMeta(n);
// Hide details by default, show toggle button if notes exist
let toggleNotesBtn = '';
let notesHtml = '';
if (n.progressNotes) {
toggleNotesBtn = `<span title="Toggle Progress Notes" style="cursor:pointer; font-size:14px; margin-right:6px;" onclick="window.toggleNotes(event, '${n.id}')">📝</span>`;
notesHtml = `<div id="notes-${n.id}" style="display:none; font-size:13px; color:#64748b; margin-top:8px; padding:8px; background:#f8fafc; border-radius:6px; border:1px dashed #cbd5e1; font-family: monospace; white-space: pre-wrap;">${n.progressNotes}</div>`;
}
html += `<li class="${dimClass}">`;
if (n.children.length > 0) {
let openAttr = isExpandAll ? 'open' : '';
html += `<details ${openAttr}>
<summary>
<div class="node-content" style="flex-wrap: wrap;">
<div style="width:100%; display:flex; align-items:center; justify-content:space-between;">
<div class="task-left">
<span class="toggle-icon">▶</span>
${toggleNotesBtn}
<span class="task-title">${n.taskName}</span>
${tags}
</div>
${meta}
</div>
${notesHtml ? '<div style="width:100%; padding-left:24px;">' + notesHtml + '</div>' : ''}
</div>
</summary>
${renderHTML(n.children, false)}
</details>`;
} else {
let unnamedClass = n.taskName === 'Untitled Task' ? 'unnamed-task' : '';
html += `<div class="node-content empty-leaf" style="flex-wrap: wrap;">
<div style="width:100%; display:flex; align-items:center; justify-content:space-between;">
<div class="task-left">
${toggleNotesBtn}
<span class="task-title ${unnamedClass}">${n.taskName}</span>
${tags}
</div>
${meta}
</div>
${notesHtml ? '<div style="width:100%; padding-left:8px;">' + notesHtml + '</div>' : ''}
</div>`;
}
html += '</li>';
});
html += '</ul>';
return html;
}
function countNodes(nodes) {
return nodes.reduce((sum, n) => sum + 1 + countNodes(n.children), 0);
}
function collectMatchedNodes(nodes) {
let acc = [];
nodes.forEach(n => {
if (n.isMatch) acc.push(n);
acc = acc.concat(collectMatchedNodes(n.children));
});
return acc;
}
function generateSummary(nodes, status, leader) {
let matched = collectMatchedNodes(nodes);
if (matched.length === 0) return '';
let totalMandays = 0;
let completed = 0;
let ongoing = 0;
let taskNames = [];
matched.forEach(r => {
if (r.manday) {
let num = parseFloat(r.manday);
if (!isNaN(num)) totalMandays += num;
}
if (r.status && (r.status.includes('Completed') || r.status.includes('完成'))) completed++;
else if (r.status && (r.status.includes('Ongoing') || r.status.includes('进行中'))) ongoing++;
if (r.taskName && r.taskName !== 'Untitled Task') {
taskNames.push(r.taskName);
}
});
let html = '<div style="margin-bottom:16px; padding:12px 16px; background:#f0fdf4; border: 1px solid #bbf7d0; border-left:4px solid #22c55e; border-radius:6px; font-size:14px; color:#166534; box-shadow: 0 1px 2px rgba(0,0,0,0.05);">';
html += '<div style="font-weight:600; margin-bottom:6px; display:flex; align-items:center; gap:6px;"><span>💡</span>智能总结 (Smart Summary)</div>';
let parts = [];
if (!status && !leader) {
let title = document.getElementById('searchInput') && document.getElementById('searchInput').value ? '搜索结果' : '当前全局';
parts.push(`${title}共有 <strong>${matched.length}</strong> 项任务 (已完成 ${completed} 项,进行中 ${ongoing} 项)。`);
if (totalMandays > 0) parts.push(`预计总人力:<strong>${Math.round(totalMandays*10)/10}</strong> 人日。`);
parts.push(`核心事项概览:`);
} else if (leader && !status) {
parts.push(`<strong>${leader}</strong> 共有 <strong>${matched.length}</strong> 项任务 (已完成 ${completed} 项,进行中 ${ongoing} 项)。`);
if (totalMandays > 0) parts.push(`预计总人力:<strong>${Math.round(totalMandays*10)/10}</strong> 人日。`);
parts.push(`Ta 负责的主要事项有:`);
} else if (status && !leader) {
let isDone = status.includes('Completed') || status.includes('完成');
if (isDone) {
parts.push(`✅ 已经干完了 <strong>${matched.length}</strong> 项任务!`);
if (totalMandays > 0) parts.push(`共计消耗人力:<strong>${Math.round(totalMandays*10)/10}</strong> 人日。`);
parts.push(`具体完成了这些东西:`);
} else {
parts.push(`有 <strong>${matched.length}</strong> 项任务处于 "<strong>${status}</strong>" 状态。`);
if (totalMandays > 0) parts.push(`关联的人力评估:<strong>${Math.round(totalMandays*10)/10}</strong> 人日。`);
parts.push(`具体包含:`);
}
} else if (leader && status) {
parts.push(`<strong>${leader}</strong> 有 <strong>${matched.length}</strong> 项状态为 "<strong>${status}</strong>" 的任务。`);
if (totalMandays > 0) parts.push(`相关人力评估:<strong>${Math.round(totalMandays*10)/10}</strong> 人日。`);
parts.push(`相关任务:`);
}
if (taskNames.length > 0) {
let displayNames = taskNames.slice(0, 10).map(n => `${n}`).join('、');
if (taskNames.length > 10) displayNames += ` 等等 (共${taskNames.length}个)`;
parts.push(`${displayNames}`);
}
html += '<div style="line-height: 1.6;">' + parts.join(' ') + '</div>';
window._lastMatchedNodes = matched;
html += `<div style="margin-top:12px;display:flex;gap:8px;align-items:center;">
<button onclick="window.requestAISummary()" style="background:#22c55e;color:white;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-weight:500;font-size:13px;transition:background 0.2s;" onmouseover="this.style.background='#16a34a'" onmouseout="this.style.background='#22c55e'">🤖 请求 AI 深度总结</button>
<button onclick="window.configAI()" style="background:transparent;border:1px solid #bbf7d0;color:#166534;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;transition:background 0.2s;" onmouseover="this.style.background='#dcfce7'" onmouseout="this.style.background='transparent'">⚙️ 配置 API</button>
</div>`;
html += '</div>';
return html;
}
window.configAI = function() {
let currentKey = localStorage.getItem('ai_api_key') || 'sk-orez64WkG1NkfksB5j_hGA';
let currentUrl = localStorage.getItem('ai_base_url') || 'https://oai.bwgdi.com/v1';
let currentModel = localStorage.getItem('ai_model') || 'MiniMaxAI';
let key = prompt('请输入您的 API Key (无需则留空或取消):', currentKey);
if (key === null) return;
let url = prompt('请输入 API Base URL (例如 https://api.openai.com/v1 或兼容地址):', currentUrl);
if (url === null) return;
let model = prompt('请输入模型名称 (例如 gpt-4o, deepseek-chat):', currentModel);
if (model === null) return;
localStorage.setItem('ai_api_key', key);
localStorage.setItem('ai_base_url', url);
localStorage.setItem('ai_model', model);
alert('AI 配置已成功保存在浏览器本地!');
};
async function fetchAndStreamAI(promptText, box) {
let key = localStorage.getItem('ai_api_key') || 'sk-orez64WkG1NkfksB5j_hGA';
let url = localStorage.getItem('ai_base_url') || 'https://oai.bwgdi.com/v1';
let model = localStorage.getItem('ai_model') || 'MiniMaxAI';
if (!key && url.includes('openai.com')) {
alert('系统检测到您未配置 API Key请先进行配置');
window.configAI();
key = localStorage.getItem('ai_api_key');
if (!key) return;
}
box.style.display = 'block';
box.textContent = '🚀 正在请求 AI这可能需要一点时间请稍等...\n如果长时间不响应请检查浏览器控制台报错或网络代理。';
try {
let fetchUrl = url;
if (fetchUrl.endsWith('/')) fetchUrl = fetchUrl.slice(0, -1);
if (!fetchUrl.endsWith('/chat/completions')) fetchUrl += '/chat/completions';
const response = await fetch(fetchUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + key
},
body: JSON.stringify({
model: model,
messages: [
{ role: 'system', content: '你是一位资深项目负责人,擅长做简洁、高价值的工作汇报,突出结果与业务价值,而非技术细节。' },
{ role: 'user', content: promptText }
],
stream: true,
temperature: 0.7
})
});
if (!response.ok) {
const errBox = await response.text();
box.textContent = `网络请求失败 (状态码 ${response.status}): \n${errBox}\n\n请确认提供的 API Base URL(${url}) 和 API Key 是否正确。`;
return;
}
const reader = response.body.getReader();
const decoder = new TextDecoder("utf-8");
let content = '';
box.textContent = '思考中...';
while (true) {
const { done, value } = await reader.read();
if (done) break;
const chunk = decoder.decode(value, { stream: true });
const lines = chunk.split('\n');
for (const line of lines) {
if (line.trim().startsWith('data:') && line.trim() !== 'data: [DONE]') {
try {
let jsonStr = line.replace(/^data:\s*/, '');
const parsed = JSON.parse(jsonStr);
if (parsed.choices && parsed.choices[0].delta && parsed.choices[0].delta.content) {
content += parsed.choices[0].delta.content;
let displayContent = content.replace(/<think>[\s\S]*?(?:<\/think>\n*|$)/gi, '');
if (content.toLowerCase().includes('<think>') && !content.toLowerCase().includes('</think>')) {
displayContent = "🤔 正在深度思考中...\n\n" + displayContent;
}
box.textContent = displayContent;
box.scrollTop = box.scrollHeight;
}
} catch(e) {}
}
}
}
} catch(e) {
box.textContent = `发生异常: ${e.message}\n请检查网络连通性或 API 跨域(CORS)限制问题。`;
}
}
window.requestAISummary = function() {
const matched = window._lastMatchedNodes || [];
if (matched.length === 0) {
alert("当前视图没有任何任务记录,无需总结。");
return;
}
const tasksForAI = matched.map(m => ({
TaskName: m.taskName,
Status: m.status,
Priority: m.priority,
Leaders: m.leaders.map(l => l.name).join(','),
ProgressNotes: m.progressNotes || "无",
Manday: m.manday || "0",
TargetCustomers: m.targetCustomers || "无"
}));
const promptText = `请将以下多个任务整理汇报摘要:
要求:
1. 每个任务用3-4行总结须明确提及该任务相关的 TargetCustomers 目标客户信息)
2. 最后增加【整体情况总结】:
- 完成情况(完成/进行中)
- 当前重点方向(包含核心目标客户的总体进展)
输出结构:
(多个任务总结)
【整体情况总结】
- 数据如下:
${JSON.stringify(tasksForAI, null, 2)}`;
const box = document.getElementById('aiSummaryResult');
fetchAndStreamAI(promptText, box);
};
window.requestGlobalSummary = function() {
let allTasks = [];
tabData.forEach(tab => {
tab.records.forEach(r => {
const fields = r.fields || {};
const taskNameRaw = fields['Task'] || fields['Task Description'];
let taskName = '';
if (Array.isArray(taskNameRaw) && taskNameRaw.length > 0) taskName = taskNameRaw[0].text || '';
else taskName = taskNameRaw ? String(taskNameRaw) : 'Untitled Task';
let statusRaw = fields['Status'];
let status = '';
if (Array.isArray(statusRaw) && statusRaw.length > 0) status = statusRaw[0].text || '';
else status = statusRaw ? String(statusRaw) : '';
let targetCustomersRaw = fields['Target Customers'];
let targetCustomers = '';
if (Array.isArray(targetCustomersRaw)) {
targetCustomers = targetCustomersRaw.map(x => typeof x === 'object' ? (x.text || '') : String(x)).join(', ').trim();
} else if (targetCustomersRaw) {
targetCustomers = String(targetCustomersRaw).trim();
}
allTasks.push({
TabName: tab.name,
TaskName: taskName,
Status: status.trim(),
TargetCustomers: targetCustomers.trim()
});
});
});
if (allTasks.length === 0) {
alert("所有视图均没有任务记录,无需总结。");
return;
}
const promptText = `请将以下来自多个部门/维度的表格任务进行全局大总结:
要求:
1. 按照不同的 Tab (即数据来源) 独立提取核心进展与问题。
2. 特别留意并提炼出 TargetCustomers (目标客户) 的主要推行情况。
3. 最后给出一个【全局统筹结论】,指出哪些方向正常,哪些可能存在延期或需要重点关注。
4. 尽量言简意赅,不要只是把每一条数据罗列一遍,要有跨表分析和高层次的提炼。
- 数据如下:
${JSON.stringify(allTasks, null, 2)}`;
const box = document.getElementById('globalAiSummaryResult');
fetchAndStreamAI(promptText, box);
};
function render() {
const search = document.getElementById('searchInput').value;
const status = document.getElementById('statusFilter').value;
const leader = document.getElementById('leaderFilter').value;
const sortKey = document.getElementById('sortOrder').value;
let dfRaw = document.getElementById('dateFrom').value;
let dtRaw = document.getElementById('dateTo').value;
const dateFrom = dfRaw ? new Date(dfRaw).getTime() : -Infinity;
const dateTo = dtRaw ? new Date(dtRaw).getTime() + 86400000 - 1 : Infinity;
let nodeMap = {};
records.forEach(r => { nodeMap[r.id] = {...r, children: []}; });
let roots = [];
records.forEach(r => {
let n = nodeMap[r.id];
if (r.parentId && nodeMap[r.parentId]) nodeMap[r.parentId].children.push(n);
else roots.push(n);
});
// Sort logic inside roots recursively helps visual grouping
roots.sort((a,b) => b.children.length - a.children.length); // roots with children on top by default
let filtered = filterNodes(roots, search, status, leader, dateFrom, dateTo);
let sorted = sortNodes(filtered, sortKey);
let renderedHtml = renderHTML(sorted, true);
document.getElementById('tree-container').innerHTML = renderedHtml || '<p style="text-align:center;color:#64748b;margin-top:40px;">No matching records found.</p>';
let visibleCount = countNodes(sorted);
let isFilterActive = search !== '' || status !== '' || leader !== '';
let msg = `Showing ${visibleCount} / ${records.length} tasks`;
if (isFilterActive) {
msg += ' (Filtered)';
}
document.getElementById('statsDisplay').textContent = msg;
document.getElementById('summaryDisplay').innerHTML = generateSummary(filtered, status, leader);
// Clear AI Summary on any filter change so it doesn't show stale info
let aiBox = document.getElementById('aiSummaryResult');
if (aiBox) {
aiBox.style.display = 'none';
aiBox.textContent = '';
}
}
// Initialize tabs and first render
initTabs();
</script>
</body>
</html>