1
1
Fork
You've already forked zop
0

Add features #25

Merged
peterwwillis merged 14 commits from feature/add-makefile-build into main 2026年03月19日 02:30:06 +01:00
peterwwillis commented 2026年03月18日 17:18:00 +01:00 (Migrated from github.com)
Copy link

This pull request significantly enhances the user experience for interactive chat and voice input, while also streamlining the development and build processes.

Highlights

  • Enhanced Interactive Chat: Introduced automatic session management for interactive mode, allowing zop to create and resume unique sessions without explicit naming. It also automatically rolls over to a new session when context limits are reached by the AI provider.
  • Improved Voice Input (Whisper): Upgraded the voice activity detection (VAD) system with adaptive noise floor estimation and signal-to-noise ratio (SNR) based speech detection, making it more robust across different microphones. Added options for VAD debug diagnostics and manual recording stop (Ctrl-D).
  • Comprehensive Build System: Added a new Makefile to streamline development workflows, including Go toolchain installation, dependency management, building (with/without Whisper), testing, release binary generation, and Android APK creation. This simplifies the build process significantly.
  • Whisper.cpp Integration & Logging: Integrated whisper.cpp build and management directly into the Makefile. Whisper's native logging is now silenced by default for cleaner output, with an option to enable debug logs via the --debug flag.
This pull request significantly enhances the user experience for interactive chat and voice input, while also streamlining the development and build processes. ### Highlights * **Enhanced Interactive Chat**: Introduced automatic session management for interactive mode, allowing `zop` to create and resume unique sessions without explicit naming. It also automatically rolls over to a new session when context limits are reached by the AI provider. * **Improved Voice Input (Whisper)**: Upgraded the voice activity detection (VAD) system with adaptive noise floor estimation and signal-to-noise ratio (SNR) based speech detection, making it more robust across different microphones. Added options for VAD debug diagnostics and manual recording stop (Ctrl-D). * **Comprehensive Build System**: Added a new `Makefile` to streamline development workflows, including Go toolchain installation, dependency management, building (with/without Whisper), testing, release binary generation, and Android APK creation. This simplifies the build process significantly. * **Whisper.cpp Integration & Logging**: Integrated `whisper.cpp` build and management directly into the `Makefile`. Whisper's native logging is now silenced by default for cleaner output, with an option to enable debug logs via the `--debug` flag.
gemini-code-assist[bot] commented 2026年03月18日 17:18:30 +01:00 (Migrated from github.com)
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1 ! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the user experience for interactive chat and voice input, while also streamlining the development and build processes. Users will benefit from more intelligent session management in interactive mode, including automatic session resumption and context rollover. Voice input is made more reliable and controllable with an adaptive voice activity detection system and new debugging options. Developers will find a much more organized and automated build system through the new Makefile, simplifying tasks from Go toolchain setup to cross-compilation and mobile app packaging.

Highlights

  • Enhanced Interactive Chat: Introduced automatic session management for interactive mode, allowing zop to create and resume unique sessions without explicit naming. It also automatically rolls over to a new session when context limits are reached by the AI provider.
  • Improved Voice Input (Whisper): Upgraded the voice activity detection (VAD) system with adaptive noise floor estimation and signal-to-noise ratio (SNR) based speech detection, making it more robust across different microphones. Added options for VAD debug diagnostics and manual recording stop (Ctrl-D).
  • Comprehensive Build System: Added a new Makefile to streamline development workflows, including Go toolchain installation, dependency management, building (with/without Whisper), testing, release binary generation, and Android APK creation. This simplifies the build process significantly.
  • Whisper.cpp Integration & Logging: Integrated whisper.cpp build and management directly into the Makefile. Whisper's native logging is now silenced by default for cleaner output, with an option to enable debug logs via the --debug flag.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/release.yml
    • .github/workflows/test.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.


  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩︎

## Summary of Changes Hello, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the user experience for interactive chat and voice input, while also streamlining the development and build processes. Users will benefit from more intelligent session management in interactive mode, including automatic session resumption and context rollover. Voice input is made more reliable and controllable with an adaptive voice activity detection system and new debugging options. Developers will find a much more organized and automated build system through the new Makefile, simplifying tasks from Go toolchain setup to cross-compilation and mobile app packaging. ### Highlights * **Enhanced Interactive Chat**: Introduced automatic session management for interactive mode, allowing `zop` to create and resume unique sessions without explicit naming. It also automatically rolls over to a new session when context limits are reached by the AI provider. * **Improved Voice Input (Whisper)**: Upgraded the voice activity detection (VAD) system with adaptive noise floor estimation and signal-to-noise ratio (SNR) based speech detection, making it more robust across different microphones. Added options for VAD debug diagnostics and manual recording stop (Ctrl-D). * **Comprehensive Build System**: Added a new `Makefile` to streamline development workflows, including Go toolchain installation, dependency management, building (with/without Whisper), testing, release binary generation, and Android APK creation. This simplifies the build process significantly. * **Whisper.cpp Integration & Logging**: Integrated `whisper.cpp` build and management directly into the `Makefile`. Whisper's native logging is now silenced by default for cleaner output, with an option to enable debug logs via the `--debug` flag. <details> <summary><b>Ignored Files</b></summary> * **Ignored by pattern:** `.github/workflows/**` (2) * .github/workflows/release.yml * .github/workflows/test.yml </details> <details> <summary><b>Using Gemini Code Assist</b></summary> <br> The full guide for Gemini Code Assist can be found on our [documentation page](https://developers.google.com/gemini-code-assist/docs/review-github-code), here are some quick tips. <b>Invoking Gemini</b> You can request assistance from Gemini at any point by creating a comment using either `/gemini <command>` or `@gemini-code-assist <command>`. Below is a summary of the supported commands on the current page. Feature | Command | Description --- | --- | --- Code Review | `/gemini review` | Performs a code review for the current pull request in its current state. Pull Request Summary | `/gemini summary` | Provides a summary of the current pull request in its current state. Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in pull request comments and review comments. Help | `/gemini help` | Displays a list of available commands. <b>Customization</b> To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a `.gemini/` folder in the base of the repository. Detailed instructions can be found [here](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github). <b>Limitations & Feedback</b> Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with :thumbsup: and :thumbsdown: on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up [here](https://google.qualtrics.com/jfe/form/SV_2cyuGuTWsEw84yG). </details> [^1]: Review the [Privacy Notices](https://policies.google.com/privacy), [Generative AI Prohibited Use Policy](https://policies.google.com/terms/generative-ai/use-policy), [Terms of Service](https://policies.google.com/terms), and learn how to configure Gemini Code Assist in GitHub [here](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github). Gemini can make mistakes, so double check it and [use code with caution](https://support.google.com/legal/answer/13505487).
gemini-code-assist[bot] (Migrated from github.com) reviewed 2026年03月18日 17:21:18 +01:00
gemini-code-assist[bot] (Migrated from github.com) left a comment
Copy link

