Files
zhanghongyu_0626 647c07062e feat(trade): Enhance trade processing and context handling in customer service
- 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.
2026-09-13 17:45:04 +08:00

233 lines
9.2 KiB
HTML
Raw Permalink 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="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&amp;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>