32 Commits
Author SHA1 Message Date
wjl2023 e8a7e96154 docs: refresh WeChat group 22 QR code
Replace the expired README community QR image while keeping the existing filename and 微信群 22 label.
2026-08-17 14:52:41 +08:00
wjl2023 ff6c6e92e6 docs: refresh WeChat group 22 QR code
The previous wechat_group22.jpg QR has expired. Replace it with a current
scan-to-join image so the README community section stays usable.
2026-07-30 22:01:25 +08:00
wjl2023 7412816ec6 docs: update WeChat group QR code to group 22
Replace the README community QR with the current WeChat experience group image (wechat_group22.jpg) following the existing numbering convention.
2026-07-20 16:39:19 +08:00
wjl2023 0672d70358 feat: ask_user通知框去圆角,改为方形
- .ask-user-notice border-radius: var(--radius) → 0
- 匹配项目整体方形设计风格
2026-05-28 03:41:43 +08:00
wjl2023 f4f9bd35cb feat: ask_user通知加粗banner和问题文本
- .ask-user-banner-text font-weight: 600→700
- .ask-user-body 新增 font-weight:600
- 提升ask_user卡片视觉层级,问题更醒目
2026-05-28 03:40:13 +08:00
wjl2023 b3ade6b3e7 feat: 自定义滚动条样式,完全方形窄滚动条
- 全局 webkit scrollbar: 6px宽,border-radius:0(完全方形)
- 滑块颜色 var(--line),hover 加深为 var(--line-strong)
- 轨道透明,不占视觉空间
- 去掉 scrollbar-width:thin(会覆盖webkit伪元素导致overlay模式)
- 匹配项目整体方形设计风格
2026-05-28 03:36:38 +08:00
wjl2023 83706247e4 feat: 精简分割线,聊天主体用单一矩形框包裹
- msg-area 四边 border:1px solid var(--line) 形成完整矩形框
- 去掉 topbar border-bottom(改由 msg-area border-top 承担)
- 去掉 composer border-top(改由 msg-area border-bottom 承担)
- 去掉 main.main 的 border
- 去掉 .sidebar-foot 的 border-top
- 去掉 aside.sidebar 的 border-right
- 去掉 #rightpanel 的 border-left
- 去掉 .chat-tools 的 border-bottom
- 矩形完全自包含于 msg-area,不受 rightPanel 遮挡影响
2026-05-28 03:28:48 +08:00
wjl2023 071edcfc76 style: align LaTeX copy button with code block copy button
- Replace SVG icon with ⧉ character (same as code block)
- Match font-size, padding, border-radius, background
- Remove border and flex layout, use simple text button
- Both buttons now visually identical (~16.5x14.7px)
2026-05-28 03:17:55 +08:00
wjl2023 15415a6b75 fix(latex): support \(...\) \[...\] delimiters and protect code blocks
- Add \(...\) and \[...\] as recognized LaTeX delimiters in protectLatex
- Protect fenced code blocks and inline code before LaTeX extraction
- Prevents $...$ inside code blocks from being misinterpreted as math
- Processing order: protect code → extract LaTeX → restore code → marked.parse
2026-05-28 03:12:55 +08:00
wjl2023 b260ff7326 feat: TUI风格代码块渲染 - 语言标签头+复制按钮+终端面板样式 2026-05-28 03:06:15 +08:00
wjl2023 d1e18bab8b feat: 折叠框箭头旋转动画(▶→▼, 0.2s ease transition) 2026-05-28 03:01:20 +08:00
wjl2023 4d0a911187 fix: 去掉工具调用/结果折叠框的蓝绿色边框和背景(fold-tool/fold-result→transparent) 2026-05-28 02:58:08 +08:00
wjl2023 10734386e6 fix: 去掉模型回复的灰色气泡背景(bubble.md background→transparent) 2026-05-28 02:54:39 +08:00
wjl2023 5b8f825ee9 chore: remove dev notebook from PR branch 2026-05-27 17:08:50 +08:00
wjl2023 b3f008332c fix(token): remove duplicate placeholder text from date inputs
The label already shows '从'/'到', so data-i18n-ph on inputs
caused duplicate text display. Removed placeholder attributes.
2026-05-27 17:04:58 +08:00
wjl2023 9114bd63bc style(flatpickr): bold + normalize header font-size to 13px
- Add font-weight:600 !important to month dropdown and year input
- Add font-size:13px !important to override CDN's 135% enlargement
- Ensures calendar header matches app's global 13px baseline
2026-05-27 16:53:14 +08:00
wjl2023 92aa47e048 style(flatpickr): bold month/year header for better visibility 2026-05-27 16:50:20 +08:00
wjl2023 f84c616f6e style(flatpickr): align calendar font-family and font-size with app
- Add font-family:inherit !important to .flatpickr-calendar
- Add font-size:13px !important to match body font-size
2026-05-27 16:43:56 +08:00
wjl2023 a4adb63e45 fix(token/flatpickr): dark mode calendar + friendlier date display
- Add !important to all Flatpickr CSS overrides to beat CDN specificity
- Change dateFormat from ISO 'Y-m-d\TH:i' to 'Y-m-d  H:i' (double space)
- Update tokGetFiltered to use .replace(/\s+/,'T') for Safari compat
2026-05-27 16:36:41 +08:00
wjl2023 65b1dab225 feat(token): replace native datetime-local with Flatpickr datepicker
- Add Flatpickr CDN (CSS + JS + zh locale) to index.html
- Change input type to text with .tok-date class
- Add Flatpickr theme override using CSS variables (light + dark)
- Initialize Flatpickr instances with ISO dateFormat for Safari compat
- Update reset button to use fp.clear() API
2026-05-27 16:29:28 +08:00
wjl2023 cd20e7da1b style(chat): responsive width with clamp() for large screens
Replace hardcoded max-width (760px/560px) with CSS variable
--chat-max-w: clamp(600px, 75%, 1000px) so the chat area
scales naturally on wider displays.
2026-05-26 01:58:16 +08:00
wjl2023 7b025ca47e fix(fold-turn): fallback to tool names when no <summary> tag in turn body 2026-05-26 01:13:56 +08:00
wjl2023 c7e3ce8a84 refactor(fold): Apple-style disclosure with left border line
- Remove colored borders and backgrounds from fold components
- Use 2px left border line for visual hierarchy
- Keep subtle color coding (blue=tool, green=result, gold=thinking)
- Fix .bubble.md pre specificity override for fold pre elements
2026-05-26 00:51:30 +08:00
wjl2023 02e97facf7 style: remove bubble design, use font-weight to distinguish user/assistant messages 2026-05-26 00:33:01 +08:00
wjl2023 bc1c9f58dd fix: persist elapsed badge on refresh via message ts
- normalize() now preserves ts field from API response
- restoreElapsedBadges() moved to pollSession finally block
  (messages are empty during renderAllMessages)
