@wendongfly/myhi 1.0.115 → 1.0.116

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/chat.html CHANGED
@@ -69,6 +69,8 @@
69
69
  .msg-tool-group { border-left: 3px solid #58a6ff; margin-left: 0.3rem; padding-left: 0.6rem; margin-bottom: 0.3rem; }
70
70
  .tool-group-header { display: flex; align-items: center; gap: 0.35rem; cursor: pointer; font-size: 0.78rem; color: #58a6ff; padding: 0.25rem 0; user-select: none; }
71
71
  .tool-group-header:hover { color: #79c0ff; }
72
+ .tool-expand-btn { margin-left: auto; font-size: 0.68rem; color: #8b949e; background: #21262d; border: 1px solid #30363d; border-radius: 4px; padding: 0.1rem 0.4rem; cursor: pointer; white-space: nowrap; }
73
+ .tool-expand-btn:hover { color: #e6edf3; border-color: #58a6ff; }
72
74
  .tool-group-header .arrow { transition: transform 0.15s; font-size: 0.65rem; }
73
75
  .tool-group-header .arrow.open { transform: rotate(90deg); }
74
76
  .tool-group-body { display: none; }
@@ -707,9 +709,9 @@
707
709
  _toolGroupCount++;
708
710
  const groupBody = last.querySelector('.tool-group-body');
709
711
  groupBody.appendChild(toolItem);
710
- // 更新组头计数
711
- const groupHeader = last.querySelector('.tool-group-header');
712
- groupHeader.innerHTML = `<span class="arrow">▶</span> 🔧 ${_toolGroupCount} 个工具调用`;
712
+ // 更新组头计数和展开按钮
713
+ const countSpan = last.querySelector('.tool-group-count');
714
+ if (countSpan) countSpan.textContent = `🔧 ${_toolGroupCount} 个工具调用`;
713
715
  } else {
714
716
  // 创建新的工具组
715
717
  _toolGroupCount = 1;
@@ -717,11 +719,40 @@
717
719
  group.className = 'msg msg-tool-group';
718
720
  const groupHeader = document.createElement('div');
719
721
  groupHeader.className = 'tool-group-header';
720
- groupHeader.innerHTML = `<span class="arrow">▶</span> 🔧 1 个工具调用`;
722
+ groupHeader.innerHTML = `<span class="arrow">▶</span> <span class="tool-group-count">🔧 1 个工具调用</span>`;
723
+ const expandBtn = document.createElement('button');
724
+ expandBtn.className = 'tool-expand-btn';
725
+ expandBtn.textContent = '展开全部';
726
+ groupHeader.appendChild(expandBtn);
721
727
  const groupBody = document.createElement('div');
722
728
  groupBody.className = 'tool-group-body';
723
729
  groupBody.appendChild(toolItem);
724
- groupHeader.onclick = () => { groupBody.classList.toggle('open'); groupHeader.querySelector('.arrow').classList.toggle('open'); };
730
+ // 点击组头:只展开/收起组
731
+ groupHeader.onclick = (e) => {
732
+ if (e.target === expandBtn) return;
733
+ groupBody.classList.toggle('open');
734
+ groupHeader.querySelector('.arrow').classList.toggle('open');
735
+ };
736
+ // 点击展开/收起全部按钮
737
+ expandBtn.onclick = (e) => {
738
+ e.stopPropagation();
739
+ const allOpen = groupBody.classList.contains('open') && !groupBody.querySelector('.tool-body:not(.open)');
740
+ if (allOpen) {
741
+ // 全部收起
742
+ groupBody.classList.remove('open');
743
+ groupHeader.querySelector('.arrow').classList.remove('open');
744
+ groupBody.querySelectorAll('.tool-body').forEach(b => b.classList.remove('open'));
745
+ groupBody.querySelectorAll('.tool-header .arrow').forEach(a => a.classList.remove('open'));
746
+ expandBtn.textContent = '展开全部';
747
+ } else {
748
+ // 全部展开
749
+ groupBody.classList.add('open');
750
+ groupHeader.querySelector('.arrow').classList.add('open');
751
+ groupBody.querySelectorAll('.tool-body').forEach(b => b.classList.add('open'));
752
+ groupBody.querySelectorAll('.tool-header .arrow').forEach(a => a.classList.add('open'));
753
+ expandBtn.textContent = '收起全部';
754
+ }
755
+ };
725
756
  group.appendChild(groupHeader);
726
757
  group.appendChild(groupBody);
727
758
  chatArea.appendChild(group);
package/dist/package.json CHANGED
@@ -1 +1 @@
1
- {"type":"module","version":"1.0.115"}
1
+ {"type":"module","version":"1.0.116"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wendongfly/myhi",
3
- "version": "1.0.115",
3
+ "version": "1.0.116",
4
4
  "description": "Web-based terminal sharing with chat UI — control your terminal from phone via LAN/Tailscale",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",