Code Review

This pull request introduces several new features, including automatic session management for interactive mode, enhanced voice input capabilities with adaptive Voice Activity Detection (VAD), and improved build instructions using a new Makefile. The changes significantly enhance the user experience and build process. The new VAD logic is a notable improvement for voice input robustness. The documentation has been updated to reflect these changes, providing clearer guidance for users and developers.

## Code Review This pull request introduces several new features, including automatic session management for interactive mode, enhanced voice input capabilities with adaptive Voice Activity Detection (VAD), and improved build instructions using a new Makefile. The changes significantly enhance the user experience and build process. The new VAD logic is a notable improvement for voice input robustness. The documentation has been updated to reflect these changes, providing clearer guidance for users and developers.
@ -0,0 +1,246 @@
# ==============================================================
gemini-code-assist[bot] (Migrated from github.com) commented 2026年03月18日 17:21:19 +01:00
Copy link

medium

The sed commands s/armv6l/armv6l/ and s/armv7l/armv7l/ are redundant as they replace the string with itself. Removing them will simplify the expression without changing its functionality.

 _HOST_ARCH := $(shell uname -m | \
 sed 's/x86_64/amd64/;s/aarch64/arm64/')
![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg) The `sed` commands `s/armv6l/armv6l/` and `s/armv7l/armv7l/` are redundant as they replace the string with itself. Removing them will simplify the expression without changing its functionality. ``` _HOST_ARCH := $(shell uname -m | \ sed 's/x86_64/amd64/;s/aarch64/arm64/') ```
@ -0,0 +151,4 @@
## build-whisper: Build all packages with the whisper build tag
build-whisper: whisper-fetch
CGO_ENABLED=1 go build -tags whisper ./...
gemini-code-assist[bot] (Migrated from github.com) commented 2026年03月18日 17:21:19 +01:00
Copy link

medium

The build-whisper target's go build command is missing $(_tag_args). This means that if BUILD_TAGS contains other tags besides whisper, they will not be applied during this build. It should be consistent with the build target to ensure all relevant build tags are passed.

CGO_ENABLED=1 go build $(_tag_args) -tags whisper ./...
![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg) The `build-whisper` target's `go build` command is missing `$(_tag_args)`. This means that if `BUILD_TAGS` contains other tags besides `whisper`, they will not be applied during this build. It should be consistent with the `build` target to ensure all relevant build tags are passed. ``` CGO_ENABLED=1 go build $(_tag_args) -tags whisper ./... ```
@ -123,21 +143,134 @@ zop chat show my-chat # show messages in a session
zop chat delete my-chat # delete a session
gemini-code-assist[bot] (Migrated from github.com) commented 2026年03月18日 17:21:19 +01:00
Copy link

medium

The make build-local target is mentioned here as a way to build a runnable local binary, but it is not defined in the Makefile. This will result in an error if a user attempts to run this command. Please either define the build-local target in the Makefile or remove this reference from the documentation.

![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg) The `make build-local` target is mentioned here as a way to build a runnable local binary, but it is not defined in the `Makefile`. This will result in an error if a user attempts to run this command. Please either define the `build-local` target in the Makefile or remove this reference from the documentation.
gemini-code-assist[bot] (Migrated from github.com) commented 2026年03月18日 17:21:19 +01:00
Copy link

medium

The make build-local target is listed in the Makefile quick reference table, but it is not defined in the Makefile. This inconsistency can confuse users. Please either define the build-local target in the Makefile or remove this entry from the quick reference.

![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg) The `make build-local` target is listed in the Makefile quick reference table, but it is not defined in the `Makefile`. This inconsistency can confuse users. Please either define the `build-local` target in the Makefile or remove this entry from the quick reference.
github-actions[bot] commented 2026年03月18日 17:21:30 +01:00 (Migrated from github.com)
Copy link

Mobile UI Screenshot

zop mobile UI

### Mobile UI Screenshot ![zop mobile UI](https://raw.githubusercontent.com/peterwwillis/zop/ui-screenshots/pr-25/zop-mobile-ui.png) <!-- Sticky Pull Request Commentzop-mobile-ui -->
peterwwillis commented 2026年03月18日 21:53:02 +01:00 (Migrated from github.com)
Copy link

All suggestions from the code review have been implemented.

All suggestions from the code review have been implemented.
Sign in to join this conversation.
No reviewers
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mutablecc/zop!25
Reference in a new issue
mutablecc/zop
No description provided.
Delete branch "feature/add-makefile-build"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?