Source available for noncommercial use. Commercial use requires separate written permission.
An English reading and practice app for macOS. Save sentences from what you read, explore their meaning, and come back to them through listening, shadowing, and typing practice.
EchoLine is built with SwiftUI and AppKit. The interface and learning explanations are primarily in Chinese.
- Capture a word, sentence, or paragraph from another app with
Option + Command + E. - Preview selected text, listen to it, look up words, and choose what to save.
- Get AI explanations of sentence structure, tense, vocabulary, and paragraph connections.
- Build a searchable sentence library and vocabulary collection with tags and favorites.
- Practice with recordings, shadowing, dictation, and typing exercises.
- Revisit saved material through daily recall and review sessions.
- Use macOS voices or configure cloud speech synthesis.
- Optionally sync learning records through your own iCloud Drive.
Requirements: macOS 14 or later, and Xcode 16 or later with the macOS SDK.
git clone https://github.com/jiangcongxin/EchoLine.git
cd EchoLine
open EchoLine.xcodeprojSelect the EchoLine scheme and My Mac, then run with Command + R. If Xcode asks for signing, select your own development team in Signing & Capabilities. Change the bundle identifier if needed for your account.
To check the build without signing:
xcodebuild -project EchoLine.xcodeproj -scheme EchoLine \
-configuration Debug -destination 'platform=macOS' \
CODE_SIGNING_ALLOWED=NO buildOpen Settings with Command + , and enter your own provider API key. The default configuration uses Alibaba Cloud Bailian for text explanations and speech. DeepSeek, Kimi, and custom OpenAI-compatible text endpoints are also available in settings; speech can use Bailian, SiliconFlow, or macOS system voices.
Model availability and API charges depend on your provider. Use the connection and voice tests in settings to check your configuration.
For capture across apps, grant EchoLine Accessibility access in macOS System Settings. Microphone and speech recognition permissions are requested for recording and pronunciation practice.
The sentence library, vocabulary, recordings, and caches are stored locally. Optional synchronization uses the EchoSync folder in your iCloud Drive.
AI explanations send the submitted text to the provider you configure. Cloud speech and AI pronunciation features also send text or recordings as required by those features. API keys are currently stored in local app preferences (UserDefaults), rather than Keychain. Avoid submitting confidential material to cloud services.
EchoLine/ macOS app source and assets
EchoLine.xcodeproj/ Xcode project and shared scheme
This repository contains the macOS app. Build it from source; signed installers are not included in this initial release.
Bug reports and focused pull requests are welcome. For a bug, include your macOS and Xcode versions, steps to reproduce, and the provider/model if relevant. Remove API keys, personal sentences, and recordings from any attachments.
EchoLine is licensed under PolyForm Noncommercial 1.0.0.
You may use, modify, and share the software for purposes permitted by that license, including personal learning and noncommercial research. Commercial use, including selling the app, incorporating it into a commercial product, or offering a commercial service based on it, requires a separate written license from the author. Contact jcx981212@163.com to request one.
Keep the license and required notices with redistributed copies. Contributions must be offered under the same license unless separately agreed in writing.
The source is publicly available with a noncommercial restriction; it is not offered under an unrestricted open-source license.