<!-- Template from
https://github.com/kubevirt/kubevirt/blob/main/.github/PULL_REQUEST_TEMPLATE.md?-->
<!-- Thanks for sending a pull request! Here are some tips for you:
1. Consider creating this PR as draft:
https://github.com/CherryHQ/cherry-studio/blob/main/CONTRIBUTING.md
-->
<!--
⚠️ Important: Redux/IndexedDB Data-Changing Feature PRs Temporarily On
Hold ⚠️
Please note: For our current development cycle, we are not accepting
feature Pull Requests that introduce changes to Redux data models or
IndexedDB schemas.
While we value your contributions, PRs of this nature will be blocked
without merge. We welcome all other contributions (bug fixes, perf
enhancements, docs, etc.). Thank you!
Once version 2.0.0 is released, we will resume reviewing feature PRs.
-->
### What this PR does
Before this PR:
- CI workflows hardcoded `node-version: 22`
- `.node-version` and `.nvmrc` files were at version 22
After this PR:
- All CI workflows read Node version from `.node-version` file using
`node-version-file: '.node-version'`
- `.node-version` and `.nvmrc` updated to `24.11.1` to match Electron
runtime version
<!-- (optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)`
format, will close the issue(s) when PR gets merged)*: -->
Fixes #
### Why we need it and why it was done in this way
The project recently updated Node.js requirement to 24.11.1 in
package.json, but the CI workflows were still hardcoded to use Node 22,
causing warning. This change makes the CI workflows automatically use
the Node version defined in `.node-version` file, ensuring consistency
between local development and CI environments.
The following tradeoffs were made:
- Using `.node-version` instead of reading from `package.json` directly
- simpler and more compatible with GitHub Actions
The following alternatives were considered:
Links to places where the discussion took place: <!-- optional: slack,
other GH issue, mailinglist, ... -->
### Breaking changes
<!-- optional -->
If this PR introduces breaking changes, please describe the changes and
the impact on users.
### Special notes for your reviewer
<!-- optional -->
### Checklist
This checklist is not enforcing, but it's a reminder of items that could
be relevant to every PR.
Approvers are expected to review this list.
- [x] PR: The PR description is expressive enough and will help future
contributors
- [x] Code: [Write code that humans can
understand](https://en.wikiquote.org/wiki/Martin_Fowler#code-for-humans)
and [Keep it simple](https://en.wikipedia.org/wiki/KISS_principle)
- [x] Refactor: You have [left the code cleaner than you found it (Boy
Scout
Rule)](https://learning.oreilly.com/library/view/97-things-every/9780596809515/ch08.html)
- [x] Upgrade: Impact of this change on upgrade flows was considered and
addressed if required
- [x] Documentation: A [user-guide update](https://docs.cherry-ai.com)
was considered and is present (link) or not required. Check this only
when the PR introduces or changes a user-facing feature or behavior.
- [x] Self-review: I have reviewed my own code (e.g., via
[`/gh-pr-review`](/.claude/skills/gh-pr-review/SKILL.md), `gh pr diff`,
or GitHub UI) before requesting review from others
### Release note
<!-- Write your release note:
1. Enter your extended release note in the below block. If the PR
requires additional action from users switching to the new release,
include the string "action required".
2. If no release note is required, just write "NONE".
3. Only include user-facing changes (new features, bug fixes visible to
users, UI changes, behavior changes). For CI, maintenance, internal
refactoring, build tooling, or other non-user-facing work, write "NONE".
-->
```release-note
NONE
```
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* ci(workflows): add pnpm caching to improve build performance
Cache pnpm dependencies to reduce installation time in CI workflows
* ci(github-actions): change claude-code-action version to v1
* ci(workflows): improve issue tracker formatting
Format issue body as markdown code block for better readability in workflow output
* ci(workflows): unify claude-code-action version to v1 for both jobs
Changed process-pending-issues job from @main to @v1 to maintain consistency across all jobs and avoid potential version conflicts.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix(workflows): remove --help from allowed-tools to avoid upstream parsing bug
The `--help` flags in claude_args were being incorrectly parsed as actual
command-line arguments by claude-code-action, causing JSON parsing errors
("Unexpected identifier 'Usage'").
Switched to wildcard pattern `pnpm tsx scripts/feishu-notify.ts*` which:
- Allows all feishu-notify.ts commands including --help
- Avoids triggering the upstream argument parsing bug
- Simplifies the allowed-tools configuration
This addresses the root cause identified by Anthropic engineers.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix(workflows): remove --help references from prompts
Remove `--help` references from prompts to avoid potential parsing issues.
The example commands are already comprehensive enough without needing to
mention the help flag.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* build: add commander package as dependency
* refactor(scripts): migrate feishu-notify to TypeScript with CLI interface
- Convert JavaScript implementation to TypeScript with proper type definitions
- Add CLI interface using commander for better usability
- Improve error handling and input validation
- Add version management and subcommand support
* ci(workflows): update feishu notification command and add pnpm install step
Update the feishu notification command to use CLI tool with proper arguments instead of direct node script execution
Add pnpm install step to ensure dependencies are available before running the workflow
* docs: add feishu notification script documentation
Add Chinese and English documentation for the feishu-notify.ts CLI tool
* feat(notify): add generic send command to feishu-notify
Add a new 'send' subcommand to send simple notifications to Feishu with customizable title, description and header color. This provides a more flexible way to send notifications without being tied to specific business logic like the existing 'issue' command.
The implementation includes:
- New send command handler and options interface
- Simple card creation function
- Zod schema for header color validation
- Documentation updates in both Chinese and English
* feat: add GitHub issue tracker workflow with Feishu notifications
* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow
* fix: update environment variable for Claude translator in GitHub issue tracker workflow
* Add quiet hours handling and scheduled processing for GitHub issue notifications
- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude
* Replace custom Node.js script with Claude Code Action for issue processing
- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features
* Remove GitHub issue comment functionality
- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions
* feat: add GitHub issue tracker workflow with Feishu notifications
* feat: add GitHub issue tracker workflow with Feishu notifications
* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow
* fix: update environment variable for Claude translator in GitHub issue tracker workflow
* Add quiet hours handling and scheduled processing for GitHub issue notifications
- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude
* Replace custom Node.js script with Claude Code Action for issue processing
- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features
* Remove GitHub issue comment functionality
- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions
* Add OIDC token permissions and GitHub token to Claude workflow
- Add `id-token: write` permission for OIDC authentication in both jobs
- Pass `github_token` to Claude action for proper GitHub API access
- Maintain existing issue write and contents read permissions
fix: add GitHub issue tracker workflow with Feishu notifications
* feat: add GitHub issue tracker workflow with Feishu notifications
* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow
* fix: update environment variable for Claude translator in GitHub issue tracker workflow
* Add quiet hours handling and scheduled processing for GitHub issue notifications
- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude
* Replace custom Node.js script with Claude Code Action for issue processing
- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features
* Remove GitHub issue comment functionality
- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions
* Add OIDC token permissions and GitHub token to Claude workflow
- Add `id-token: write` permission for OIDC authentication in both jobs
- Pass `github_token` to Claude action for proper GitHub API access
- Maintain existing issue write and contents read permissions
* Enhance GitHub issue automation workflow with Claude integration
- Refactor Claude action to handle issue analysis, Feishu notification, and comment creation in single step
- Add tool permissions for Bash commands and custom notification script execution
- Update prompt with detailed task instructions including summary generation and automated actions
- Remove separate notification step by integrating all operations into Claude action workflow
* fix
* 删除AI总结评论的添加步骤和注意事项