787 lines
24 KiB
HTML
787 lines
24 KiB
HTML
|
|
<!DOCTYPE html>
|
|||
|
|
<html lang="zh-CN">
|
|||
|
|
<head>
|
|||
|
|
<meta charset="UTF-8">
|
|||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|||
|
|
<title>项目状态看板 · IT 智能服务台 · v1.8.0-FROZEN</title>
|
|||
|
|
<style>
|
|||
|
|
|
|||
|
|
:root {
|
|||
|
|
--accent: #07C160;
|
|||
|
|
--accent-soft: #E7F8EF;
|
|||
|
|
--warn: #FA9D3B;
|
|||
|
|
--danger: #FA5151;
|
|||
|
|
--info: #10AEFF;
|
|||
|
|
--text: #1F2329;
|
|||
|
|
--text-soft: #646A73;
|
|||
|
|
--bg: #FFFFFF;
|
|||
|
|
--bg-soft: #F7F8FA;
|
|||
|
|
--border: #DEE0E3;
|
|||
|
|
--shadow: 0 2px 12px rgba(0,0,0,0.06);
|
|||
|
|
--radius: 8px;
|
|||
|
|
}
|
|||
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|||
|
|
html { scroll-behavior: smooth; scroll-padding-top: 20px; }
|
|||
|
|
body {
|
|||
|
|
font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
|
|||
|
|
color: var(--text);
|
|||
|
|
background: var(--bg-soft);
|
|||
|
|
line-height: 1.7;
|
|||
|
|
font-size: 14px;
|
|||
|
|
}
|
|||
|
|
.container { max-width: 1080px; margin: 0 auto; padding: 24px; }
|
|||
|
|
header {
|
|||
|
|
background: linear-gradient(135deg, var(--accent) 0%, #06AD56 100%);
|
|||
|
|
color: #fff;
|
|||
|
|
padding: 24px 28px;
|
|||
|
|
border-radius: var(--radius);
|
|||
|
|
box-shadow: var(--shadow);
|
|||
|
|
margin-bottom: 24px;
|
|||
|
|
position: relative;
|
|||
|
|
}
|
|||
|
|
header h1 { font-size: 24px; font-weight: 600; margin-bottom: 6px; }
|
|||
|
|
header .meta { font-size: 13px; opacity: 0.92; }
|
|||
|
|
header .meta span { margin-right: 18px; }
|
|||
|
|
header .meta strong { font-weight: 600; }
|
|||
|
|
.version-badge {
|
|||
|
|
position: absolute;
|
|||
|
|
top: 24px;
|
|||
|
|
right: 28px;
|
|||
|
|
background: rgba(255,255,255,0.25);
|
|||
|
|
padding: 4px 10px;
|
|||
|
|
border-radius: 12px;
|
|||
|
|
font-size: 12px;
|
|||
|
|
font-weight: 600;
|
|||
|
|
backdrop-filter: blur(8px);
|
|||
|
|
}
|
|||
|
|
.version-badge.draft { background: rgba(250,157,59,0.95); }
|
|||
|
|
.version-badge.frozen { background: rgba(255,255,255,0.95); color: var(--accent); }
|
|||
|
|
h1, h2, h3, h4 { color: var(--text); margin: 28px 0 12px; line-height: 1.4; }
|
|||
|
|
h1 { font-size: 22px; padding-bottom: 8px; border-bottom: 2px solid var(--accent); }
|
|||
|
|
h2 { font-size: 18px; padding-left: 10px; border-left: 4px solid var(--accent); }
|
|||
|
|
h3 { font-size: 16px; color: var(--text-soft); }
|
|||
|
|
h4 { font-size: 14px; color: var(--text-soft); }
|
|||
|
|
p { margin: 8px 0; }
|
|||
|
|
strong { color: var(--text); }
|
|||
|
|
blockquote {
|
|||
|
|
background: var(--accent-soft);
|
|||
|
|
border-left: 4px solid var(--accent);
|
|||
|
|
padding: 10px 16px;
|
|||
|
|
margin: 12px 0;
|
|||
|
|
border-radius: 4px;
|
|||
|
|
color: var(--text);
|
|||
|
|
}
|
|||
|
|
blockquote p { margin: 4px 0; }
|
|||
|
|
code {
|
|||
|
|
background: var(--bg-soft);
|
|||
|
|
padding: 2px 6px;
|
|||
|
|
border-radius: 3px;
|
|||
|
|
font-family: "Cascadia Code", Consolas, monospace;
|
|||
|
|
font-size: 12px;
|
|||
|
|
color: #C7254E;
|
|||
|
|
}
|
|||
|
|
pre {
|
|||
|
|
background: #1F2329;
|
|||
|
|
color: #E7E8EB;
|
|||
|
|
padding: 14px 18px;
|
|||
|
|
border-radius: var(--radius);
|
|||
|
|
overflow-x: auto;
|
|||
|
|
margin: 12px 0;
|
|||
|
|
}
|
|||
|
|
pre code { background: transparent; color: inherit; padding: 0; font-size: 13px; }
|
|||
|
|
hr { border: none; border-top: 1px solid var(--border); margin: 24px 0; }
|
|||
|
|
table {
|
|||
|
|
width: 100%;
|
|||
|
|
border-collapse: collapse;
|
|||
|
|
background: #fff;
|
|||
|
|
border-radius: var(--radius);
|
|||
|
|
overflow: hidden;
|
|||
|
|
box-shadow: var(--shadow);
|
|||
|
|
margin: 12px 0;
|
|||
|
|
font-size: 13px;
|
|||
|
|
}
|
|||
|
|
thead { background: var(--bg-soft); }
|
|||
|
|
th, td {
|
|||
|
|
padding: 8px 12px;
|
|||
|
|
text-align: left;
|
|||
|
|
border-bottom: 1px solid var(--border);
|
|||
|
|
vertical-align: top;
|
|||
|
|
}
|
|||
|
|
th { font-weight: 600; color: var(--text-soft); font-size: 12px; }
|
|||
|
|
tbody tr:last-child td { border-bottom: none; }
|
|||
|
|
tbody tr:hover { background: var(--accent-soft); }
|
|||
|
|
ul, ol { padding-left: 24px; margin: 8px 0; }
|
|||
|
|
li { margin: 4px 0; }
|
|||
|
|
a { color: var(--accent); text-decoration: none; border-bottom: 1px dashed var(--accent); }
|
|||
|
|
a:hover { background: var(--accent-soft); }
|
|||
|
|
footer {
|
|||
|
|
margin-top: 32px;
|
|||
|
|
padding-top: 16px;
|
|||
|
|
border-top: 1px solid var(--border);
|
|||
|
|
color: var(--text-soft);
|
|||
|
|
font-size: 12px;
|
|||
|
|
text-align: center;
|
|||
|
|
}
|
|||
|
|
.toc {
|
|||
|
|
background: #fff;
|
|||
|
|
padding: 12px 20px;
|
|||
|
|
border-radius: var(--radius);
|
|||
|
|
box-shadow: var(--shadow);
|
|||
|
|
margin: 16px 0 24px;
|
|||
|
|
font-size: 13px;
|
|||
|
|
}
|
|||
|
|
.toc-title { font-weight: 600; color: var(--text-soft); margin-bottom: 8px; }
|
|||
|
|
.toc ul { padding-left: 20px; list-style: none; }
|
|||
|
|
.toc li { margin: 4px 0; }
|
|||
|
|
.toc a {
|
|||
|
|
color: var(--text);
|
|||
|
|
border-bottom: none;
|
|||
|
|
display: block;
|
|||
|
|
padding: 4px 8px;
|
|||
|
|
border-radius: 4px;
|
|||
|
|
transition: all 0.15s ease;
|
|||
|
|
}
|
|||
|
|
.toc a:hover {
|
|||
|
|
background: var(--accent-soft);
|
|||
|
|
color: var(--accent);
|
|||
|
|
transform: translateX(2px);
|
|||
|
|
}
|
|||
|
|
:target { background: var(--accent-soft); transition: background 0.5s ease; }
|
|||
|
|
|
|||
|
|
/* 标题旁的"📑 回到目录"小链接 */
|
|||
|
|
.back-to-toc {
|
|||
|
|
display: inline-block;
|
|||
|
|
font-size: 12px;
|
|||
|
|
margin-left: 10px;
|
|||
|
|
padding: 2px 6px;
|
|||
|
|
border-radius: 4px;
|
|||
|
|
border-bottom: none;
|
|||
|
|
opacity: 0.25;
|
|||
|
|
transition: all 0.15s ease;
|
|||
|
|
vertical-align: middle;
|
|||
|
|
}
|
|||
|
|
.back-to-toc:hover {
|
|||
|
|
opacity: 1;
|
|||
|
|
background: var(--accent-soft);
|
|||
|
|
color: var(--accent);
|
|||
|
|
}
|
|||
|
|
.print-only { display: none; }
|
|||
|
|
@media print {
|
|||
|
|
header { background: var(--accent) !important; -webkit-print-color-adjust: exact; }
|
|||
|
|
body { background: #fff; }
|
|||
|
|
.toc, .filter-bar { display: none; }
|
|||
|
|
table { page-break-inside: avoid; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
</style>
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
<div class="container">
|
|||
|
|
<header>
|
|||
|
|
<h1>📋 项目状态看板 · IT 智能服务台 · v1.8.0-FROZEN</h1>
|
|||
|
|
<div class="meta">
|
|||
|
|
<span>📅 <strong>2026-08-05</strong>(GMT+8)</span>
|
|||
|
|
<span>📂 源文件:<strong>docs/07-项目管理/项目状态看板.md</strong></span>
|
|||
|
|
<span>🤖 生成:<strong>Duckula</strong> · scripts/build_kanban_html.py</span>
|
|||
|
|
</div>
|
|||
|
|
<span class="version-badge frozen">v1.8.0-FROZEN</span>
|
|||
|
|
</header>
|
|||
|
|
|
|||
|
|
<nav class="toc" id="toc"><div class="toc-title">📑 目录</div><ul><li style="margin-left:0px"><a href="#_2">📊 看板概览</a></li><li style="margin-left:0px"><a href="#p0-high-priority">🔴 P0 必做(高优先级 / High Priority)</a></li><li style="margin-left:0px"><a href="#p1-medium-priority">🟡 P1 重要(待办 / Medium Priority)</a></li><li style="margin-left:0px"><a href="#awaiting-decision">🟢 等用户决策(阻塞项 / Awaiting Decision)</a></li><li style="margin-left:0px"><a href="#req-001">⏸️ 安全策略检查平台 (REQ-集成-001) — 已暂停</a></li><li style="margin-left:0px"><a href="#in-progress">🟠 进行中 (In Progress)</a></li><li style="margin-left:0px"><a href="#to-do">🟡 待开始 (To Do)</a></li><li style="margin-left:0px"><a href="#recently-completed">✅ 最近完成 (Recently Completed)</a></li><li style="margin-left:0px"><a href="#2026-07-1516">✅ 近期完成 (2026-07-15~16)</a></li><li style="margin-left:0px"><a href="#_3">📌 重要技术决策与限制记录</a></li><li style="margin-left:0px"><a href="#_4">📈 任务统计</a></li><li style="margin-left:0px"><a href="#_5">🔗 相关文档</a></li><li style="margin-left:0px"><a href="#_6">📝 看板版本变更记录</a></li></ul></nav>
|
|||
|
|
|
|||
|
|
<main>
|
|||
|
|
<h1 id="_1">项目状态看板</h1>
|
|||
|
|
<blockquote>
|
|||
|
|
<p><strong>版本</strong>: v1.8.0-FROZEN | <strong>更新日期</strong>: 2026-08-05(已审核冻结,对外可引用)<br/>
|
|||
|
|
<strong>变更来源</strong>: 2026-08-05 06:00 早班巡检(jumpserver-V2 实测 + 代码扫描)<br/>
|
|||
|
|
<strong>执行人</strong>: Duckula(AI)· <strong>审核人</strong>: Simon(2026-08-05 19:37)</p>
|
|||
|
|
<p>📐 <strong>文档管理策略(2026-08-05 锁定)</strong><br/>
|
|||
|
|
本看板遵循 <strong>Markdown 单一源原则</strong>:<br/>
|
|||
|
|
- <strong>权威源</strong> = 本 <code>项目状态看板.md</code>(Git 版本控制 / 程序解析 / PR review 均基于此)<br/>
|
|||
|
|
- <strong>人看副本</strong> = <code>项目状态看板.html</code>(由 <code>scripts/build_kanban_html.py</code> 自动派生,<strong>不手维护</strong>)<br/>
|
|||
|
|
- <strong>归档副本</strong> = <code>项目状态看板-v1.8.0-FROZEN.html</code>(每次冻结生成一份,永久保留)<br/>
|
|||
|
|
- <strong>服务发布</strong> = 经 <code>scripts/deploy_kanban_to_jumpserver.sh</code> 上传至 <code>https://itsupport.servyou.com.cn/docs/kanban/</code> + <code>/docs/inspection/</code><br/>
|
|||
|
|
- 修改流程:改 .md → 跑脚本生成 .html → 归档副本 → 跑部署脚本上传 → commit & push</p>
|
|||
|
|
</blockquote>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="_2">📊 看板概览 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>状态</th>
|
|||
|
|
<th>数量</th>
|
|||
|
|
<th>变化</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td>🔴 P0 必做</td>
|
|||
|
|
<td>4</td>
|
|||
|
|
<td>🆕 +3(P0-3/4 新增,P0-1/2 升级)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>🟡 P1 重要</td>
|
|||
|
|
<td>1</td>
|
|||
|
|
<td>🆕 +1(P1-1 新增)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>🟢 等用户决策</td>
|
|||
|
|
<td>2</td>
|
|||
|
|
<td>🆕 正式分区(BLK-A/B)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>🟠 进行中</td>
|
|||
|
|
<td>1</td>
|
|||
|
|
<td>持平</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>🟡 待开始</td>
|
|||
|
|
<td>1</td>
|
|||
|
|
<td>持平</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>⏸️ 暂停</td>
|
|||
|
|
<td>5</td>
|
|||
|
|
<td>持平</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>✅ 已完成</td>
|
|||
|
|
<td>88</td>
|
|||
|
|
<td>持平</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="p0-high-priority">🔴 P0 必做(高优先级 / High Priority) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<blockquote>
|
|||
|
|
<p>立即推进,需当日 / 次日完成。分类说明:<br/>
|
|||
|
|
<strong>🆕 新增</strong> = 本次巡检首次发现;<strong>♻️ 历史遗留</strong> = 已记录但未关闭</p>
|
|||
|
|
</blockquote>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>任务ID</th>
|
|||
|
|
<th>任务名称</th>
|
|||
|
|
<th>类别</th>
|
|||
|
|
<th>阻塞时长</th>
|
|||
|
|
<th>状态</th>
|
|||
|
|
<th>说明</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td><strong>P0-1</strong></td>
|
|||
|
|
<td><code>/itportal/</code> 入口 500 错误</td>
|
|||
|
|
<td>♻️ 历史遗留</td>
|
|||
|
|
<td>28 天(自 2026-07-08)</td>
|
|||
|
|
<td>🔴 待部署</td>
|
|||
|
|
<td>看板 v1.7 标 "commit 21830d5 已修复(待部署)" 08-03,但 jumpserver 实测<strong>仍未部署</strong>。根因:nginx <code>location /itportal/</code> (line 133/306) 仍指向空 dist。建议:<code>docker compose up -d --force-recreate nginx</code></td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td><strong>P0-2</strong></td>
|
|||
|
|
<td><code>sensitive_words.py</code> 13 端点无鉴权</td>
|
|||
|
|
<td>♻️ 历史遗留</td>
|
|||
|
|
<td>1 天(08-04 已记录)</td>
|
|||
|
|
<td>🔴 待治理</td>
|
|||
|
|
<td>GET/POST/PUT/DELETE /sensitive-words<em>、/privacy-patterns</em>、/moderation-logs[/stats]、/moderation-config 全部缺 <code>@require_admin</code>。完全复用 08-03 troubleshooting_templates.py 治理方案即可</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td><strong>P0-3</strong></td>
|
|||
|
|
<td><code>closing_service.py:467</code> datetime 时区错位</td>
|
|||
|
|
<td>🆕 新增</td>
|
|||
|
|
<td><1 天</td>
|
|||
|
|
<td>🔴 待修复</td>
|
|||
|
|
<td><code>datetime.now() - close_time</code> 报 <code>TypeError: can't subtract offset-naive and offset-aware datetimes</code>。影响 <code>POST /h5/conversations/current/reopen</code>。2026-08-03 16:08 连续 3 次 500</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td><strong>P0-4</strong></td>
|
|||
|
|
<td><code>h5_ai_task.py:1198</code> SessionLocal NoneType</td>
|
|||
|
|
<td>🆕 新增</td>
|
|||
|
|
<td><1 天</td>
|
|||
|
|
<td>🔴 待修复</td>
|
|||
|
|
<td><code>_push_asset_recommends</code> 调 <code>get_employee_profile_service()</code> 时 <code>db = SessionLocal()</code> 返回 None → <code>TypeError: 'NoneType' object is not callable</code>。影响 IT 资产推荐异步推送。2026-08-04 01:36 + 02:29 两次</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<p><strong>滴答清单跟踪</strong>:4 项 P0 已在滴答清单 <code>wecom_it_smart_desk</code> 项目下建任务(标签 <code>work</code>),T1 due 2026-08-05 17:00 / T2-T3 due 2026-08-06 17:00。</p>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="p1-medium-priority">🟡 P1 重要(待办 / Medium Priority) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>任务ID</th>
|
|||
|
|
<th>任务名称</th>
|
|||
|
|
<th>类别</th>
|
|||
|
|
<th>阻塞时长</th>
|
|||
|
|
<th>说明</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td><strong>P1-1</strong></td>
|
|||
|
|
<td>前端 console.log 残留 208 行 / 40 文件</td>
|
|||
|
|
<td>🆕 新增</td>
|
|||
|
|
<td><1 天</td>
|
|||
|
|
<td><code>frontend-h5/src</code> 26 文件 + <code>frontend-agent/src</code> 14 文件含 console.log/warn/debug。建议 vite 构建 <code>terser drop_console: true</code> + ESLint <code>no-console</code> 规则</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<p><strong>滴答清单跟踪</strong>:T4 已建,due 2026-08-09 17:00。</p>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="awaiting-decision">🟢 等用户决策(阻塞项 / Awaiting Decision) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<blockquote>
|
|||
|
|
<p>均超 3 天阈值,需 PM 升级催办</p>
|
|||
|
|
</blockquote>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>任务ID</th>
|
|||
|
|
<th>任务名称</th>
|
|||
|
|
<th>阻塞时长</th>
|
|||
|
|
<th>卡点 / Owner</th>
|
|||
|
|
<th>说明</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td><strong>BLK-A</strong></td>
|
|||
|
|
<td>企微会议室 Secret</td>
|
|||
|
|
<td>⚠️ <strong>25 天</strong>(自 2026-07-11)</td>
|
|||
|
|
<td>需企业微信管理后台申请 / Owner: 平台组</td>
|
|||
|
|
<td>影响会议室预定功能 / <code>/itterminal/</code></td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td><strong>BLK-B</strong></td>
|
|||
|
|
<td>ITSM API 授权</td>
|
|||
|
|
<td>⚠️ <strong>25 天</strong>(自 2026-07-11)</td>
|
|||
|
|
<td>需向 ITSM 平台方申请 app_id/app_secret / Owner: 平台组</td>
|
|||
|
|
<td>影响 ITSM 工单卡片跳转</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<p><strong>催办机制</strong>:建议 PM 每周一 review(滴答清单循环任务)。</p>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="req-001">⏸️ 安全策略检查平台 (REQ-集成-001) — 已暂停 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>任务ID</th>
|
|||
|
|
<th>任务名称</th>
|
|||
|
|
<th>优先级</th>
|
|||
|
|
<th>状态</th>
|
|||
|
|
<th>说明</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td>#118</td>
|
|||
|
|
<td>火绒API集成</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>⏸️ 暂停</td>
|
|||
|
|
<td>复用现有功能,必要性未确认</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#119</td>
|
|||
|
|
<td>联软Excel导入</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>⏸️ 暂停</td>
|
|||
|
|
<td>用户-终端关联导入</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#120</td>
|
|||
|
|
<td>数据融合引擎</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>⏸️ 暂停</td>
|
|||
|
|
<td>IP/主机名/MAC三级匹配</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#121</td>
|
|||
|
|
<td>策略规则与通知模板</td>
|
|||
|
|
<td>P1</td>
|
|||
|
|
<td>⏸️ 暂停</td>
|
|||
|
|
<td>命中管理、通知发送</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#122</td>
|
|||
|
|
<td>调度执行与导出</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>⏸️ 暂停</td>
|
|||
|
|
<td>定时任务、Excel导出</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<blockquote>
|
|||
|
|
<p><strong>暂停原因</strong>: 必要性未确认,待进一步评估后再启动</p>
|
|||
|
|
</blockquote>
|
|||
|
|
<p><strong>关联文档保留</strong>:<br/>
|
|||
|
|
- PRD: <code>01-产品文档/08-集成生态/PRD-REQ-集成-001-OpenClaw合规检查-v1.0.md</code><br/>
|
|||
|
|
- 原型: <code>01-产品文档/08-集成生态/原型-REQ-集成-001-OpenClaw合规检查-v1.0.html</code><br/>
|
|||
|
|
- 技术方案: <code>02-技术文档/技术架构/技术方案-REQ-集成-001-OpenClaw合规检查-v1.0.md</code></p>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="in-progress">🟠 进行中 (In Progress) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>任务ID</th>
|
|||
|
|
<th>任务名称</th>
|
|||
|
|
<th>优先级</th>
|
|||
|
|
<th>状态</th>
|
|||
|
|
<th>说明</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td>#81</td>
|
|||
|
|
<td>敏感词检测 + 语气优化</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>🔄 v1.1 阶段1 已完成(07-28)</td>
|
|||
|
|
<td>词库入库 + 后台管理 UI(增删改查 + 灰度开关)+ 12 个配套 API 已落地。剩余阶段(语气优化、灰度策略细化)待 v1.2 排期。详见 <code>docs/01-产品文档/00-产品规划/PRD-REQ-通用-004-敏感词检测-v1.2-AI辅助.md</code></td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="to-do">🟡 待开始 (To Do) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>任务ID</th>
|
|||
|
|
<th>任务名称</th>
|
|||
|
|
<th>优先级</th>
|
|||
|
|
<th>说明</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td>#104</td>
|
|||
|
|
<td>运行期结构化日志查看页</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td><strong>已上线</strong> — 4 项筛选 + 下载命中行(前后端+部署均已落地,2026-08-04 文档收口)</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="recently-completed">✅ 最近完成 (Recently Completed) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>任务ID</th>
|
|||
|
|
<th>任务名称</th>
|
|||
|
|
<th>优先级</th>
|
|||
|
|
<th>负责人</th>
|
|||
|
|
<th>完成日期</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>/itportal 500 修复(nginx 配置清理)</td>
|
|||
|
|
<td>🔴 P0</td>
|
|||
|
|
<td>Duckula</td>
|
|||
|
|
<td>2026-08-03</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>troubleshooting_templates.py 5 端点补 auth + MOCK 替换 ORM</td>
|
|||
|
|
<td>🔴 P0</td>
|
|||
|
|
<td>Duckula</td>
|
|||
|
|
<td>2026-08-03</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#133</td>
|
|||
|
|
<td>voice_asr.py POST /asr auth 加固(P0 安全巡检)</td>
|
|||
|
|
<td>🔴 P0</td>
|
|||
|
|
<td>Duckula</td>
|
|||
|
|
<td>2026-08-03</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>批次1 P0重构(超时预算切分/RecommendCard/WS全字段)</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>批次2 P1基础重构(AIService单例/Dify调用点/Matcher/WS/Redis)</td>
|
|||
|
|
<td>P1</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>批次3 P1核心重构(process管线化/结单确认断链修复)</td>
|
|||
|
|
<td>P1</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>批次4 P2收尾(死代码大扫除)</td>
|
|||
|
|
<td>P2</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>D1合并(双模支持/kfid路由/C7/C8/上下文超限重置)</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>文档重组(docs目录9→10类/PRD合并/技术文档关联REQ)</td>
|
|||
|
|
<td>P2</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-19</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#82</td>
|
|||
|
|
<td>H5右侧栏布局调整</td>
|
|||
|
|
<td>P2</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-17</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#76</td>
|
|||
|
|
<td>ITSM工单卡片跳转(桥接页一步直达 + 扫码登录定为人机校验)</td>
|
|||
|
|
<td>P1</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-17</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>BUG-AI-001</td>
|
|||
|
|
<td>打印机路由到行政前台 + [object Object]显示异常</td>
|
|||
|
|
<td>P2</td>
|
|||
|
|
<td>Duckula</td>
|
|||
|
|
<td>2026-07-23</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>H5用户端原型图 v2.0 更新</td>
|
|||
|
|
<td>-</td>
|
|||
|
|
<td>Duckula</td>
|
|||
|
|
<td>2026-07-24</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#124</td>
|
|||
|
|
<td>坐席端接单按钮状态优化</td>
|
|||
|
|
<td>P1</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-24</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#125</td>
|
|||
|
|
<td>H5选项交互消息重复处理</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>Simon/Duckula</td>
|
|||
|
|
<td>2026-07-24</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>BUG-用户-003</td>
|
|||
|
|
<td>H5 员工端"结束会话失败,请稍后重试"修复</td>
|
|||
|
|
<td>P2</td>
|
|||
|
|
<td>Duckula</td>
|
|||
|
|
<td>2026-07-30</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="2026-07-1516">✅ 近期完成 (2026-07-15~16) <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>任务ID</th>
|
|||
|
|
<th>任务名称</th>
|
|||
|
|
<th>优先级</th>
|
|||
|
|
<th>负责人</th>
|
|||
|
|
<th>完成日期</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td>#117</td>
|
|||
|
|
<td>Neo4j 知识图谱连接修复</td>
|
|||
|
|
<td>P0</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-16</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#118</td>
|
|||
|
|
<td>粘贴图片边框问题</td>
|
|||
|
|
<td>P2</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-16</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#80</td>
|
|||
|
|
<td>企微图片消息无法预览</td>
|
|||
|
|
<td>P1</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-16</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#75</td>
|
|||
|
|
<td>头像同步功能完善</td>
|
|||
|
|
<td>P1</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-15</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#74</td>
|
|||
|
|
<td>IT资产升级卡片免登录修复</td>
|
|||
|
|
<td>P1</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-15</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>#73</td>
|
|||
|
|
<td>H5截图功能</td>
|
|||
|
|
<td>P2</td>
|
|||
|
|
<td>宋献</td>
|
|||
|
|
<td>2026-07-14</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="_3">📌 重要技术决策与限制记录 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>日期</th>
|
|||
|
|
<th>决策 / 限制</th>
|
|||
|
|
<th>影响范围</th>
|
|||
|
|
<th>说明</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
<td>D1合并:后端双模支持</td>
|
|||
|
|
<td>H5 AI对话</td>
|
|||
|
|
<td>intent_type/business_category字段透传,主Dify结果直接判断路由</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
<td>kfid路由窗口配置化</td>
|
|||
|
|
<td>H5业务路由</td>
|
|||
|
|
<td>12个职能部门窗口(行政/人力资源/财务/法务/物业),business_contacts表查具体处理人</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
<td>Redis密码轮换</td>
|
|||
|
|
<td>生产环境</td>
|
|||
|
|
<td>新密码32位字母数字,仅存服务器.env,轮换后验证通过</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
<td>process_h5_ai_reply管线化</td>
|
|||
|
|
<td>H5 AI对话</td>
|
|||
|
|
<td>9步骤函数式拆分,try/except 11对→1对</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-07-18</td>
|
|||
|
|
<td>结单确认功能断链修复</td>
|
|||
|
|
<td>坐席端</td>
|
|||
|
|
<td>WS类型resolve_confirm,前端case改对应监听+ChatPanel挂载</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-07-19</td>
|
|||
|
|
<td>docs目录重组</td>
|
|||
|
|
<td>文档管理</td>
|
|||
|
|
<td>9类→10类(新增运营文档),PRD合并,技术文档关联REQ编号</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-07-17</td>
|
|||
|
|
<td>H5 答题功能实现</td>
|
|||
|
|
<td>H5 右侧栏</td>
|
|||
|
|
<td>答题区域通过 showQuiz prop 控制显隐,QueueWaiting 组件始终挂载但默认折叠。修复了答题默认显示和重复出现的 bug。详见任务说明书 #82 v1.1</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-07-17</td>
|
|||
|
|
<td>ITSM 工单跳转:扫码登录定为人机校验</td>
|
|||
|
|
<td>8 个运维平台审批卡片</td>
|
|||
|
|
<td>Web ITSM 深链不支持静默企微 OAuth,桥接页跨域预热被拒,仍弹扫码。产品决策保留该扫码环节(企业安全合规可接受的二次身份确认),不视为缺陷。详见 PRD §v2.3、架构 §15.4.9、任务说明书 #76 v3.0</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>2026-08-05</td>
|
|||
|
|
<td><strong>看板 v1.8 分区升级</strong></td>
|
|||
|
|
<td>看板管理</td>
|
|||
|
|
<td>新增 🔴 P0 必做 / 🟡 P1 重要 / 🟢 等用户决策三个正式分区,4 维分类(新增/历史遗留/信息/建议)正式纳入看板流转</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="_4">📈 任务统计 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<ul>
|
|||
|
|
<li><strong>总任务数</strong>: 96(v1.7 = 92 + 本次新增 4 项 P0/P1)</li>
|
|||
|
|
<li><strong>已完成</strong>: 88</li>
|
|||
|
|
<li><strong>🔴 P0 必做</strong>: 4(P0-1/2/3/4)</li>
|
|||
|
|
<li><strong>🟡 P1 重要</strong>: 1(P1-1)</li>
|
|||
|
|
<li><strong>🟢 等用户决策</strong>: 2(BLK-A/B,均超 25 天阈值)</li>
|
|||
|
|
<li><strong>🟠 进行中</strong>: 1(#81 v1.2 待排期)</li>
|
|||
|
|
<li><strong>🟡 待开始</strong>: 0(#104 已上线,迁移至已完成区,下次发版清理)</li>
|
|||
|
|
<li><strong>⏸️ 暂停</strong>: 5(安全策略检查平台)</li>
|
|||
|
|
</ul>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="_5">🔗 相关文档 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<ul>
|
|||
|
|
<li>任务说明书目录: <code>docs/07-项目管理/任务说明书/</code></li>
|
|||
|
|
<li>项目管理主文档: <code>docs/07-项目管理/任务说明书/IT智能服务台-项目管理主文档.md</code></li>
|
|||
|
|
<li><strong>2026-08-05 早班巡检报告(HTML)</strong>: <code>docs/07-项目管理/巡检报告/2026-08/2026-08-05-早班.html</code></li>
|
|||
|
|
<li>巡检报告归档目录: <code>docs/07-项目管理/巡检报告/</code></li>
|
|||
|
|
</ul>
|
|||
|
|
<hr/>
|
|||
|
|
<h2 id="_6">📝 看板版本变更记录 <a class="back-to-toc" href="#toc" title="回到目录">📑</a></h2>
|
|||
|
|
<table>
|
|||
|
|
<thead>
|
|||
|
|
<tr>
|
|||
|
|
<th>版本</th>
|
|||
|
|
<th>日期</th>
|
|||
|
|
<th>变更内容</th>
|
|||
|
|
<th>变更人</th>
|
|||
|
|
</tr>
|
|||
|
|
</thead>
|
|||
|
|
<tbody>
|
|||
|
|
<tr>
|
|||
|
|
<td><strong>v1.8.0-FROZEN</strong></td>
|
|||
|
|
<td>2026-08-05 19:37</td>
|
|||
|
|
<td>✅ 冻结:v1.8-DRAFT 内容经 PM 审核通过正式生效;归档副本 <code>项目状态看板-v1.8.0-FROZEN.html</code>;服务发布至 <code>https://itsupport.servyou.com.cn/docs/kanban/</code> + <code>/docs/inspection/</code>;接自动化(早班巡检后自动跑 <code>build_kanban_html.py</code>)</td>
|
|||
|
|
<td>Simon(审核)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>v1.8-DRAFT</td>
|
|||
|
|
<td>2026-08-05</td>
|
|||
|
|
<td>🆕 草稿:新增 🔴 P0 必做分区(4 项)/ 🟡 P1 重要分区(1 项)/ 🟢 等用户决策分区(2 项,25 天阈值);总任务数 92→96;引入 4 维分类(新增/历史遗留/信息/建议);附 HTML 巡检报告归档路径</td>
|
|||
|
|
<td>Duckula (AI)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>v1.7</td>
|
|||
|
|
<td>2026-08-03</td>
|
|||
|
|
<td>#81 状态反转:v1.1 阶段1 已完成(07-28)→ 进行中;新增今日完成项 troubleshooting_templates 5 端点 + /itportal 500 修复;统计 92/87/1/1/5/2</td>
|
|||
|
|
<td>Duckula (AI)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>v1.5</td>
|
|||
|
|
<td>2026-07-30</td>
|
|||
|
|
<td>追加 BUG-用户-003 修复完成项(H5 结束会话失败回归);总任务数 90→91;已完成 84→85;关联 TC-用户-008;待开始不变</td>
|
|||
|
|
<td>Duckula (AI)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>v1.4</td>
|
|||
|
|
<td>2026-07-24</td>
|
|||
|
|
<td>批量完成项入库(批次 1-4 重构 / D1 合并 / 文档重组 / #124 坐席接单按钮 / #125 H5 选项消息)</td>
|
|||
|
|
<td>Simon</td>
|
|||
|
|
</tr>
|
|||
|
|
</tbody>
|
|||
|
|
</table>
|
|||
|
|
</main>
|
|||
|
|
|
|||
|
|
<footer>
|
|||
|
|
本页面由 <code>build_kanban_html.py</code> 自动生成于 2026-08-05 19:45 (GMT+8) · 数据源:docs/07-项目管理/项目状态看板.md<br>
|
|||
|
|
修改流程:编辑 .md → 跑脚本生成 .html → (可选)部署到 jumpserver → commit & push
|
|||
|
|
</footer>
|
|||
|
|
</div>
|
|||
|
|
</body>
|
|||
|
|
</html>
|