dsh-plugin-t-expert 0.4.57 → 0.4.63
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/CHANGELOG.md +105 -1
- package/data/experts/academic/family-education-ma/avatars/avatar.webp +0 -0
- package/data/experts/academic/ket-prep-team/avatars/avatar.webp +0 -0
- package/data/experts/academic/liuxue-yanxue-expert/avatars/avatar.webp +0 -0
- package/data/experts/academic/study-fortune-compass/avatars/avatar.webp +0 -0
- package/data/experts/company/campus-event-navigator/avatars/avatar.webp +0 -0
- package/data/experts/company/fortune-master/avatars/avatar.webp +0 -0
- package/data/experts/company/gaokao-advisor/avatars/avatar.webp +0 -0
- package/data/experts/company/multi-cloud-expert/avatars/avatar.webp +0 -0
- package/data/experts/company/multi-cloud-management-expert/avatars/avatar.webp +0 -0
- package/data/experts/company/opc-team/avatars/avatar.webp +0 -0
- package/data/experts/company/paper-topic-selection/avatars/avatar.webp +0 -0
- package/data/experts/company/tanyuan-cultural-heritage-expert/avatars/avatar.webp +0 -0
- package/data/experts/design/ai-image-prompt-engineer/avatars/avatar.webp +0 -0
- package/data/experts/design/ask-liuxiaopai/avatars/avatar.webp +0 -0
- package/data/experts/design/delightful-experience-designer/avatars/avatar.webp +0 -0
- package/data/experts/design/design-engine/avatars/avatar.webp +0 -0
- package/data/experts/design/design-md-architect/avatars/avatar.webp +0 -0
- package/data/experts/design/design-prototype-expert/avatars/avatar.webp +0 -0
- package/data/experts/design/diversity-visual-expert/avatars/avatar.webp +0 -0
- package/data/experts/design/feedback-synthesis-analyst/avatars/avatar.webp +0 -0
- package/data/experts/design/mermaid-diagram-expert/avatars/avatar.webp +0 -0
- package/data/experts/design/migraq-team/avatars/avatar.webp +0 -0
- package/data/experts/design/ngo-challenge-advisor/avatars/avatar.webp +0 -0
- package/data/experts/design/product-strategy-team/avatars/avatar.webp +0 -0
- package/data/experts/design/tripstar-agent/avatars/avatar.webp +0 -0
- package/data/experts/design/user-experience-architect/avatars/avatar.webp +0 -0
- package/data/experts/design/user-experience-researcher/avatars/avatar.webp +0 -0
- package/data/experts/design/workflow-assistant/avatars/avatar.webp +0 -0
- package/data/experts/engineering/academic-journal-selector/avatars/avatar.webp +0 -0
- package/data/experts/engineering/ai-data-copilot/avatars/avatar.webp +0 -0
- package/data/experts/engineering/aicoding-architecture-expert-team/avatars/avatar.webp +0 -0
- package/data/experts/engineering/aihot/avatars/avatar.webp +0 -0
- package/data/experts/engineering/api-dev/avatars/avatar.webp +0 -0
- package/data/experts/engineering/arxiv-watcher/avatars/avatar.webp +0 -0
- package/data/experts/engineering/cat-network-quality-analyst/avatars/avatar.webp +0 -0
- package/data/experts/engineering/code/avatars/avatar.webp +0 -0
- package/data/experts/engineering/code-review-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/data-analytics-reporter/avatars/avatar.webp +0 -0
- package/data/experts/engineering/database-operations/avatars/avatar.webp +0 -0
- package/data/experts/engineering/deep-research/avatars/avatar.webp +0 -0
- package/data/experts/engineering/dev-pipeline-orchestrator/avatars/avatar.webp +0 -0
- package/data/experts/engineering/edgeone-makers-experts/avatars/avatar.webp +0 -0
- package/data/experts/engineering/empirical-research-team/avatars/avatar.webp +0 -0
- package/data/experts/engineering/engineering-assurance-team/avatars/avatar.webp +0 -0
- package/data/experts/engineering/engineering-workflow-skills/avatars/avatar.webp +0 -0
- package/data/experts/engineering/eno/avatars/avatar.webp +0 -0
- package/data/experts/engineering/frontend/avatars/avatar.webp +0 -0
- package/data/experts/engineering/git-workflow-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/gpt-researcher-team/avatars/avatar.webp +0 -0
- package/data/experts/engineering/gstack/avatars/avatar.webp +0 -0
- package/data/experts/engineering/hsk-devops-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/huashu-data-pro/avatars/avatar.webp +0 -0
- package/data/experts/engineering/jinshuju-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/jinshuju-form-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/jinshuju-table-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/kdocs-data-table/avatars/avatar.webp +0 -0
- package/data/experts/engineering/mcp-build-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/mibao-media-archivist/avatars/avatar.webp +0 -0
- package/data/experts/engineering/mobile-application-developer/avatars/avatar.webp +0 -0
- package/data/experts/engineering/modern-webapp/avatars/avatar.webp +0 -0
- package/data/experts/engineering/mvp-dev-expert-team/avatars/avatar.webp +0 -0
- package/data/experts/engineering/ncre-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/nuwa/avatars/avatar.webp +0 -0
- package/data/experts/engineering/omics-cdgpt-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/omics-hpc-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/omics-scbert-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/omics-scprotein-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/personal-knowledge-architect/avatars/avatar.webp +0 -0
- package/data/experts/engineering/prompt-engineering-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/python-fullstack-engineer/avatars/avatar.webp +0 -0
- package/data/experts/engineering/rum-fullstack-team/avatars/avatar.webp +0 -0
- package/data/experts/engineering/superpowers-zh/avatars/avatar.webp +0 -0
- package/data/experts/engineering/tencentcloud-api/avatars/avatar.webp +0 -0
- package/data/experts/engineering/vocab-craft-expert/avatars/avatar.webp +0 -0
- package/data/experts/engineering/workspace-builder/avatars/avatar.webp +0 -0
- package/data/experts/engineering/yunzhi-qa-assistant/avatars/avatar.webp +0 -0
- package/data/experts/finance/a-share-analysis/avatars/avatar.webp +0 -0
- package/data/experts/finance/anti-scam-agent/avatars/avatar.webp +0 -0
- package/data/experts/finance/believe-in-light/avatars/avatar.webp +0 -0
- package/data/experts/finance/citongshuopro/avatars/avatar.webp +0 -0
- package/data/experts/finance/corp-credit-due-diligence/avatars/avatar.webp +0 -0
- package/data/experts/finance/dd-due-diligence-team/avatars/avatar.webp +0 -0
- package/data/experts/finance/earnings-reviewer/avatars/avatar.webp +0 -0
- package/data/experts/finance/egypt-strategic-advisory/avatars/avatar.webp +0 -0
- package/data/experts/finance/equity-research/avatars/avatar.webp +0 -0
- package/data/experts/finance/fin-research-expert/avatars/avatar.webp +0 -0
- package/data/experts/finance/financial-tracker/avatars/avatar.webp +0 -0
- package/data/experts/finance/fund-research-analyst/avatars/avatar.webp +0 -0
- package/data/experts/finance/gl-reconciler/avatars/avatar.webp +0 -0
- package/data/experts/finance/industry-sre-team/avatars/avatar.webp +0 -0
- package/data/experts/finance/investment-masters-team/avatars/avatar.webp +0 -0
- package/data/experts/finance/kyc-screener/avatars/avatar.webp +0 -0
- package/data/experts/finance/mai-deal-advisor/avatars/avatar.webp +0 -0
- package/data/experts/finance/market-researcher/avatars/avatar.webp +0 -0
- package/data/experts/finance/meeting-prep-agent/avatars/avatar.webp +0 -0
- package/data/experts/finance/mentougou-business-guide/avatars/avatar.webp +0 -0
- package/data/experts/finance/model-builder/avatars/avatar.webp +0 -0
- package/data/experts/finance/month-end-closer/avatars/avatar.webp +0 -0
- package/data/experts/finance/new-share-expert/avatars/avatar.webp +0 -0
- package/data/experts/finance/pitch-agent/avatars/avatar.webp +0 -0
- package/data/experts/finance/roadshow-research-team/avatars/avatar.webp +0 -0
- package/data/experts/finance/sg-finance-tax/avatars/avatar.webp +0 -0
- package/data/experts/finance/smart-stock-analyst/avatars/avatar.webp +0 -0
- package/data/experts/finance/smb-finance/avatars/avatar.webp +0 -0
- package/data/experts/finance/south-africa-strategy-advisor/avatars/avatar.webp +0 -0
- package/data/experts/finance/statement-auditor/avatars/avatar.webp +0 -0
- package/data/experts/finance/strategy-backtest-expert/avatars/avatar.webp +0 -0
- package/data/experts/finance/tdx-stock-diagnostician/avatars/avatar.webp +0 -0
- package/data/experts/finance/tdx-stock-hunter/avatars/avatar.webp +0 -0
- package/data/experts/finance/tdx-value-assessor/avatars/avatar.webp +0 -0
- package/data/experts/finance/terminal-veteran/avatars/avatar.webp +0 -0
- package/data/experts/finance/uae-public-affairs/avatars/avatar.webp +0 -0
- package/data/experts/finance/uae-strategic-advisor/avatars/avatar.webp +0 -0
- package/data/experts/finance/valuation-reviewer/avatars/avatar.webp +0 -0
- package/data/experts/finance/yahoo-finance-cli/avatars/avatar.webp +0 -0
- package/data/experts/game-development/game-development-studio/avatars/avatar.webp +0 -0
- package/data/experts/game-development/godot-game-script-engineer/avatars/avatar.webp +0 -0
- package/data/experts/gis/egypt-marketing/avatars/avatar.webp +0 -0
- package/data/experts/gis/exam-preparation-planner/avatars/avatar.webp +0 -0
- package/data/experts/gis/lazy-travel-planner/avatars/avatar.webp +0 -0
- package/data/experts/healthcare/patient-education-content-review-word-assistant/avatars/avatar.webp +0 -0
- package/data/experts/healthcare/tianyu-marketing-guardian/avatars/avatar.webp +0 -0
- package/data/experts/hr/customer-support-expert/avatars/avatar.webp +0 -0
- package/data/experts/hr/family-education-coach/avatars/avatar.webp +0 -0
- package/data/experts/hr/fbsir-beike-yi/avatars/avatar.webp +0 -0
- package/data/experts/hr/hr-operations-team/avatars/avatar.webp +0 -0
- package/data/experts/hr/ihr-ai-interviewer/avatars/avatar.webp +0 -0
- package/data/experts/hr/ihr-conference/avatars/avatar.webp +0 -0
- package/data/experts/hr/interview-simulator/avatars/avatar.webp +0 -0
- package/data/experts/hr/qingflow-hr-expert/avatars/avatar.webp +0 -0
- package/data/experts/hr/south-africa-hr-admin/avatars/avatar.webp +0 -0
- package/data/experts/hr/xiaot/avatars/avatar.webp +0 -0
- package/data/experts/legal/brazil-company-query/avatars/avatar.webp +0 -0
- package/data/experts/legal/brazil-legal/avatars/avatar.webp +0 -0
- package/data/experts/legal/brazil-rfb-expert/avatars/avatar.webp +0 -0
- package/data/experts/legal/charity-doc-finance-expert/avatars/avatar.webp +0 -0
- package/data/experts/legal/indonesia-bd-expert/avatars/avatar.webp +0 -0
- package/data/experts/legal/indonesia-digital-law-expert/avatars/avatar.webp +0 -0
- package/data/experts/legal/indonesia-pa-expert/avatars/avatar.webp +0 -0
- package/data/experts/legal/inspection-expert/avatars/avatar.webp +0 -0
- package/data/experts/legal/malaysia-finance-tax/avatars/avatar.webp +0 -0
- package/data/experts/legal/malaysia-hr-admin/avatars/avatar.webp +0 -0
- package/data/experts/legal/malaysia-legal/avatars/avatar.webp +0 -0
- package/data/experts/legal/sg-hr-admin-expert/avatars/avatar.webp +0 -0
- package/data/experts/legal/smb-team/avatars/avatar.webp +0 -0
- package/data/experts/legal/thai-marketing-creative/avatars/avatar.webp +0 -0
- package/data/experts/legal/thailand-hr-admin/avatars/avatar.webp +0 -0
- package/data/experts/marketing/ad-tracking-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/ai-humanizer/avatars/avatar.webp +0 -0
- package/data/experts/marketing/ai-shifu/avatars/avatar.webp +0 -0
- package/data/experts/marketing/ai-video-script/avatars/avatar.webp +0 -0
- package/data/experts/marketing/auto-consultant/avatars/avatar.webp +0 -0
- package/data/experts/marketing/book-co-creator/avatars/avatar.webp +0 -0
- package/data/experts/marketing/chatcut-video-editor/avatars/avatar.webp +0 -0
- package/data/experts/marketing/content-creation-expert-prod/avatars/avatar.webp +0 -0
- package/data/experts/marketing/content-distribution-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/content-monetization-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/content-writer/avatars/avatar.webp +0 -0
- package/data/experts/marketing/fbsir-mom-dialogue-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/frontend-slides/avatars/avatar.webp +0 -0
- package/data/experts/marketing/geo-diagnosis-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/humanize-ppt-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/jiayi-ads-analytics-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/kdocs-doc-butler/avatars/avatar.webp +0 -0
- package/data/experts/marketing/kdocs-knowledge-collector/avatars/avatar.webp +0 -0
- package/data/experts/marketing/kdocs-pdf-toolbox/avatars/avatar.webp +0 -0
- package/data/experts/marketing/kdocs-ppt-creator/avatars/avatar.webp +0 -0
- package/data/experts/marketing/kidd-content-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/livestream-ecommerce-coach/avatars/avatar.webp +0 -0
- package/data/experts/marketing/long-manuscript-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/market-analysis-cn/avatars/avatar.webp +0 -0
- package/data/experts/marketing/marketing-campaign-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/marketing-growth-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/news-briefing-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/news-buddy/avatars/avatar.webp +0 -0
- package/data/experts/marketing/nges-healthcare-marketing-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/novel-creator/avatars/avatar.webp +0 -0
- package/data/experts/marketing/novel-generator/avatars/avatar.webp +0 -0
- package/data/experts/marketing/ppc-bidding-strategist/avatars/avatar.webp +0 -0
- package/data/experts/marketing/ppt-creation-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/private-domain-marketing-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/programmatic-ad-buyer/avatars/avatar.webp +0 -0
- package/data/experts/marketing/promo-creator-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/remotion-video-generator/avatars/avatar.webp +0 -0
- package/data/experts/marketing/seo-content-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/social-engagement-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/tietu-toutiao/avatars/avatar.webp +0 -0
- package/data/experts/marketing/topic-evaluator/avatars/avatar.webp +0 -0
- package/data/experts/marketing/trend-hunter/avatars/avatar.webp +0 -0
- package/data/experts/marketing/vibeknow-design-video/avatars/avatar.webp +0 -0
- package/data/experts/marketing/vibeknow-handdraw/avatars/avatar.webp +0 -0
- package/data/experts/marketing/vibeknow-ppt-explain/avatars/avatar.webp +0 -0
- package/data/experts/marketing/video-dissection/avatars/avatar.webp +0 -0
- package/data/experts/marketing/video-gen-team/avatars/avatar.webp +0 -0
- package/data/experts/marketing/viral-topic-master/avatars/avatar.webp +0 -0
- package/data/experts/marketing/wechat-official-account-expert/avatars/avatar.webp +0 -0
- package/data/experts/marketing/xiaohongshu-operations-expert/avatars/avatar.webp +0 -0
- package/data/experts/paid-media/computer-operations-advisor/avatars/avatar.webp +0 -0
- package/data/experts/paid-media/vietnam-public-affairs/avatars/avatar.webp +0 -0
- package/data/experts/project-management/agent-orchestrator/avatars/avatar.webp +0 -0
- package/data/experts/project-management/ai-meeting-notes/avatars/avatar.webp +0 -0
- package/data/experts/project-management/api-testing-expert/avatars/avatar.webp +0 -0
- package/data/experts/project-management/document-generation-expert/avatars/avatar.webp +0 -0
- package/data/experts/project-management/document-skills/avatars/avatar.webp +0 -0
- package/data/experts/project-management/jira-workflow-admin/avatars/avatar.webp +0 -0
- package/data/experts/project-management/openspec-doc-team/avatars/avatar.webp +0 -0
- package/data/experts/project-management/performance-testing-expert/avatars/avatar.webp +0 -0
- package/data/experts/project-management/yunzhi-doc-quality-expert/avatars/avatar.webp +0 -0
- package/data/experts/research/apm-performance-expert/avatars/avatar.webp +0 -0
- package/data/experts/research/egypt-public-affairs/avatars/avatar.webp +0 -0
- package/data/experts/research/finops-expert/avatars/avatar.webp +0 -0
- package/data/experts/research/fortune-consultant/avatars/avatar.webp +0 -0
- package/data/experts/research/hubble-eval-expert/avatars/avatar.webp +0 -0
- package/data/experts/research/sre-expert/avatars/avatar.webp +0 -0
- package/data/experts/sales/bidding-strategist/avatars/avatar.webp +0 -0
- package/data/experts/sales/cordys-crm/avatars/avatar.webp +0 -0
- package/data/experts/sales/enterprise-account-strategist/avatars/avatar.webp +0 -0
- package/data/experts/sales/industrial-park-investment-attraction-expert/avatars/avatar.webp +0 -0
- package/data/experts/sales/linkfox-expert-amazon-listing-specialist/avatars/avatar.webp +0 -0
- package/data/experts/sales/meituan-living-assistant/avatars/avatar.webp +0 -0
- package/data/experts/sales/presales-technical-consultant/avatars/avatar.webp +0 -0
- package/data/experts/sales/sales-battle-team/avatars/avatar.webp +0 -0
- package/data/experts/sales/sdk-log-expert/avatars/avatar.webp +0 -0
- package/data/experts/sales/sg-biz-dev/avatars/avatar.webp +0 -0
- package/data/experts/sales/smb-revenue/avatars/avatar.webp +0 -0
- package/data/experts/sales/uupt-delivery/avatars/avatar.webp +0 -0
- package/data/experts/security/chatlaw-team/avatars/avatar.webp +0 -0
- package/data/experts/security/contract-expert/avatars/avatar.webp +0 -0
- package/data/experts/security/contract-legal-expert/avatars/avatar.webp +0 -0
- package/data/experts/security/enterprise-legal-team/avatars/avatar.webp +0 -0
- package/data/experts/security/fbsir-aigc-compliance-red-team/avatars/avatar.webp +0 -0
- package/data/experts/security/fbsir-board-secretary-assistant/avatars/avatar.webp +0 -0
- package/data/experts/security/huashu-doc-reviewer/avatars/avatar.webp +0 -0
- package/data/experts/security/invoice-verify-expert/avatars/avatar.webp +0 -0
- package/data/experts/security/invoice-verify-workbuddy/avatars/avatar.webp +0 -0
- package/data/experts/security/ip-expert/avatars/avatar.webp +0 -0
- package/data/experts/security/law-student-coach/avatars/avatar.webp +0 -0
- package/data/experts/security/legal-builder-hub/avatars/avatar.webp +0 -0
- package/data/experts/security/legal-clinic-supervisor/avatars/avatar.webp +0 -0
- package/data/experts/security/legal-compliance-reviewer/avatars/avatar.webp +0 -0
- package/data/experts/security/legal-search-pro/avatars/avatar.webp +0 -0
- package/data/experts/security/litigation-legal/avatars/avatar.webp +0 -0
- package/data/experts/security/marketing-reviewer/avatars/avatar.webp +0 -0
- package/data/experts/security/personal-fitness-coach/avatars/avatar.webp +0 -0
- package/data/experts/security/sa-legal-compliance/avatars/avatar.webp +0 -0
- package/data/experts/security/smb-compliance/avatars/avatar.webp +0 -0
- package/data/experts/security/soe/avatars/avatar.webp +0 -0
- package/data/experts/security/tax-compliance-team/avatars/avatar.webp +0 -0
- package/data/experts/security/tc-sec/avatars/avatar.webp +0 -0
- package/data/experts/security/xiaofa-litigation-assistant/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/career-navigator/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/chaogeek-kongming/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/chuangye-manor/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/consulting-partners/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/english-writing-coach/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/fbsir-eight-seat-board/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/fbsir-industry-scene-researcher/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/fbsir-super-partner/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/innovation-startup-mentor/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/malaysia-marketing/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/metamorphosis-practitioner/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/tianyu-account-guardian/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/uae-marketing-advisor/avatars/avatar.webp +0 -0
- package/data/experts/spatial-computing/well-arch-expert/avatars/avatar.webp +0 -0
- package/data/experts/specialized/campus-conversation-coach/avatars/avatar.webp +0 -0
- package/data/experts/specialized/capacity-expert/avatars/avatar.webp +0 -0
- package/data/experts/specialized/chaos-expert/avatars/avatar.webp +0 -0
- package/data/experts/specialized/fbsir-super-independent-board/avatars/avatar.webp +0 -0
- package/data/experts/specialized/indie-founder-coach/avatars/avatar.webp +0 -0
- package/data/experts/specialized/job-companion-team/avatars/avatar.webp +0 -0
- package/data/experts/specialized/note-class-representative/avatars/avatar.webp +0 -0
- package/data/experts/specialized/panshi-customer-visit-agent/avatars/avatar.webp +0 -0
- package/data/experts/specialized/tc-chengxin-travel-expert/avatars/avatar.webp +0 -0
- package/data/experts/specialized/worldcup-buddy/avatars/avatar.webp +0 -0
- package/data/experts/support/campus-job-search-coach/avatars/avatar.webp +0 -0
- package/data/experts/support/skillhub-charity-expert-team/avatars/avatar.webp +0 -0
- package/data/experts/support/tencent-rtc-expert/avatars/avatar.webp +0 -0
- package/data/experts/support/workbuddy-universal-mentor/avatars/avatar.webp +0 -0
- package/data/experts/testing/aladin-test-design/avatars/avatar.webp +0 -0
- package/data/experts/testing/skill-smith/avatars/avatar.webp +0 -0
- package/data/experts/testing/thesis-writing-mentor/avatars/avatar.webp +0 -0
- package/lib/client.js +28 -11
- package/lib/index.js +15 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -16,7 +16,111 @@
|
|
|
16
16
|
> 发布时**不要再跑 `npm version`**(那会把已提交好的版本又升一级,发出去的号与 CHANGELOG、tag 就对不上),
|
|
17
17
|
> 只补一个 annotated tag(`git tag -a`,因为 `git push --follow-tags` 只推带注释的 tag)。
|
|
18
18
|
|
|
19
|
-
## [0.4.
|
|
19
|
+
## [0.4.63] — 未发布
|
|
20
|
+
|
|
21
|
+
**补 0.4.62 漏写的 `avatarsCache` 声明** —— 上一版只写了「失效」,漏了 `let avatarsCache` 声明与缓存判断,
|
|
22
|
+
导致 `tsc` 报 `Cannot find name 'avatarsCache'`、`npm publish` 的 typecheck 失败。
|
|
23
|
+
|
|
24
|
+
把 `let avatarsCache` + 命中判断 + 写回补齐,`tsc` 通过。
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
**三处性能优化**(审查报告里挑出的高收益项)。
|
|
29
|
+
|
|
30
|
+
- `settings.jsx`:专家过滤与分组套 `React.useMemo`(600+ 项不再随任意 state 变更全量重算,对齐 summon.jsx)。
|
|
31
|
+
- `lib/index.js` 的 `avatars()`:结果进程内缓存,只有 `fetchAssets` / `fetch_expert_assets` 拉来新头像才失效 ——
|
|
32
|
+
避免每次打开设置页/浮层都读 281 张 webp 并拼 base64(约 1.3 MB RPC 传输)。
|
|
33
|
+
- `summon.jsx` 的 `toggle()`:改 stale-while-revalidate —— 打开弹窗先用缓存的 snap 立即显示、后台再刷,
|
|
34
|
+
不再 await 最慢的那次 RPC。
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
**修两个代码审查发现的 bug**(逐条读码验证属实后修)。
|
|
39
|
+
|
|
40
|
+
1. **`readPrefs()` 漏读 `enabledSeedRoster`**(数据正确性)。entry 模式(0.1.7+,无 register 只有
|
|
41
|
+
mutate)下 `seedDefaultEnabled` 拿到的 `seen` 恒为 `[]`,基线退化成当前 enabled —— 用户停用过、
|
|
42
|
+
但仍在名册里的专家会被当成「新增」重新写回 enabled。补上 `enabledSeedRoster: unwrapVolatile(...)`。
|
|
43
|
+
2. **`deleteExpert` 未 guard `settingsService`**。settings 未就绪时硬调 `settingsService.mutate` 会抛错
|
|
44
|
+
打断删除流程(文件已删、enabled 留 ghost 反而无害)。加上 `&& settingsService !== undefined`,
|
|
45
|
+
与 `pruneStaleEnabled` / `seedDefaultEnabled` 对齐。
|
|
46
|
+
|
|
47
|
+
verify 补一条源码级回归断言(entry 模式走不到 scope mock,用源码断言防回归),546 → 547。
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
**清理 0.4.59 遗留的两处死代码**(代码检查时发现)。
|
|
52
|
+
|
|
53
|
+
`avatars` 进了 `KEEP_LOCAL` 之后就不再出现在 `dirs` 里,于是:
|
|
54
|
+
|
|
55
|
+
- `collect()` 里「只装 avatars」那个分支永远不会触发(`dirs.includes("avatars")` 恒为 false);
|
|
56
|
+
- `isRemote` 里的 `|| p.dirs.includes("avatars")` 同样恒为 false。
|
|
57
|
+
|
|
58
|
+
两处都删掉,`isRemote` 回到单纯的体积判断。**死分支留着会误导后来人** —— 看着像「头像要上云」,
|
|
59
|
+
实际早就不是了。
|
|
60
|
+
|
|
61
|
+
复核过的两点:
|
|
62
|
+
|
|
63
|
+
- `prune()` 按 `p.dirs` 删,而 `avatars` 已被排除在 `dirs` 之外 —— **不会被误删** ✓
|
|
64
|
+
- roster 条目里没有 `avatarsOnly` 这类临时字段残留 ✓
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
**头像改为随包发布** —— 放弃云端按需下载那条链路。
|
|
69
|
+
|
|
70
|
+
### 为什么改
|
|
71
|
+
|
|
72
|
+
用户实测云端链路始终不稳定:点选/点 ☁️ 不触发下载、下载完要重开面板才刷新,几轮修下来
|
|
73
|
+
仍会「有的能显示、有的不能」。而 **281 张 128px WEBP 加起来总共才 0.94 MB** ——
|
|
74
|
+
直接进包最省事,也永远不会「显示不出来」。**能用简单办法解决的复杂度,就不该留着。**
|
|
75
|
+
|
|
76
|
+
### 改动
|
|
77
|
+
|
|
78
|
+
- `pack-assets.mjs`:`avatars` 加入 `KEEP_LOCAL`(与 `.codebuddy-plugin` 同级 —— 绝不上云、随包发布)。
|
|
79
|
+
- `lib/index.js` 的 `assetsOf`:roster 里那些「只装 avatars」的条目**视为本地** ——
|
|
80
|
+
否则面板会给 105 位专家挂一个点了也没必要的 ☁️。
|
|
81
|
+
- `tools/import-avatars.py` 的收尾提示同步更新。
|
|
82
|
+
|
|
83
|
+
### 保留的部分
|
|
84
|
+
|
|
85
|
+
客户端与 host 的那一层**全部保留**(`getAvatars` / `unwrap` / 卡片渲染 / 下载后广播):
|
|
86
|
+
逻辑不变,只是头像的来源从「云端下载」换成了「包内自带」。云端资源包里的 avatars 存量
|
|
87
|
+
不再维护,下次同步重打包时会自然消失。
|
|
88
|
+
|
|
89
|
+
代价:npm 包 +0.94 MB。
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
**面板的 ☁️ 标识改成可点的下载入口** —— 之前它只是个 `<span>`,注释却写着「点选与召唤都会自动下载」。
|
|
94
|
+
|
|
95
|
+
### 现象
|
|
96
|
+
|
|
97
|
+
用户反馈:「部分专家有头像、部分怎么点都没有」。
|
|
98
|
+
|
|
99
|
+
### 根因
|
|
100
|
+
|
|
101
|
+
`warmupAssets`(下载预热)只挂在两处:
|
|
102
|
+
|
|
103
|
+
- `@` 弹窗的 `pick()`(`summon.jsx`)
|
|
104
|
+
- 输入框 `@` 菜单的 `onPick()`(`index.jsx`)
|
|
105
|
+
|
|
106
|
+
**面板列表(`settings.jsx`)完全没有触发点**。于是规律很清楚:
|
|
107
|
+
|
|
108
|
+
- **召唤过 / 在 @ 弹窗选过**的专家 → 附件已下载 → 有头像 ✓
|
|
109
|
+
- **只在面板里看过**的专家 → 永远不触发下载 → 永远 emoji ✗
|
|
110
|
+
|
|
111
|
+
而面板那个 ☁️ 标识本身是个 `<span>`(注释写着「只是个标识、不是按钮」),点它同样没用。
|
|
112
|
+
|
|
113
|
+
### 修复
|
|
114
|
+
|
|
115
|
+
把 ☁️ 改成 `<button>`,点击即 `warmupAssets(remote, expert)`;点完立刻收起标识
|
|
116
|
+
(下载在后台跑,不给即时反馈会让人以为没生效)。CSS 加 `.t-team-cloud` 抹掉按钮默认外观。
|
|
117
|
+
|
|
118
|
+
### 教训
|
|
119
|
+
|
|
120
|
+
**同一个动作(下载预热)在三个入口里只挂了两处** —— 注释写的是「点选与召唤都会自动下载」,
|
|
121
|
+
但面板那条路径压根没实现。写「A 和 B 都会做 X」这类注释时,得真的去核对 B。
|
|
122
|
+
|
|
123
|
+
|
|
20
124
|
|
|
21
125
|
**清理残留的诊断 alert** —— 0.4.55 那次「移除诊断」的字符串替换没匹配上,`alert` 留到了源码里。
|
|
22
126
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/data/experts/healthcare/patient-education-content-review-word-assistant/avatars/avatar.webp
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|