- sendPrompt() adds ts to local user messages
- restoreElapsedBadges() resets lastUserTs when user msg has no ts
  (prevents stale accumulation from previous rounds)
2026-05-26 00:03:59 +08:00
wjl2023 537f465b93 docs: add frontend beauty development notebook 2026-05-26 00:03:59 +08:00
wjl2023 2d6a951507 feat(frontend): add real-time message timing badge
- Show elapsed time badge on assistant messages during task execution
- Timer starts on busy, stops on idle, displays final duration
- Fix badge flicker: preserve badge across typewriter innerHTML rewrites
- Fix layout jump: CSS fixed min-height for .task-elapsed
- Fix summary duplication: strip extracted summary from last turn body
- i18n: zh '已运行 {t}' / en 'Elapsed {t}'
2026-05-26 00:03:59 +08:00
wjl2023 e7e107badf fix(desktop): prevent summary text from rendering twice in last turn
The last turn's <summary> tag content was rendered both in the turn
header (via extractTurnSummary) and in the body (via foldBlocks).
Strip the <summary> tag from seg.body before passing to foldBlocks
when a turn number is present, so it only appears once in the header.
2026-05-25 16:12:59 +08:00
wjl2023anddd3xp 63f8018be0 feat(desktop): frontend enhancements v2 — IME, fold-by-turn, copy buttons, smart scroll (#11)
Redo of #8 on top of latest main (97f613d), keeping all merged work intact:
- F4 IME: Enter ignores composition (isComposing / keyCode 229) so CJK input
  confirmation no longer fires a send
- F1 copy buttons unified to SVG clipboard/check icons
- F5 assistant bubble width fills the conversation column
- F3 fold history by turn (last turn flat); tool-call/thinking regex aligned
  with agent_loop streaming
- F2 per-bubble "copy this turn" (last turn only, strips <summary>)
- F6 smart scroll: only follow when isNearBottom(80px); typewriter rerender
  preserves user-expanded <details>
- F7 fold header gets the turn's <summary> as subtitle

Verified to keep #5 interrupt-and-resend, the 97f613d stop-button behavior,
#6 image bubble, and #10 file cards untouched. No hardcoded colors/strings.

DEV_NOTEBOOK.md from the PR is intentionally dropped — it's wjl2023's personal
dev journal (local paths, fork notes), not project documentation.

Closes #11

Co-Authored-By: dd3xp <zhangjingming131@gmail.com>
2026-05-24 02:57:05 +08:00
wjl2023 8eb6284ab3 fix: normalize bubble text and adjust padding for better readability 2026-04-15 14:43:14 +08:00
wjl2023 134231961f fix: Update release date to 2026-03-10 in README 2026-03-14 21:00:05 +08:00
wjl2023 221d840400 fix: Add moonshot API temperature=1.0 constraint
- Moonshot API (like Kimi) only accepts temperature=1.0
- Added 'moonshot' detection alongside 'kimi' in both raw_ask methods
- Prevents 400 errors when using moonshot models
2026-03-14 20:44:29 +08:00