- Introduced `pending_trade` handling in the chat API to manage trade requests more effectively. - Updated the `submit_trade_api` to allow advisors to access customer trades based on assigned roles. - Added new methods in `GatewayRepository` for managing core holdings during trade subscriptions and redemptions. - Implemented context-aware trade dialogue management in the customer service layer to improve user experience during multi-turn interactions. - Enhanced the tool service to support trade actions and suitability checks, ensuring accurate processing of user requests. This update significantly improves the trade interaction flow, providing a more robust and user-friendly experience for customers engaging in trading activities.
233 lines
9.2 KiB
HTML
233 lines
9.2 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>JinRong 交互课程 · 导览中心</title>
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&display=swap" rel="stylesheet">
|
||
<style>
|
||
:root {
|
||
--bg: #F7F3ED;
|
||
--bg-card: #FFFCF7;
|
||
--ink: #2C2419;
|
||
--muted: #6B5E52;
|
||
--border: #E8DFD3;
|
||
--accent: #C45C3E;
|
||
--accent-hover: #A84D34;
|
||
--shadow: 0 4px 24px rgba(44, 36, 25, 0.08);
|
||
--radius: 14px;
|
||
}
|
||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||
body {
|
||
font-family: 'DM Sans', system-ui, sans-serif;
|
||
background: var(--bg);
|
||
color: var(--ink);
|
||
line-height: 1.65;
|
||
min-height: 100vh;
|
||
}
|
||
.wrap {
|
||
max-width: 920px;
|
||
margin: 0 auto;
|
||
padding: 3rem 1.5rem 4rem;
|
||
}
|
||
header {
|
||
text-align: center;
|
||
margin-bottom: 2.5rem;
|
||
}
|
||
h1 {
|
||
font-family: 'Bricolage Grotesque', sans-serif;
|
||
font-size: clamp(1.75rem, 4vw, 2.35rem);
|
||
font-weight: 800;
|
||
letter-spacing: -0.03em;
|
||
margin-bottom: 0.75rem;
|
||
}
|
||
.lead {
|
||
color: var(--muted);
|
||
font-size: 1.05rem;
|
||
max-width: 36em;
|
||
margin: 0 auto;
|
||
}
|
||
.section-label {
|
||
font-size: 0.75rem;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.12em;
|
||
color: var(--muted);
|
||
margin: 2rem 0 1rem;
|
||
padding-bottom: 0.5rem;
|
||
border-bottom: 1px dashed var(--border);
|
||
}
|
||
.grid {
|
||
display: grid;
|
||
gap: 1rem;
|
||
}
|
||
@media (min-width: 640px) {
|
||
.grid { grid-template-columns: 1fr 1fr; }
|
||
}
|
||
a.card {
|
||
display: block;
|
||
text-decoration: none;
|
||
color: inherit;
|
||
background: var(--bg-card);
|
||
border: 1px solid var(--border);
|
||
border-radius: var(--radius);
|
||
padding: 1.25rem 1.35rem;
|
||
box-shadow: var(--shadow);
|
||
transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
|
||
}
|
||
a.card:hover {
|
||
transform: translateY(-2px);
|
||
border-color: var(--accent);
|
||
box-shadow: 0 8px 32px rgba(196, 92, 62, 0.12);
|
||
}
|
||
.card-accent {
|
||
display: inline-block;
|
||
width: 10px;
|
||
height: 10px;
|
||
border-radius: 50%;
|
||
margin-right: 0.5rem;
|
||
vertical-align: middle;
|
||
}
|
||
.card h2 {
|
||
font-family: 'Bricolage Grotesque', sans-serif;
|
||
font-size: 1.1rem;
|
||
font-weight: 700;
|
||
margin-bottom: 0.4rem;
|
||
}
|
||
.card p {
|
||
font-size: 0.9rem;
|
||
color: var(--muted);
|
||
}
|
||
.card .tag {
|
||
display: inline-block;
|
||
margin-top: 0.65rem;
|
||
font-size: 0.72rem;
|
||
padding: 0.15rem 0.5rem;
|
||
border-radius: 999px;
|
||
background: #F0EAE2;
|
||
color: var(--muted);
|
||
}
|
||
footer {
|
||
margin-top: 3rem;
|
||
text-align: center;
|
||
font-size: 0.85rem;
|
||
color: var(--muted);
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="wrap">
|
||
<header>
|
||
<h1>JinRong 交互课程</h1>
|
||
<p class="lead">面向 vibe coder 的仓库导览:滚动式模块、代码白话对照、动效与测验。直接用浏览器打开各课程 <code>index.html</code>,无需安装。</p>
|
||
</header>
|
||
|
||
<p class="section-label">总览 · 答辩</p>
|
||
<div class="grid">
|
||
<a class="card" href="jinrong-overview/index.html">
|
||
<span class="card-accent" style="background:#2A7B9B"></span>
|
||
<h2>JinRong 项目现状</h2>
|
||
<p>四角色、JWT 双通道、数据从哪来、merger 做到哪——含<strong>模块 8 答辩动线</strong>(896 pytest 回归基线)。</p>
|
||
<span class="tag">8 模块 · 入门首选</span>
|
||
</a>
|
||
<a class="card" href="../答辩/答辩知识点清单.md">
|
||
<span class="card-accent" style="background:#C45C3E"></span>
|
||
<h2>答辩知识点清单(Markdown)</h2>
|
||
<p>总架构、数据流、分 Agent 亮点、Demo 动线、诚实边界、Q&A 锚点——与交互课同步。</p>
|
||
<span class="tag">docs/答辩 · 可打印提纲</span>
|
||
</a>
|
||
<a class="card" href="../答辩/README.md">
|
||
<span class="card-accent" style="background:#5C4A3A"></span>
|
||
<h2>答辩手册索引</h2>
|
||
<p>文档地图、60 分钟准备路径、诚实边界——链口播稿、功能测试、HTML 幻灯片。</p>
|
||
<span class="tag">docs/答辩/README · 入口</span>
|
||
</a>
|
||
<a class="card" href="../答辩/presentation/index.html">
|
||
<span class="card-accent" style="background:#3D5A80"></span>
|
||
<h2>答辩 HTML 幻灯片</h2>
|
||
<p>投屏用单页 deck:架构、四 Agent 业务、Demo 动线、收口与 Q&A(业务展示口径)。</p>
|
||
<span class="tag">presentation · Ctrl+P 可导出 PDF</span>
|
||
</a>
|
||
<a class="card" href="../答辩/答辩稿.md">
|
||
<span class="card-accent" style="background:#6B4E71"></span>
|
||
<h2>口播答辩稿</h2>
|
||
<p>12~15 分钟照着讲:开场、亮点、Live Demo 过渡句、边界收口。</p>
|
||
<span class="tag">Markdown · 2026-09-13</span>
|
||
</a>
|
||
<a class="card" href="../答辩/DEMO-SOP-答辩全流程.md">
|
||
<span class="card-accent" style="background:#1F6280"></span>
|
||
<h2>答辩 Demo 全流程 SOP</h2>
|
||
<p>给人看的逐步演示:6~25 分钟三档路线、四角色账号、每步<strong>亮点+口述句</strong>;链问数/风控分册。</p>
|
||
<span class="tag">Markdown · 答辩主脚本</span>
|
||
</a>
|
||
<a class="card" href="../答辩/DEMO-功能测试流程.md">
|
||
<span class="card-accent" style="background:#2D6A4F"></span>
|
||
<h2>Demo 功能测试流程</h2>
|
||
<p>答辩前 1 小时 P0/P1 打勾:账号、Chat、交易、风控、问数、顾问各段。</p>
|
||
<span class="tag">Markdown · 验收表</span>
|
||
</a>
|
||
|
||
<p class="section-label">架构治理 · ADR 与不变量</p>
|
||
<div class="grid">
|
||
<a class="card" href="jinrong-architecture-governance/index.html">
|
||
<span class="card-accent" style="background:#1F6280"></span>
|
||
<h2>架构治理课(四 Agent 映射)</h2>
|
||
<p>Richards/Ford 四要素、<strong>ADR</strong>、不变量 vs 降级、<strong>fitness function</strong> 阀门——用本仓库四 Agent + 共用模块当例题。</p>
|
||
<span class="tag">8 模块 · 指挥 AI 改架构前必读</span>
|
||
</a>
|
||
</div>
|
||
|
||
<p class="section-label">模块深潜(7 门)</p>
|
||
<div class="grid">
|
||
<a class="card" href="jinrong-module-customer/index.html">
|
||
<span class="card-accent" style="background:#2D8B55"></span>
|
||
<h2>客户财富 Agent 深潜</h2>
|
||
<p>客户 SSE 对话、14 节点 LangGraph、口吻护栏、两套 RAG、合规 vs 一期拒答。</p>
|
||
<span class="tag">customer_service · 7 模块</span>
|
||
</a>
|
||
<a class="card" href="jinrong-module-advisor/index.html">
|
||
<span class="card-accent" style="background:#8B6B4A"></span>
|
||
<h2>代理人助手 Agent 深潜</h2>
|
||
<p>理财师顾问线、名下客户查询、G-01 归属;T-20 未做 · Neo4j 是同步脚本非 Tool。</p>
|
||
<span class="tag">advisor · agent_service · 4 模块</span>
|
||
</a>
|
||
<a class="card" href="jinrong-module-analyst/index.html">
|
||
<span class="card-accent" style="background:#6B5B95"></span>
|
||
<h2>数据分析 Agent 深潜</h2>
|
||
<p>问数 NL2SQL、D-06 模板/结果缓存、dashboard、问数红线、口径种子排障。</p>
|
||
<span class="tag">analyst · /api/analyst · 5 模块</span>
|
||
</a>
|
||
<a class="card" href="jinrong-module-risk/index.html">
|
||
<span class="card-accent" style="background:#B84A4A"></span>
|
||
<h2>风控监测 Agent 深潜</h2>
|
||
<p>预警台账、AML 只读 Tool、模拟交易、写侧并发(模块 7)、cron/空台账演示边界。</p>
|
||
<span class="tag">risk · X-Agent-Type: risk · 7 模块</span>
|
||
</a>
|
||
<a class="card" href="jinrong-module-platform/index.html">
|
||
<span class="card-accent" style="background:#E06B56"></span>
|
||
<h2>代销平台 API 深潜</h2>
|
||
<p>v0.1 路由、适当性 canonical、空壳 API、行情 Phase B 草案。</p>
|
||
<span class="tag">get_platform_auth_context · 4 模块</span>
|
||
</a>
|
||
<a class="card" href="jinrong-module-frontend/index.html">
|
||
<span class="card-accent" style="background:#132B3A"></span>
|
||
<h2>前端 web 深潜</h2>
|
||
<p>四角色 HashRouter、Chat 鉴权差异、useAsyncSequence 竞态、问数标签、未接线清单。</p>
|
||
<span class="tag">web/ · React · 4 模块</span>
|
||
</a>
|
||
<a class="card" href="jinrong-module-shared/index.html">
|
||
<span class="card-accent" style="background:#5A9DB8"></span>
|
||
<h2>共用底座与鉴权 深潜</h2>
|
||
<p>JWT 双栈 deps/gateway、Redis 会话、审计只 INSERT、6380 fail-open。</p>
|
||
<span class="tag">deps · memory_service · 4 模块</span>
|
||
</a>
|
||
</div>
|
||
|
||
<footer>
|
||
<p>构建:<code>python docs/course/build_all.py</code> 或各目录下 <code>bash build.sh</code></p>
|
||
</footer>
|
||
</div>
|
||
</body>
|
||
</html>
|