├── .gitattributes
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ ├── bug_report_cn.yml
│ └── config.yml
└── workflows
│ └── ci.yml
├── .gitignore
├── CHANGELOG.md
├── CHANGELOG.zh.md
├── README.md
├── README.zh.md
├── assets
├── logo.png
├── screenshots-1.png
└── screenshots-2.png
├── feedback.md
├── feedback.zh.md
├── privacy-policy.md
├── privacy-policy.zh.md
├── renovate.json
├── terms-of-service.md
└── terms-of-service.zh.md
/.gitattributes:
--------------------------------------------------------------------------------
1 | # *.md linguist-language=Swift
2 | *.json linguist-language=Swift
3 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | ko_fi: jaywcjlove
2 | buy_me_a_coffee: jaywcjlove
3 | custom: ["https://www.paypal.me/kennyiseeyou", "https://jaywcjlove.github.io/#/sponsor"]
4 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.yml:
--------------------------------------------------------------------------------
1 | name: 🙋♂️ [FileSentinel] - Support & Feedback
2 | description: Get help with FileSentinel, report bugs, or request features.
3 | title: '🙋♂️ Support & Feedback: FileSentinel'
4 | labels: ['support', 'feedback', 'question']
5 | assignees:
6 | - jaywcjlove
7 | body:
8 | - type: markdown
9 | attributes:
10 | value: |
11 | Please provide as much detail as possible about your support request or feedback.
12 |
13 | FileSentinel is a tool for monitoring text file changes, saving the last line of content, and conveniently querying terminal command history. It can monitor files such as .zsh_history or .bash_history, automatically saving shell history records to help you quickly search recent terminal commands and avoid forgetting important ones. The App supports full-text search and command pinning to improve your work efficiency.
14 |
15 | ### Contact Information
16 |
17 | If you encounter any issues or need support while using our app, please feel free to contact us through the following methods:
18 |
19 | - **Email Support**: [kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com)
20 | - **Social Media**: [Twitter](https://twitter.com/jaywcjlove)
21 |
22 | We will respond to your message as soon as possible. Thank you for your support of our app!
23 |
24 | - type: textarea
25 | attributes:
26 | label: 🙋♂️ How can we help you?
27 | description: Describe the issue you're facing or the feature you'd like to request.
28 | placeholder: For example, I'm experiencing an issue with...
29 | validations:
30 | required: true
31 |
32 | - type: dropdown
33 | id: os_version
34 | attributes:
35 | label: "💻 Desktop"
36 | description: Your operating system and version.
37 | options:
38 | - macOS 15.0 (Sequoia)
39 | - macOS 14.0 (Sonoma)
40 | default: 0
41 | validations:
42 | required: true
43 |
44 | - type: markdown
45 | attributes:
46 | value: |
47 | **How can I send you a crash report for one of your apps?**
48 |
49 | - macOS Open Finder
50 | - Select Go to **Folder…** from the Go menu ⇧ + ⌘ + G
51 | - Enter: **~/Library/Logs/DiagnosticReports**
52 | - In the resulting list, select all files that starts with the app name, ZIP them, and send me
53 | - Attach the file to this issue
54 |
55 | - type: textarea
56 | attributes:
57 | label: ℹ️ Additional context
58 | description: Add any additional information that could be helpful.
59 | placeholder: ex. Screenshots, steps to reproduce, etc.
60 | validations:
61 | required: false
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report_cn.yml:
--------------------------------------------------------------------------------
1 | name: 🙋♂️ [FileSentinel] - 支持与反馈
2 | description: "获取有关 FileSentinel、报告错误或请求功能的帮助。"
3 | title: '🙋♂️ 支持与反馈: FileSentinel'
4 | labels: ['support', 'feedback', 'question']
5 | assignees:
6 | - jaywcjlove
7 |
8 | body:
9 | - type: markdown
10 | attributes:
11 | value: |
12 |
请尽可能详细地提供您的支持请求或反馈。
13 |
14 | FileSentinel 是一款用于监听文本文件变化、保存最后一行内容,并便捷查询终端命令历史记录的工具。它可以监控类似 .zsh_history 或 .bash_history 文件,自动保存 Shell 历史记录,帮助您快速搜索最近的终端命令,避免遗忘重要命令。应用支持全文搜索和命令收藏,提升您的工作效率。
15 |
16 | ### 联系信息
17 |
18 | 如果您在使用我们的应用时遇到任何问题或需要支持,请随时通过以下方式与我们联系:
19 |
20 | - **电子邮件支持**: [kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com)
21 | - **社交媒体**: [Twitter](https://twitter.com/jaywcjlove)
22 |
23 | 我们会尽快回复您的消息,感谢您对我们应用的支持!
24 |
25 |
26 | - type: textarea
27 | attributes:
28 | label: 🙋♂️ 您需要什么帮助?
29 | description: 描述您面临的问题或您想要请求的功能。
30 | placeholder: 例如,我遇到了问题...
31 | validations:
32 | required: true
33 |
34 | - type: dropdown
35 | id: os_version
36 | attributes:
37 | label: "💻 桌面"
38 | description: 您的操作系统和版本。
39 | options:
40 | - macOS 15.0 (Sequoia)
41 | - macOS 14.0 (Sonoma)
42 | default: 0
43 | validations:
44 | required: true
45 |
46 | - type: markdown
47 | attributes:
48 | value: |
49 | **如何向我发送应用程序的崩溃报告?**
50 |
51 | - 在 macOS 上打开 Finder
52 | - 从“前往”菜单中选择 **前往文件夹…** ⇧ + ⌘ + G
53 | - 输入:**~/Library/Logs/DiagnosticReports**
54 | - 在出现的列表中,选择所有以应用程序名称开头的文件,将它们压缩成 ZIP 文件并发送给我
55 | - 将文件附加到此问题中
56 |
57 | - type: textarea
58 | attributes:
59 | label: ℹ️ 补充说明
60 | description: 在此添加有关问题的其他上下文信息。
61 | placeholder: 例如:截图、复现步骤等。
62 | validations:
63 | required: false
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: 🌐 FileSentinel Official Website
4 | url: https://wangchujiang.com/file-sentinel/
5 | about: Introduction to the FileSentinel app on the official website!
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI/CD
2 | on:
3 | push:
4 | branches:
5 | - main
6 |
7 | jobs:
8 | build-deploy:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v4
12 | - uses: actions/setup-node@v4
13 | with:
14 | node-version: 20
15 |
16 | - name: Create Tag
17 | id: create_tag
18 | uses: jaywcjlove/create-tag-action@main
19 | with:
20 | test: '[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'
21 |
22 | - name: Create Released Tag
23 | uses: jaywcjlove/create-tag-action@main
24 | with:
25 | version: ${{ steps.create_tag.outputs.version }}
26 | release: true
27 | body: |
28 |
29 |
30 |
31 |
32 | - name: Get latest tag
33 | id: get_latest_tag
34 | run: echo "LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))" >> $GITHUB_ENV
35 |
36 | - name: Create idoc config.
37 | run: |
38 | cat > idoc.yml << EOF
39 | site: "FileSentinel {{version:${{ steps.create_tag.outputs.version }}}}"
40 | description: File monitor for listening to text files and saving the last line, making it easy to save shell-like history records.
41 | keywords: terminal history,shell history,command search,zsh,bash,fish,mac menu bar,full-text search,developer tool,history manager
42 | favicon: assets/logo.png
43 | logo: ./assets/logo.png
44 | openSource: https://github.com/jaywcjlove/file-sentinel
45 | tocs: false
46 | element:
47 | wrapper: style=max-width:720px;
48 | menus:
49 | Home: index.html
50 | Apps: https://wangchujiang.com/#/app
51 | About: https://wangchujiang.com/#/about
52 | sideEffectFiles:
53 | - README.md
54 | - README.zh.md
55 | - CHANGELOG.md
56 | - CHANGELOG.zh.md
57 | - feedback.md
58 | - feedback.zh.md
59 | - terms-of-service.md
60 | - terms-of-service.zh.md
61 | - privacy-policy.md
62 | - privacy-policy.zh.md
63 | footer: |
64 | App •
65 | Projects •
66 | Sponsor •
67 | More Apps
68 | Generated by idoc v{{idocVersion}}
69 | EOF
70 | - run: npm install idoc@1 -g
71 | - run: idoc
72 |
73 | - name: Deploy
74 | uses: peaceiris/actions-gh-pages@v4
75 | with:
76 | commit_message: ${{ github.event.head_commit.message }}
77 | github_token: ${{ secrets.GITHUB_TOKEN }}
78 | publish_dir: ./dist
79 |
80 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 |
3 | .DS_Store
4 | .cache
5 | .vscode
6 | .idea
7 |
8 | *.bak
9 | *.tem
10 | *.temp
11 | #.swp
12 | *.*~
13 | ~*.*
14 |
15 | # IDEA
16 | *.iml
17 | *.ipr
18 | *.iws
19 | .idea/
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 |
2 | 中文 3 |
4 | 5 | 6 | Changelog 7 | === 8 | 9 | 10 |2 | English 3 |
4 | 5 | 6 | 更新日志 7 | === 8 | 9 | 10 |15 | 简体中文 • 16 | Contact & Support • 17 | Changelog 18 |
19 |
20 |
21 |
22 |
23 |
15 | English • 16 | 联系&支持 • 17 | 更新日志 18 |
19 |
20 |
21 |
22 |
23 |
2 | 中文 3 |
4 | 5 | 6 | Feedback & Support 7 | === 8 | 9 | FileSentinel is a tool for monitoring text file changes, saving the last line of content, and conveniently querying terminal command history. It can monitor files such as .zsh_history or .bash_history, automatically saving shell history records to help you quickly search recent terminal commands and avoid forgetting important ones. The App supports full-text search and command pinning to improve your work efficiency. 10 | 11 | Your feedback and support are invaluable! If you encounter any issues, have questions, or would like to suggest new features, please feel free to reach out. Your input helps us improve FileSentinel and ensures the best user experience for you. 12 | 13 | You can contact us through the app or by sending an email to **kennyiseeyou@gmail.com**. I am dedicated to providing support and ensuring a smooth and enjoyable experience for you. Thank you for choosing this tool! 14 | 15 | ### Contact Information 16 | 17 | If you need assistance or encounter any issues while using FileSentinel, please reach out through the following channels: 18 | 19 | - [**Email Support**: kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com) 20 | - [**Social Media**: Twitter/X @jaywcjlove](https://twitter.com/jaywcjlove) 21 | - [**GitHub Issue Tracker**](https://github.com/jaywcjlove/file-sentinel/issues/new/choose) 22 | 23 | I will get back to you as soon as possible. Thank you for your support! -------------------------------------------------------------------------------- /feedback.zh.md: -------------------------------------------------------------------------------- 1 |2 | English 3 |
4 | 5 | 6 | 反馈与支持 7 | === 8 | 9 | FileSentinel 是一款用于监听文本文件变化、保存最后一行内容,并便捷查询终端命令历史记录的工具。它可以监控类似 .zsh_history 或 .bash_history 文件,自动保存 Shell 历史记录,帮助您快速搜索最近的终端命令,避免遗忘重要命令。应用支持全文搜索和命令收藏,提升您的工作效率。 10 | 11 | 你的反馈和支持非常重要!如果你遇到任何问题、有疑问,或希望提出新功能建议,请随时联系我们。你的意见将帮助我们改进 FileSentinel,确保为你提供最佳的用户体验。 12 | 13 | 你可以通过应用内或发送邮件至 **kennyiseeyou@gmail.com** 联系我们。我致力于为你提供支持,确保你拥有流畅、愉快的使用体验。感谢你选择这款工具! 14 | 15 | ### 联系方式 16 | 17 | 如果你在使用过程中需要帮助或遇到问题,可以通过以下渠道联系我们: 18 | 19 | - [**邮件支持**: kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com) 20 | - [**社交媒体**: Twitter/X @jaywcjlove](https://twitter.com/jaywcjlove) 21 | - [**GitHub 问题反馈**](https://github.com/jaywcjlove/file-sentinel/issues/new/choose) 22 | 23 | 我会尽快回复你的消息。感谢你对本工具的支持! -------------------------------------------------------------------------------- /privacy-policy.md: -------------------------------------------------------------------------------- 1 |2 | 中文 3 |
4 | 5 | 6 | Privacy Policy 7 | === 8 | 9 | Thank you for using FileSentinel! We take your privacy seriously and are committed to protecting any personal information you provide while using our tool. This privacy policy outlines how we collect, use, disclose, and protect your information. 10 | 11 | ## Information Collection 12 | 13 | FileSentinel is a tool designed to monitor changes to text files, save the last line of content, and conveniently query terminal command history. It can monitor files like .zsh_history or .bash_history, automatically saving shell command history to help you quickly search recent terminal commands, preventing you from forgetting important ones. The app supports full-text search and command bookmarking, improving your work efficiency. 14 | 15 | Important Note: FileSentinel is a local tool and does not collect, store, or process any personal data from users. We do not transmit any information to remote servers or third-party services through FileSentinel. 16 | 17 | ### a. Local Data Storage 18 | 19 | - FileSentinel monitors and processes locally stored shell history files (such as .zsh_history or .bash_history), but this data is used solely on your device. 20 | - All monitored data, settings, and actions are stored locally on your device. FileSentinel does not collect, access, or send this data to external servers. 21 | 22 | ### b. Log Data 23 | 24 | FileSentinel does not collect any log data or usage information. All data operations and history queries are performed entirely on your device and are not transmitted to any remote servers or third-party services. 25 | 26 | ## Use of Data 27 | 28 | Since FileSentinel does not collect, store, or analyze any user information, we do not use or share your personal information in any way. All data you use (such as terminal command history, search records, etc.) is processed solely on your local device. 29 | 30 | ## Third-Party Services 31 | 32 | FileSentinel does not integrate with any third-party services or advertising platforms, so your information is not shared or sold to any third parties. 33 | 34 | ## Data Security 35 | 36 | We place great importance on the security of your data. Since FileSentinel does not collect or transmit any data, all content, settings, and user actions are securely stored on your device and protected by your operating system’s security measures. 37 | 38 | ## User Control 39 | 40 | - You can delete all data and settings within the FileSentinel app at any time. The app does not back up your data to the cloud; all data is entirely under your control. 41 | - After uninstalling the app, all data will be permanently deleted from your device. 42 | 43 | ## Changes to the Privacy Policy 44 | 45 | We may update this privacy policy from time to time. If there are significant changes, we will notify you via the app or official website. Please check this page regularly for the latest privacy policy updates. 46 | 47 | ## Contact Us 48 | 49 | If you have any questions about our privacy policy or need help managing your information, please contact us via email: kennyiseeyou@gmail.com. 50 | 51 | This policy is effective as of April 16, 2025. 52 | -------------------------------------------------------------------------------- /privacy-policy.zh.md: -------------------------------------------------------------------------------- 1 |2 | English 3 |
4 | 5 | 6 | 隐私政策 7 | === 8 | 9 | 感谢您使用 FileSentinel!我们非常重视您的隐私,并承诺保护您在使用我们的工具时提供的任何个人信息。本隐私政策详细说明了我们如何收集、使用、披露和保护您的信息。 10 | 11 | ## 信息收集 12 | 13 | FileSentinel 是一款用于监听文本文件变化、保存最后一行内容,并便捷查询终端命令历史记录的工具。它可以监控类似 .zsh_history 或 .bash_history 文件,自动保存 Shell 历史记录,帮助您快速搜索最近的终端命令,避免遗忘重要命令。应用支持全文搜索和命令收藏,提升您的工作效率。 14 | 15 | 重要说明: FileSentinel 是一款本地工具,不会收集、存储或处理用户的任何个人数据。我们不会通过 FileSentinel 向远程服务器或第三方服务传输任何信息。 16 | 17 | ### a. 本地数据存储 18 | 19 | - FileSentinel 会监控并处理本地存储的 Shell 历史文件(如 .zsh_history 或 .bash_history),但这些数据仅限于您的设备上使用。 20 | - 所有监控数据、设置和操作均仅存储在您的设备本地,FileSentinel 不会收集、访问或将这些数据发送至外部服务器。 21 | 22 | ### b. 日志数据 23 | 24 | FileSentinel 不收集任何日志数据或使用信息。所有的数据操作和历史记录查询都完全在您的设备本地进行,未传输至任何远程服务器或第三方服务。 25 | 26 | ## 数据的使用 27 | 28 | 由于 FileSentinel 不会收集、存储或分析任何用户信息,我们不会以任何方式使用或分享您的个人信息。您使用的所有数据(如终端命令历史、搜索记录等)仅限于您本地设备上进行处理。 29 | 30 | ## 第三方服务 31 | 32 | FileSentinel 不会与任何第三方服务或广告平台集成,因此您的信息不会被共享或出售给任何第三方。 33 | 34 | ## 数据安全 35 | 36 | 我们非常重视您数据的安全性。由于 FileSentinel 不会收集或传输任何数据,所有内容、设置和用户操作都安全地存储在您的设备上,受操作系统的安全措施保护。 37 | 38 | ## 用户控制 39 | 40 | - 您可以随时删除 FileSentinel 应用中的所有数据和设置。应用不会将您的数据备份到云端,所有数据完全由您控制。 41 | - 卸载应用后,所有数据将从您的设备中永久删除。 42 | 43 | ## 隐私政策的变更 44 | 45 | 我们可能会不时更新本隐私政策。如有重大变更,我们会通过应用内或官方网站通知您。请定期查看此页面,以了解最新的隐私政策。 46 | 47 | ## 联系我们 48 | 49 | 如果您对我们的隐私政策有任何疑问或需要帮助管理您的信息,请通过以下邮箱联系我们:kennyiseeyou@gmail.com。 50 | 51 | 本政策自 2025 年 04 月 16 日 起生效。 -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:recommended" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /terms-of-service.md: -------------------------------------------------------------------------------- 1 |2 | 中文 3 |
4 | 5 | 6 | FileSentinel Terms of Service 7 | === 8 | 9 | Welcome to FileSentinel! These Terms of Service (hereinafter referred to as “Terms”) govern your use of this application (hereinafter referred to as “the App”). Please read these Terms carefully before using the App. By using the App, you agree to comply with and be bound by these Terms. 10 | 11 | ## Service Overview 12 | 13 | FileSentinel is a tool for monitoring text file changes, saving the last line of content, and conveniently querying terminal command history. It can monitor files such as .zsh_history or .bash_history, automatically saving shell history records to help you quickly search recent terminal commands and avoid forgetting important ones. The App supports full-text search and command pinning to improve your work efficiency. 14 | 15 | This is a local tool — all operations are performed on your device, with no reliance on network connectivity. 16 | 17 | ## User Responsibilities 18 | 19 | - You agree to use this App solely for lawful purposes and not for any illegal or unauthorized activities. 20 | - You are fully responsible for your use of the App and any consequences thereof, including but not limited to complying with applicable copyright laws, privacy regulations, and other relevant legislation. 21 | 22 | ## Privacy Protection 23 | 24 | FileSentinel respects your privacy. It does not collect, store, or share your personal data. All history records are stored locally on your device and are not transmitted or uploaded over the internet. For more information, please refer to our Privacy Policy. 25 | 26 | ## Disclaimer 27 | 28 | - The App is provided “as is” without warranties of any kind, express or implied. We do not guarantee that it will be error-free or fully meet your specific requirements. 29 | - To the extent permitted by applicable law, the developer shall not be liable for any losses or damages resulting from the use of this App, including but not limited to data loss or device malfunction. 30 | 31 | ## Changes to Terms 32 | 33 | We may update these Terms from time to time in accordance with product updates or legal requirements. The revised Terms will be published within the App or on our official website. Continuing to use the App after any changes constitutes your acceptance of the updated Terms. 34 | 35 | ## Contact Us 36 | 37 | If you have any questions about our Privacy Policy or Terms of Service, or if you’d like to share feedback and suggestions, please contact us via the “About Us” page within the App. 38 | 39 | You may also reach us at kennyiseeyou@gmail.com, and we will respond to your inquiry as soon as possible. 40 | 41 | These Terms of Service were last updated on April 16, 2025. 42 | -------------------------------------------------------------------------------- /terms-of-service.zh.md: -------------------------------------------------------------------------------- 1 |2 | English 3 |
4 | 5 | 6 | FileSentinel 服务条款 7 | === 8 | 9 | 欢迎使用 FileSentinel!本服务条款(以下简称“条款”)规范您对本应用(以下简称“应用”)的使用。请在使用前仔细阅读本条款。您的使用即表示您同意遵守本条款。 10 | 11 | ## 服务概述 12 | 13 | FileSentinel 是一款用于监听文本文件变化、保存最后一行内容,并便捷查询终端命令历史记录的工具。它可以监控类似 .zsh_history 或 .bash_history 文件,自动保存 Shell 历史记录,帮助您快速搜索最近的终端命令,避免遗忘重要命令。应用支持全文搜索和命令收藏,提升您的工作效率。 14 | 15 | 本应用为本地工具,所有操作均在用户设备上完成,不依赖网络连接。 16 | 17 | ## 用户责任 18 | 19 | - 您同意仅将本应用用于合法目的,不得用于任何非法或未经授权的用途。 20 | - 您对自己在应用中的使用行为及其结果负全部责任,包括但不限于遵守适用的版权法、隐私法及其他相关法律法规。 21 | 22 | ## 隐私保护 23 | 24 | FileSentinel 尊重您的隐私,不会收集、存储或共享您的个人数据。所有历史记录均保存在您的本地设备上,且不通过网络传输或上传。如需了解更多,请参阅我们的《隐私政策》。 25 | 26 | ## 免责声明 27 | 28 | - 本应用按“现状”提供,不保证完全无误或完全符合您的特定需求。 29 | - 在适用法律允许的范围内,开发者不对因使用本应用而造成的任何损失或损害负责,包括但不限于数据丢失或设备故障。 30 | 31 | ## 条款变更 32 | 33 | 我们可能会根据产品迭代和法律法规变化不定期更新本条款,更新后的条款将在应用内或官方网站公布。继续使用本应用即表示您接受修改后的条款。 34 | 35 | ## 联系我们 36 | 37 | 如您对我们的隐私政策或服务条款有任何疑问,或希望提出意见和建议,请通过应用内的「关于我们」页面联系我们。 38 | 39 | 您也可以通过 kennyiseeyou@gmail.com 与我们取得联系,我们将尽快回复您的问题。 40 | 41 | 本服务条款最后更新于 2025 年 04 月 16 日。 42 | --------------------------------------------------------------------------------