update at 2025-10-16 11:17:45

This commit is contained in:
douboer
2025-10-16 11:17:45 +08:00
parent 60b71b294d
commit 4e670ad5f6
4 changed files with 1374 additions and 129 deletions

1357
restructure.md Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,64 +0,0 @@
#!/bin/bash
# 测试 JSON 生成逻辑
echo "🧪 测试 Release JSON 生成"
echo "================================"
# 模拟提取的内容
VERSION="v1.0.3"
RELEASE_TITLE="重大功能:停止生成 & UI 优化"
TAG_MESSAGE="发布时间: 2025-10-15
### 🎯 重大功能:停止生成 & UI 优化
本版本实现了完整的停止生成功能。
#### ✨ 核心功能
**⏸️ 智能停止生成**
- 点击停止按钮立即中断 AI 回复
- 保留已生成的内容"
echo "📝 版本号: $VERSION"
echo "📌 标题: $RELEASE_TITLE"
echo ""
# 方法1使用 jq -R -s会导致 \n 转义)
echo "❌ 方法1 (有问题的)"
JSON_BAD=$(echo "$TAG_MESSAGE" | jq -R -s -c \
--arg version "$VERSION" \
--arg title "$VERSION - $RELEASE_TITLE" \
'{
tag_name: $version,
name: $title,
body: .,
draft: false,
prerelease: false
}')
echo "$JSON_BAD" | jq -r '.body' | head -n 5
echo ""
# 方法2使用 --arg正确的
echo "✅ 方法2 (正确的)"
JSON_GOOD=$(jq -n -c \
--arg version "$VERSION" \
--arg title "$VERSION - $RELEASE_TITLE" \
--arg body "$TAG_MESSAGE" \
'{
tag_name: $version,
name: $title,
body: $body,
draft: false,
prerelease: false
}')
echo "$JSON_GOOD" | jq -r '.body' | head -n 5
echo ""
echo "🔍 比较:"
echo "方法1 body 长度: $(echo "$JSON_BAD" | jq -r '.body' | wc -c)"
echo "方法2 body 长度: $(echo "$JSON_GOOD" | jq -r '.body' | wc -c)"
echo ""
echo "📋 完整的 JSON (方法2)"
echo "$JSON_GOOD" | jq '.'

View File

@@ -1,60 +0,0 @@
#!/bin/bash
# 测试脚本:验证从 release.md 中提取版本信息
echo "🧪 测试版本信息提取逻辑"
echo "================================"
if [ ! -f release.md ]; then
echo "❌ 未找到 release.md"
exit 1
fi
# 提取最后一个版本号(去掉 ## 和空格)
VERSION=$(grep "^## v" release.md | tail -n 1 | sed 's/^## *//')
if [ -z "$VERSION" ]; then
echo "❌ release.md 中未找到版本号"
exit 1
fi
echo "📝 提取的版本号: $VERSION"
echo ""
# 提取该版本块的内容(从版本标题下一行到下一个版本或文件结尾)
TAG_MESSAGE=$(awk "
/^## $VERSION\$/ { flag=1; next }
/^## v[0-9]/ && flag { exit }
flag { print }
" release.md)
echo "📄 提取的内容长度: $(echo "$TAG_MESSAGE" | wc -l)"
echo ""
# 提取标题
RELEASE_TITLE=$(echo "$TAG_MESSAGE" | grep -m 1 "^###" | sed 's/^### *//' | sed 's/^[🎯✨🔧🐛📦]* *//')
if [ -z "$RELEASE_TITLE" ]; then
RELEASE_TITLE=$(echo "$TAG_MESSAGE" | grep -v "^$" | grep -v "^发布时间:" | head -n 1)
fi
if [ -z "$RELEASE_TITLE" ]; then
RELEASE_TITLE="Release $VERSION"
fi
echo "📌 提取的标题: $RELEASE_TITLE"
echo ""
echo "📄 完整内容预览前20行:"
echo "--------------------------------"
echo "$TAG_MESSAGE" | head -n 20
echo "--------------------------------"
echo ""
echo "✅ 测试完成"
echo ""
echo "🔍 提取结果总结:"
echo " 版本号: $VERSION"
echo " 标题: $RELEASE_TITLE"
echo " 内容行数: $(echo "$TAG_MESSAGE" | wc -l)"
echo " 完整标题: $VERSION - $RELEASE_TITLE"

View File

@@ -1,6 +1,7 @@
# todolist # todolist
## 实现
1. 从cherry-studio代码中移植: 1. 从cherry-studio代码中移植:
“模型服务” “模型服务”
“显示设置” “显示设置”
@@ -16,9 +17,6 @@ https://ark.cn-beijing.volces.com/api/v3
https://dashscope.aliyuncs.com/compatible-mode/v1 https://dashscope.aliyuncs.com/compatible-mode/v1
sk-2546da09b6d9471894aeb95278f96c11 sk-2546da09b6d9471894aeb95278f96c11
2. 大模型选择不知道是否生效?
3. 阿里模型直接使用模型ID。 3. 阿里模型直接使用模型ID。
@@ -28,7 +26,21 @@ sk-2546da09b6d9471894aeb95278f96c11
4. MCP 功能叠加。 4. MCP 功能叠加。
5. 优化消息交互。比如标题\内容超长怎么处理❓ ## 优化
该项目经过反复重构,重构过程关注功能实现,没有关注性能、结构合理性、和实现的优雅性。全量分析,提供优化点及思路。
**先优化,在做数据库改造**
6. 上下文的问题?上下文由谁维护❓以及如何维护❓ ## 问题
1. 优化消息交互。比如标题\内容超长怎么处理❓
2. 上下文的问题?上下文由谁维护❓以及如何维护❓
可以在cherry-studio中验证。
3. 大模型选择不知道是否生效?
4. 前端本地持久化localStorage, 后端Node/Express不使用数据库运行时内存保存。
Pinia store、localStorage、内存状态三处保存数据
使用sqlite3 vs. better-sqlite3持久化性能开销
没有统一的数据源?