1. 10 Jun, 2026 3 commits
    • edy's avatar
      feat(ui): simplify task panel output cards — remove content summary and user message text · 92018b11
      edy authored
      - Remove artifact summary paragraph under each document name
      - Remove task title (user message) from right-side meta, keep only timestamp
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      92018b11
    • edy's avatar
      fix(ui): show specific error reason when expert chat is not ready · 656a0cbd
      edy authored
      When ensureChatAvailable fails for expert mode, the error message
      previously used chatStatusMessage which shows "聊天服务已就绪" when
      the runtime/gateway are healthy — misleading the user when the real
      issue is project-level readiness (projectReady=false or missing
      currentProjectId).
      
      Now the error message identifies the actual failure:
      - 项目工作区未就绪 when projectReady is false
      - 未选择项目 when currentProjectId is missing
      - 本地运行时未就绪 when runtime is not running
      - 网关未连接 when gateway is not connected
      - Falls back to the original chatStatusMessage for uncovered cases
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      656a0cbd
    • edy's avatar
      fix(desktop): add artifact scanning for all 6 standalone experts in task panel · e7115c62
      edy authored
      - Gateway paths (zhihu/wechat/content-planner) now do snapshot diff instead
        of hardcoded artifacts: [] — scan projectRoot + runtime/workspace/
      - Handoff paths (geo workspace executor → gateway) now capture artifacts
        after the gateway call, not before when files haven't been generated yet
      - Add collectWorkspaceExecutionArtifacts extraScanRoots parameter for
        scanning additional directories beyond projectRoot
      - Exclude session-messages/ from artifact scanning to avoid false positives
      - Add isWechatProject/isContentPlannerProject/isGeoProject helpers and
        extend resolveTaskPanelExpertName for 3 new expert name mappings
      - Guard projectSkillRouter.resolve() behind bundled-runtime mode check
        to prevent "skills require bundled runtime" error in external-gateway mode
      - Remove automation task panel recording (定时任务 excluded from workbench)
      - UI: replace single douyin filter with per-expert artifact extension rules
        (expertArtifactExtensionRules), filter home-chat experts from workbench,
        restore 📦 emoji icon, update mock data for all 6 experts
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      e7115c62
  2. 09 Jun, 2026 2 commits
  3. 08 Jun, 2026 4 commits
    • edy's avatar
      feat(ui): 左侧导航栏移植Windows客户端透明风格UI,新增搜索过滤功能 · 468ea511
      edy authored
      - 侧边栏背景/导航按钮/专家分类/专家条目/会话卡片改为透明若隐若现风格
      - 新增侧边栏搜索框,支持过滤导航项、专家列表、会话列表
      - 去掉品牌名千匠问天四字,仅保留logo图标
      - 清理.sidebar-brand-name死代码和重复的.sidebar-filter-empty样式
      - 修复sidebarKnowledgeSource测试用例以适配新代码结构
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      468ea511
    • edy's avatar
      feat(ui): port Feishu integration from Windows client, fix blank replies on model errors · 0d0a22ea
      edy authored
      Port Feishu channel integration from Windows client:
      - Add Feishu Mobile config injection (injectFeishuChannelConfig)
      - Add expert agent injection from manifest (injectExpertAgents)
      - Add Feishu channel session merging (mergeChannelSessions)
      - Add isChannelSession flag to ProjectSessionSummary
      - Add listChannelSessions to gateway-client
      - Add Feishu guards in sendPrompt/streamPrompt
      - Add Feishu session tag in sidebar (SessionList.tsx)
      - Disable composer for channel sessions (ChatComposer.tsx)
      - Add Feishu Mobile env vars to project model runtime
      
      Fix blank assistant replies when model API fails:
      - gateway-client: keep pending run alive when chat final has empty content
      - renderer: don't finalize stream on empty completed event
      - renderer: add 45s timeout fallback if error never arrives
      - renderer: surface error message in failActiveStream fallback chain
      
      Code review fixes:
      - Add safeClone() helper to prevent original config mutation
      - Deduplicate concurrent ensureLocalTranscript calls (transcriptInFlight)
      - Call closeSession for Feishu sessions (server-side cleanup)
      - Extract isChannelSessionId() helper to replace magic string
      - Cache expert manifest read once per process lifetime
      - Parallelize Feishu secret fetches with Promise.all
      - Reuse resolveExpertPromptsRoot and ExpertManifestRecord from expert-catalog
      - Use appropriate log levels (console.log/warn vs console.error)
      - Add diagnostic logging at gateway-client, IPC, and renderer levels
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      0d0a22ea
    • edy's avatar
      feat(ui): port Windows settings panel to Mac, add Feishu Mobile config · 9d7f1c0a
      edy authored
      - Add Feishu Mobile Config feature across all layers (types, secrets, config, IPC, UI)
      - Replace Mac glassmorphism design with Windows flat design (settings.css)
      - Improve secret reveal UX: loading spinner, error handling, touched state tracking
      - Change basic tab layout from single compact card to 3-card bento layout
      - Add Modal component (apps/ui/src/components/ui/Modal.tsx)
      - Start editable sections in edit mode by default
      - Add workspace directory save/restore buttons to SettingsPanels
      - Add reveal error display in settings toolbar
      - Clean up dead CSS classes from old basic tab layout
      - Fix modal panel to use flat design matching settings style
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      9d7f1c0a
    • edy's avatar
      feat(ui): add role team panel, collaboration flow, and new expert empty states · 703f338b
      edy authored
      - Add ProjectRole model with normalizeProjectRoles() persistence
      - Extract ExpertPanelLead, RoleTeamPanel, RoleCollaborationFlow components
      - Add roleIconPaths.tsx for SVG icon rendering by role type
      - Add empty states for planner, wechat, geo, zhihu experts
      - Revamp xiaohongshu empty state with CSS variable-driven theme system
      - Add brand card and workspace logo styles for new expert types
      - Wire isStreaming from sendPhase for role status indicators
      - Fix geo regex from /geo/ to /\bgeo\b/ to avoid false matches
      - Strengthen normalizeProjectRoles validation (non-empty strings, skillIds element check)
      - Add prefers-reduced-motion overrides for title animations
      - Remove unused --expert-arrow CSS variable
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      703f338b
  4. 05 Jun, 2026 5 commits
    • edy's avatar
      feat(ui): add icons to sidebar 数字员工 and 会话管理 sections · 3f6095e5
      edy authored
      Align sidebar-section-copy layout with Windows client (flex instead of grid)
      to keep icon and text on the same line.
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      3f6095e5
    • edy's avatar
      fix(ui): restore session card navigation and preserve session scope across tabs · 0e954cbb
      edy authored
      - When clicking a session card, switch to the correct project and viewMode
        ('chat' for home sessions, 'experts' for expert sessions) instead of only
        setting the active session ID
      - Persist session scope via sticky ref so switching to non-conversation tabs
        (knowledge, tasks, etc.) no longer jumps to the first expert's sessions
      - Prevent project switch during active streaming to avoid disrupting AI output
      - Keep useMemo pure by extracting ref writes into useEffect
      - Remove redundant ternary in openSession
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      0e954cbb
    • edy's avatar
      feat(ui): align homepage showcase, expert navigation, and status chip with Windows client · 84410c3f
      edy authored
      - Homepage: replace starter prompts with 5 digital-employee showcase cards
        (geo/xiaohongshu/douyin/planner/wechat) that navigate to expert projects
      - Status chip: change "已就绪" to "运行中" with green dot, green text, green border
      - switchExpert: set viewMode after switchProject completes (safer ordering)
      - manifest.json: upgrade geo & wechat from home-chat-shortcut to standalone,
        add xhs & douyin standalone entries with full projectMatchKeywords
      - Resolve expert key/visual key for planner, wechat, geo, zhihu
      - Add ProjectRole shared type; enrich geo expert guide with 4 default roles
      - CSS: remove conversation-workspace border/background/shadow, add overflow
        visible for card hover scale, match StatusChip positive tone to Windows client
      - Fix /geo/ regex to word-boundary to avoid false substring matches
      - Fix activeExpertGuide roles not falling back to guide defaults
      - Fix expertMatchesCategory missing wechat/公众号 in isContent regex
      - Fix resolveExpertKey planner regex missing 内容账号规划 keyword
      Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
      84410c3f
    • edy's avatar
      文档提交 · 0ddb0a2e
      edy authored
      0ddb0a2e
    • edy's avatar
  5. 25 May, 2026 9 commits
  6. 22 May, 2026 4 commits
  7. 21 May, 2026 1 commit
  8. 20 May, 2026 4 commits
  9. 19 May, 2026 3 commits
  10. 18 May, 2026 5 commits