mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-17 02:09:19 +00:00
「带我去」分步引导(driver.js + 四级元素定位 + show_guide)定位不稳、 二级菜单不可达、点高亮按钮触发跳转即被杀,体验差。改为 AI 回复正文里把 可定位的页面/面板渲染成可点深链 chip,点击直达那一屏。 - 新增深链目录:_meta/page-links.yaml(语义,供 AI 选择)+ deep-links.js (可执行映射,21 个无需运行时 id 的导航目的地),两端 id 一致性由 tests/deep-links-parity.mjs 校验 - markdown.js 加 processDeepLinks:[文字](dootask://link/<id>) 合法 id → chip,非法 id → 纯文字(绝不渲染死链);复用现有 dootask:// 点击拦截链路 - DialogMarkdown 加 link 分支调 openDeepLink;system.vue 支持 query.tab 初始化,系统设置二级 Tab 可深链直达 - 彻底移除 driver.js 引导:删 guide-renderer.js/guide.css、show_guide 前端通道、aiGuideStarted 监听、driver.js 依赖 - 同步 ai-kb:改写 guide/start-guide 两 chunk、tool-binding 去 show_guide - 插件侧 prompt 改动规格见 docs/ai-deeplink-plugin-spec.md(独立仓库实施) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
174 lines
3.7 KiB
Plaintext
174 lines
3.7 KiB
Plaintext
@import "highlight";
|
||
@import "github";
|
||
|
||
body {
|
||
&.dark-mode-reverse {
|
||
.markdown-body {
|
||
color: #ffffff;
|
||
.highlight pre,
|
||
pre {
|
||
background-color: #282c34;
|
||
}
|
||
}
|
||
.self {
|
||
.markdown-body {
|
||
table {
|
||
color: #abb2bf;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.markdown-body {
|
||
color: #303133;
|
||
background-color: transparent;
|
||
font-size: 14px;
|
||
overflow: auto;
|
||
|
||
p {
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
ol {
|
||
list-style-type: decimal;
|
||
}
|
||
|
||
ul {
|
||
list-style-type: disc;
|
||
}
|
||
|
||
pre code,
|
||
pre tt {
|
||
line-height: 1.65;
|
||
}
|
||
|
||
.highlight pre,
|
||
pre {
|
||
background-color: #fff;
|
||
}
|
||
|
||
code.hljs {
|
||
padding: 0;
|
||
}
|
||
|
||
.code-block {
|
||
&-wrapper {
|
||
position: relative;
|
||
padding-top: 24px;
|
||
}
|
||
|
||
&-header {
|
||
position: absolute;
|
||
top: 5px;
|
||
right: 0;
|
||
width: 100%;
|
||
padding: 0 1rem;
|
||
display: flex;
|
||
justify-content: flex-end;
|
||
align-items: center;
|
||
color: #b3b3b3;
|
||
|
||
&__copy {
|
||
cursor: pointer;
|
||
margin-left: 0.5rem;
|
||
user-select: none;
|
||
|
||
&:hover {
|
||
color: #65a665;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.input-blink {
|
||
width: 10px;
|
||
height: 20px;
|
||
position: relative;
|
||
&:before {
|
||
position: absolute;
|
||
content: '';
|
||
display: inline-block;
|
||
width: 2px;
|
||
height: 16px;
|
||
top: 50%;
|
||
transform: translateY(-50%);
|
||
animation: blink-animate 1.2s infinite steps(1, start);
|
||
}
|
||
}
|
||
|
||
.ai-action-buttons {
|
||
display: inline-flex;
|
||
gap: 4px;
|
||
|
||
.ai-btn {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
padding: 0 4px;
|
||
text-decoration: none;
|
||
cursor: pointer;
|
||
|
||
&.ai-btn-apply {
|
||
color: #52c41a;
|
||
}
|
||
|
||
&.ai-btn-dismiss {
|
||
color: #909399;
|
||
}
|
||
}
|
||
}
|
||
|
||
.ai-status {
|
||
display: inline-block;
|
||
margin-left: 8px;
|
||
color: #909399;
|
||
}
|
||
|
||
// AI 回复内联深链 chip:把"系统设置"这类可定位词渲染成可点蓝色胶囊
|
||
.ai-deeplink-chip {
|
||
display: inline;
|
||
padding: 1px 6px;
|
||
margin: 0 1px;
|
||
border-radius: 5px;
|
||
background: rgba(22, 119, 255, 0.08);
|
||
color: #1677ff;
|
||
text-decoration: none;
|
||
cursor: pointer;
|
||
white-space: nowrap;
|
||
transition: background 0.2s;
|
||
|
||
&:hover {
|
||
background: rgba(22, 119, 255, 0.16);
|
||
}
|
||
}
|
||
}
|
||
|
||
.self {
|
||
.markdown-body {
|
||
color: #ffffff;
|
||
table {
|
||
color: #383a42;
|
||
}
|
||
}
|
||
}
|
||
|
||
.dialog-markdown {
|
||
table {
|
||
th, td {
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
}
|
||
}
|
||
|
||
@keyframes blink-animate {
|
||
0%,to {
|
||
background-color: currentColor
|
||
}
|
||
|
||
50% {
|
||
background-color: transparent
|
||
}
|
||
}
|
||
}
|