kuaifan 29be29b9cf feat(ai): 优化 AI 提示词并完善建议交互功能
- 优化后端提示词:描述生成、子任务拆分、负责人推荐,新增栏目信息,去掉无效的 similar_count
- 优化前端提示词:去掉硬性字数限制,即时消息改为简短输出
- 新增 :::ai-action{...}::: 语法处理,支持单独采纳/忽略 assignee 和 similar
- 采纳/忽略后更新消息状态显示
- 负责人改为追加模式,保留现有负责人
- 新增任务关联功能,similar 采纳时自动创建双向关联
- 相似度阈值从 0.7 调整为 0.5,搜索结果增加到 200

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-21 15:30:07 +00:00

146 lines
3.0 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;
}
}
.self {
.markdown-body {
color: #ffffff;
table {
color: #383a42;
}
}
}
@keyframes blink-animate {
0%,to {
background-color: currentColor
}
50% {
background-color: transparent
}
}
}