kuaifan 39b9a72b16 refactor(ai-assistant): 用内联深链替代 driver.js 页面引导
「带我去」分步引导(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>
2026-06-10 23:55:09 +00:00

49 lines
1.5 KiB
Vue
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.

<template>
<div class="setting-item submit">
<Tabs v-model="tabAction">
<TabPane :label="$L('系统设置')" name="setting">
<SystemSetting/>
</TabPane>
<TabPane :label="$L('任务优先级')" name="taskPriority">
<SystemTaskPriority/>
</TabPane>
<TabPane :label="$L('项目模板')" name="columnTemplate">
<SystemColumnTemplate/>
</TabPane>
<TabPane :label="$L('文件设置')" name="fileSetting">
<SystemFileSetting/>
</TabPane>
</Tabs>
</div>
</template>
<script>
import SystemSetting from "./components/SystemSetting";
import SystemTaskPriority from "./components/SystemTaskPriority";
import SystemColumnTemplate from "./components/SystemColumnTemplate";
import SystemFileSetting from "./components/SystemFileSetting";
const VALID_TABS = ['setting', 'taskPriority', 'columnTemplate', 'fileSetting'];
export default {
components: {SystemColumnTemplate, SystemTaskPriority, SystemSetting, SystemFileSetting},
data() {
return {
tabAction: this.tabFromRoute(),
}
},
watch: {
// 支持深链直达指定分区dootask://link/setting_system_xxx → query.tab
'$route.query.tab'() {
this.tabAction = this.tabFromRoute();
},
},
methods: {
tabFromRoute() {
const tab = this.$route?.query?.tab;
return VALID_TABS.includes(tab) ? tab : 'setting';
},
},
}
</script>