Skip to content

feat(models): add support for local Ollama models (#39) - #41

Merged
tsdevau merged 4 commits into
mainfrom
ollama2
Jun 5, 2025
Merged

feat(models): add support for local Ollama models (#39) #41
tsdevau merged 4 commits into
mainfrom
ollama2

Conversation

@tsdevau

Copy link
Copy Markdown
Owner
  • Added dual provider support with a new diffCommit.provider configuration option
  • Implemented Ollama integration with model selection and server configuration
  • Added new commands for Ollama setup and model switching:
    • DiffCommit: Configure Ollama Model
    • DiffCommit: Change Ollama Model
  • Added new configuration settings:
    • diffCommit.ollamaHostname for server connection
    • diffCommit.ollamaModel for model selection
  • Updated documentation with Ollama requirements and setup instructions
  • Enhanced error handling for Ollama-specific scenarios
  • Updated workflow documentation to include provider selection

Resolves issue #37

Resolves issue #37
- Added dual provider support with a new `diffCommit.provider` configuration option
- Implemented Ollama integration with model selection and server configuration
- Added new commands for Ollama setup and model switching:
- `DiffCommit: Configure Ollama Model`
- `DiffCommit: Change Ollama Model`
- Added new configuration settings:
- `diffCommit.ollamaHostname` for server connection
- `diffCommit.ollamaModel` for model selection
- Updated documentation with Ollama requirements and setup instructions
- Enhanced error handling for Ollama-specific scenarios
- Updated workflow documentation to include provider selection
@tsdevautsdevau self-assigned this Jun 5, 2025
@tsdevau
tsdevau requested a review from CopilotJune 5, 2025 13:29
@tsdevautsdevau added the enhancement New feature or request label Jun 5, 2025

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends Diff Commit with support for local Ollama models as an alternative to Anthropic, introducing new configuration options, commands, and documentation updates.

  • Added diffCommit.provider, ollamaHostname, and ollamaModel settings with corresponding defaults
  • Implemented OllamaManager and updated CommitMessageGenerator to branch on provider
  • Registered new commands (Configure Ollama Model, Change Ollama Model) and updated tests and docs

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/configManager.tsAdded provider and Ollama-related fields with defaults
src/ollamaManager.tsNew manager for selecting and changing Ollama host/models
src/commitMessageGenerator.tsExtended generator with Ollama branch, prompt builder, and error handling
src/extension.tsBranched commit command on provider and registered new commands
package.jsonUpdated description, dependencies, and configuration schema
README.mdDocumented Ollama usage, commands, and new config properties
Comments suppressed due to low confidence (2)

src/commitMessageGenerator.ts:151

  • The parameter name 'isIdiotOllamaModel' is unprofessional and unclear. Rename it to something like 'useOllamaFormat' or 'isOllamaProvider' to improve readability and maintainability.
isIdiotOllamaModel: boolean = false,

src/commitMessageGenerator.ts:98

  • There are no unit tests verifying the successful path of 'generateOllamaMessage'. Add tests to ensure that a valid Ollama response produces the expected commit message output.
private async generateOllamaMessage(diff: string, config: CommitConfig): Promise<string | undefined> {

Comment threadsrc/commitMessageGenerator.ts Outdated
Comment threadsrc/ollamaManager.ts Outdated
tsdevau added 3 commits June 5, 2025 23:41
Add optional chaining operators to message.usage property access in console log statements to prevent potential "Cannot read property of undefined" errors when the usage object might not exist.
The commit simplifies the status messages displayed when updating Ollama models by:
- Removing conditional message logic based on hostname selection
- Standardising the success message to always use "updated to"
- Simplifying the error message to consistently use "updating" terminology
- Removing unnecessary variables that were used for message construction
The commit updates the expected status bar messages in the OllamaManager tests to use more consistent and clear wording. It changes "model 'x' selected successfully" and "model 'x' changed to successfully" to the more precise "model updated to 'x' successfully" format, improving readability and consistency across the test suite.

@tsdevautsdevau left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-merging PR with corrected title and minor code fixes.

@tsdevau
tsdevau merged commit 8d0e942 into mainJun 5, 2025
@tsdevau
tsdevau deleted the ollama2 branch June 5, 2025 13:48
tsdevau pushed a commit that referenced this pull request Jun 5, 2025
[0.4.0](diff-commit-v0.3.9...diff-commit-v0.4.0)
(2025-06-05)
### Features, Additions & Updates
* **models:** add support for local Ollama models
([#41](#41))
([8d0e942](8d0e942))
### Work in Progress
* (rp) revert PR for "Add support for local Ollama models
([#39](#39))" to fix format
for RP
([7528a09](7528a09))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tsdevau
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
feat(models): add support for local Ollama models (#39) by tsdevau · Pull Request #41 · tsdevau/diff-commit · GitHub
Skip to content

feat(models): add support for local Ollama models (#39) - #41

Merged
tsdevau merged 4 commits into
mainfrom
ollama2
Jun 5, 2025
Merged

feat(models): add support for local Ollama models (#39) #41
tsdevau merged 4 commits into
mainfrom
ollama2

Conversation

@tsdevau

Copy link
Copy Markdown
Owner
  • Added dual provider support with a new diffCommit.provider configuration option
  • Implemented Ollama integration with model selection and server configuration
  • Added new commands for Ollama setup and model switching:
    • DiffCommit: Configure Ollama Model
    • DiffCommit: Change Ollama Model
  • Added new configuration settings:
    • diffCommit.ollamaHostname for server connection
    • diffCommit.ollamaModel for model selection
  • Updated documentation with Ollama requirements and setup instructions
  • Enhanced error handling for Ollama-specific scenarios
  • Updated workflow documentation to include provider selection

Resolves issue #37

Resolves issue #37
- Added dual provider support with a new `diffCommit.provider` configuration option
- Implemented Ollama integration with model selection and server configuration
- Added new commands for Ollama setup and model switching:
- `DiffCommit: Configure Ollama Model`
- `DiffCommit: Change Ollama Model`
- Added new configuration settings:
- `diffCommit.ollamaHostname` for server connection
- `diffCommit.ollamaModel` for model selection
- Updated documentation with Ollama requirements and setup instructions
- Enhanced error handling for Ollama-specific scenarios
- Updated workflow documentation to include provider selection
@tsdevautsdevau self-assigned this Jun 5, 2025
@tsdevau
tsdevau requested a review from CopilotJune 5, 2025 13:29
@tsdevautsdevau added the enhancement New feature or request label Jun 5, 2025

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends Diff Commit with support for local Ollama models as an alternative to Anthropic, introducing new configuration options, commands, and documentation updates.

  • Added diffCommit.provider, ollamaHostname, and ollamaModel settings with corresponding defaults
  • Implemented OllamaManager and updated CommitMessageGenerator to branch on provider
  • Registered new commands (Configure Ollama Model, Change Ollama Model) and updated tests and docs

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/configManager.tsAdded provider and Ollama-related fields with defaults
src/ollamaManager.tsNew manager for selecting and changing Ollama host/models
src/commitMessageGenerator.tsExtended generator with Ollama branch, prompt builder, and error handling
src/extension.tsBranched commit command on provider and registered new commands
package.jsonUpdated description, dependencies, and configuration schema
README.mdDocumented Ollama usage, commands, and new config properties
Comments suppressed due to low confidence (2)

src/commitMessageGenerator.ts:151

  • The parameter name 'isIdiotOllamaModel' is unprofessional and unclear. Rename it to something like 'useOllamaFormat' or 'isOllamaProvider' to improve readability and maintainability.
isIdiotOllamaModel: boolean = false,

src/commitMessageGenerator.ts:98

  • There are no unit tests verifying the successful path of 'generateOllamaMessage'. Add tests to ensure that a valid Ollama response produces the expected commit message output.
private async generateOllamaMessage(diff: string, config: CommitConfig): Promise<string | undefined> {

Comment threadsrc/commitMessageGenerator.ts Outdated
Comment threadsrc/ollamaManager.ts Outdated
tsdevau added 3 commits June 5, 2025 23:41
Add optional chaining operators to message.usage property access in console log statements to prevent potential "Cannot read property of undefined" errors when the usage object might not exist.
The commit simplifies the status messages displayed when updating Ollama models by:
- Removing conditional message logic based on hostname selection
- Standardising the success message to always use "updated to"
- Simplifying the error message to consistently use "updating" terminology
- Removing unnecessary variables that were used for message construction
The commit updates the expected status bar messages in the OllamaManager tests to use more consistent and clear wording. It changes "model 'x' selected successfully" and "model 'x' changed to successfully" to the more precise "model updated to 'x' successfully" format, improving readability and consistency across the test suite.

@tsdevautsdevau left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-merging PR with corrected title and minor code fixes.

@tsdevau
tsdevau merged commit 8d0e942 into mainJun 5, 2025
@tsdevau
tsdevau deleted the ollama2 branch June 5, 2025 13:48
tsdevau pushed a commit that referenced this pull request Jun 5, 2025
[0.4.0](diff-commit-v0.3.9...diff-commit-v0.4.0)
(2025-06-05)
### Features, Additions & Updates
* **models:** add support for local Ollama models
([#41](#41))
([8d0e942](8d0e942))
### Work in Progress
* (rp) revert PR for "Add support for local Ollama models
([#39](#39))" to fix format
for RP
([7528a09](7528a09))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tsdevau
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(models): add support for local Ollama models (#39) by tsdevau · Pull Request #41 · tsdevau/diff-commit · GitHub
Skip to content

feat(models): add support for local Ollama models (#39) - #41

Merged
tsdevau merged 4 commits into
mainfrom
ollama2
Jun 5, 2025
Merged

feat(models): add support for local Ollama models (#39) #41
tsdevau merged 4 commits into
mainfrom
ollama2

Conversation

@tsdevau

Copy link
Copy Markdown
Owner
  • Added dual provider support with a new diffCommit.provider configuration option
  • Implemented Ollama integration with model selection and server configuration
  • Added new commands for Ollama setup and model switching:
    • DiffCommit: Configure Ollama Model
    • DiffCommit: Change Ollama Model
  • Added new configuration settings:
    • diffCommit.ollamaHostname for server connection
    • diffCommit.ollamaModel for model selection
  • Updated documentation with Ollama requirements and setup instructions
  • Enhanced error handling for Ollama-specific scenarios
  • Updated workflow documentation to include provider selection

Resolves issue #37

Resolves issue #37
- Added dual provider support with a new `diffCommit.provider` configuration option
- Implemented Ollama integration with model selection and server configuration
- Added new commands for Ollama setup and model switching:
- `DiffCommit: Configure Ollama Model`
- `DiffCommit: Change Ollama Model`
- Added new configuration settings:
- `diffCommit.ollamaHostname` for server connection
- `diffCommit.ollamaModel` for model selection
- Updated documentation with Ollama requirements and setup instructions
- Enhanced error handling for Ollama-specific scenarios
- Updated workflow documentation to include provider selection
@tsdevautsdevau self-assigned this Jun 5, 2025
@tsdevau
tsdevau requested a review from CopilotJune 5, 2025 13:29
@tsdevautsdevau added the enhancement New feature or request label Jun 5, 2025

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends Diff Commit with support for local Ollama models as an alternative to Anthropic, introducing new configuration options, commands, and documentation updates.

  • Added diffCommit.provider, ollamaHostname, and ollamaModel settings with corresponding defaults
  • Implemented OllamaManager and updated CommitMessageGenerator to branch on provider
  • Registered new commands (Configure Ollama Model, Change Ollama Model) and updated tests and docs

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/configManager.tsAdded provider and Ollama-related fields with defaults
src/ollamaManager.tsNew manager for selecting and changing Ollama host/models
src/commitMessageGenerator.tsExtended generator with Ollama branch, prompt builder, and error handling
src/extension.tsBranched commit command on provider and registered new commands
package.jsonUpdated description, dependencies, and configuration schema
README.mdDocumented Ollama usage, commands, and new config properties
Comments suppressed due to low confidence (2)

src/commitMessageGenerator.ts:151

  • The parameter name 'isIdiotOllamaModel' is unprofessional and unclear. Rename it to something like 'useOllamaFormat' or 'isOllamaProvider' to improve readability and maintainability.
isIdiotOllamaModel: boolean = false,

src/commitMessageGenerator.ts:98

  • There are no unit tests verifying the successful path of 'generateOllamaMessage'. Add tests to ensure that a valid Ollama response produces the expected commit message output.
private async generateOllamaMessage(diff: string, config: CommitConfig): Promise<string | undefined> {

Comment threadsrc/commitMessageGenerator.ts Outdated
Comment threadsrc/ollamaManager.ts Outdated
tsdevau added 3 commits June 5, 2025 23:41
Add optional chaining operators to message.usage property access in console log statements to prevent potential "Cannot read property of undefined" errors when the usage object might not exist.
The commit simplifies the status messages displayed when updating Ollama models by:
- Removing conditional message logic based on hostname selection
- Standardising the success message to always use "updated to"
- Simplifying the error message to consistently use "updating" terminology
- Removing unnecessary variables that were used for message construction
The commit updates the expected status bar messages in the OllamaManager tests to use more consistent and clear wording. It changes "model 'x' selected successfully" and "model 'x' changed to successfully" to the more precise "model updated to 'x' successfully" format, improving readability and consistency across the test suite.

@tsdevautsdevau left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-merging PR with corrected title and minor code fixes.

@tsdevau
tsdevau merged commit 8d0e942 into mainJun 5, 2025
@tsdevau
tsdevau deleted the ollama2 branch June 5, 2025 13:48
tsdevau pushed a commit that referenced this pull request Jun 5, 2025
[0.4.0](diff-commit-v0.3.9...diff-commit-v0.4.0)
(2025-06-05)
### Features, Additions & Updates
* **models:** add support for local Ollama models
([#41](#41))
([8d0e942](8d0e942))
### Work in Progress
* (rp) revert PR for "Add support for local Ollama models
([#39](#39))" to fix format
for RP
([7528a09](7528a09))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tsdevau
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(models): add support for local Ollama models (#39) by tsdevau · Pull Request #41 · tsdevau/diff-commit · GitHub
Skip to content

feat(models): add support for local Ollama models (#39) - #41

Merged
tsdevau merged 4 commits into
mainfrom
ollama2
Jun 5, 2025
Merged

feat(models): add support for local Ollama models (#39) #41
tsdevau merged 4 commits into
mainfrom
ollama2

Conversation

@tsdevau

Copy link
Copy Markdown
Owner
  • Added dual provider support with a new diffCommit.provider configuration option
  • Implemented Ollama integration with model selection and server configuration
  • Added new commands for Ollama setup and model switching:
    • DiffCommit: Configure Ollama Model
    • DiffCommit: Change Ollama Model
  • Added new configuration settings:
    • diffCommit.ollamaHostname for server connection
    • diffCommit.ollamaModel for model selection
  • Updated documentation with Ollama requirements and setup instructions
  • Enhanced error handling for Ollama-specific scenarios
  • Updated workflow documentation to include provider selection

Resolves issue #37

Resolves issue #37
- Added dual provider support with a new `diffCommit.provider` configuration option
- Implemented Ollama integration with model selection and server configuration
- Added new commands for Ollama setup and model switching:
- `DiffCommit: Configure Ollama Model`
- `DiffCommit: Change Ollama Model`
- Added new configuration settings:
- `diffCommit.ollamaHostname` for server connection
- `diffCommit.ollamaModel` for model selection
- Updated documentation with Ollama requirements and setup instructions
- Enhanced error handling for Ollama-specific scenarios
- Updated workflow documentation to include provider selection
@tsdevautsdevau self-assigned this Jun 5, 2025
@tsdevau
tsdevau requested a review from CopilotJune 5, 2025 13:29
@tsdevautsdevau added the enhancement New feature or request label Jun 5, 2025

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends Diff Commit with support for local Ollama models as an alternative to Anthropic, introducing new configuration options, commands, and documentation updates.

  • Added diffCommit.provider, ollamaHostname, and ollamaModel settings with corresponding defaults
  • Implemented OllamaManager and updated CommitMessageGenerator to branch on provider
  • Registered new commands (Configure Ollama Model, Change Ollama Model) and updated tests and docs

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/configManager.tsAdded provider and Ollama-related fields with defaults
src/ollamaManager.tsNew manager for selecting and changing Ollama host/models
src/commitMessageGenerator.tsExtended generator with Ollama branch, prompt builder, and error handling
src/extension.tsBranched commit command on provider and registered new commands
package.jsonUpdated description, dependencies, and configuration schema
README.mdDocumented Ollama usage, commands, and new config properties
Comments suppressed due to low confidence (2)

src/commitMessageGenerator.ts:151

  • The parameter name 'isIdiotOllamaModel' is unprofessional and unclear. Rename it to something like 'useOllamaFormat' or 'isOllamaProvider' to improve readability and maintainability.
isIdiotOllamaModel: boolean = false,

src/commitMessageGenerator.ts:98

  • There are no unit tests verifying the successful path of 'generateOllamaMessage'. Add tests to ensure that a valid Ollama response produces the expected commit message output.
private async generateOllamaMessage(diff: string, config: CommitConfig): Promise<string | undefined> {

Comment threadsrc/commitMessageGenerator.ts Outdated
Comment threadsrc/ollamaManager.ts Outdated
tsdevau added 3 commits June 5, 2025 23:41
Add optional chaining operators to message.usage property access in console log statements to prevent potential "Cannot read property of undefined" errors when the usage object might not exist.
The commit simplifies the status messages displayed when updating Ollama models by:
- Removing conditional message logic based on hostname selection
- Standardising the success message to always use "updated to"
- Simplifying the error message to consistently use "updating" terminology
- Removing unnecessary variables that were used for message construction
The commit updates the expected status bar messages in the OllamaManager tests to use more consistent and clear wording. It changes "model 'x' selected successfully" and "model 'x' changed to successfully" to the more precise "model updated to 'x' successfully" format, improving readability and consistency across the test suite.

@tsdevautsdevau left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-merging PR with corrected title and minor code fixes.

@tsdevau
tsdevau merged commit 8d0e942 into mainJun 5, 2025
@tsdevau
tsdevau deleted the ollama2 branch June 5, 2025 13:48
tsdevau pushed a commit that referenced this pull request Jun 5, 2025
[0.4.0](diff-commit-v0.3.9...diff-commit-v0.4.0)
(2025-06-05)
### Features, Additions & Updates
* **models:** add support for local Ollama models
([#41](#41))
([8d0e942](8d0e942))
### Work in Progress
* (rp) revert PR for "Add support for local Ollama models
([#39](#39))" to fix format
for RP
([7528a09](7528a09))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tsdevau
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' feat(models): add support for local Ollama models (#39) by tsdevau · Pull Request #41 · tsdevau/diff-commit · GitHub
Skip to content

feat(models): add support for local Ollama models (#39) - #41

Merged
tsdevau merged 4 commits into
mainfrom
ollama2
Jun 5, 2025
Merged

feat(models): add support for local Ollama models (#39) #41
tsdevau merged 4 commits into
mainfrom
ollama2

Conversation

@tsdevau

Copy link
Copy Markdown
Owner
  • Added dual provider support with a new diffCommit.provider configuration option
  • Implemented Ollama integration with model selection and server configuration
  • Added new commands for Ollama setup and model switching:
    • DiffCommit: Configure Ollama Model
    • DiffCommit: Change Ollama Model
  • Added new configuration settings:
    • diffCommit.ollamaHostname for server connection
    • diffCommit.ollamaModel for model selection
  • Updated documentation with Ollama requirements and setup instructions
  • Enhanced error handling for Ollama-specific scenarios
  • Updated workflow documentation to include provider selection

Resolves issue #37

Resolves issue #37
- Added dual provider support with a new `diffCommit.provider` configuration option
- Implemented Ollama integration with model selection and server configuration
- Added new commands for Ollama setup and model switching:
- `DiffCommit: Configure Ollama Model`
- `DiffCommit: Change Ollama Model`
- Added new configuration settings:
- `diffCommit.ollamaHostname` for server connection
- `diffCommit.ollamaModel` for model selection
- Updated documentation with Ollama requirements and setup instructions
- Enhanced error handling for Ollama-specific scenarios
- Updated workflow documentation to include provider selection
@tsdevautsdevau self-assigned this Jun 5, 2025
@tsdevau
tsdevau requested a review from CopilotJune 5, 2025 13:29
@tsdevautsdevau added the enhancement New feature or request label Jun 5, 2025

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends Diff Commit with support for local Ollama models as an alternative to Anthropic, introducing new configuration options, commands, and documentation updates.

  • Added diffCommit.provider, ollamaHostname, and ollamaModel settings with corresponding defaults
  • Implemented OllamaManager and updated CommitMessageGenerator to branch on provider
  • Registered new commands (Configure Ollama Model, Change Ollama Model) and updated tests and docs

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/configManager.tsAdded provider and Ollama-related fields with defaults
src/ollamaManager.tsNew manager for selecting and changing Ollama host/models
src/commitMessageGenerator.tsExtended generator with Ollama branch, prompt builder, and error handling
src/extension.tsBranched commit command on provider and registered new commands
package.jsonUpdated description, dependencies, and configuration schema
README.mdDocumented Ollama usage, commands, and new config properties
Comments suppressed due to low confidence (2)

src/commitMessageGenerator.ts:151

  • The parameter name 'isIdiotOllamaModel' is unprofessional and unclear. Rename it to something like 'useOllamaFormat' or 'isOllamaProvider' to improve readability and maintainability.
isIdiotOllamaModel: boolean = false,

src/commitMessageGenerator.ts:98

  • There are no unit tests verifying the successful path of 'generateOllamaMessage'. Add tests to ensure that a valid Ollama response produces the expected commit message output.
private async generateOllamaMessage(diff: string, config: CommitConfig): Promise<string | undefined> {

Comment threadsrc/commitMessageGenerator.ts Outdated
Comment threadsrc/ollamaManager.ts Outdated
tsdevau added 3 commits June 5, 2025 23:41
Add optional chaining operators to message.usage property access in console log statements to prevent potential "Cannot read property of undefined" errors when the usage object might not exist.
The commit simplifies the status messages displayed when updating Ollama models by:
- Removing conditional message logic based on hostname selection
- Standardising the success message to always use "updated to"
- Simplifying the error message to consistently use "updating" terminology
- Removing unnecessary variables that were used for message construction
The commit updates the expected status bar messages in the OllamaManager tests to use more consistent and clear wording. It changes "model 'x' selected successfully" and "model 'x' changed to successfully" to the more precise "model updated to 'x' successfully" format, improving readability and consistency across the test suite.

@tsdevautsdevau left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-merging PR with corrected title and minor code fixes.

@tsdevau
tsdevau merged commit 8d0e942 into mainJun 5, 2025
@tsdevau
tsdevau deleted the ollama2 branch June 5, 2025 13:48
tsdevau pushed a commit that referenced this pull request Jun 5, 2025
[0.4.0](diff-commit-v0.3.9...diff-commit-v0.4.0)
(2025-06-05)
### Features, Additions & Updates
* **models:** add support for local Ollama models
([#41](#41))
([8d0e942](8d0e942))
### Work in Progress
* (rp) revert PR for "Add support for local Ollama models
([#39](#39))" to fix format
for RP
([7528a09](7528a09))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tsdevau
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(models): add support for local Ollama models (#39) by tsdevau · Pull Request #41 · tsdevau/diff-commit · GitHub
Skip to content

feat(models): add support for local Ollama models (#39) - #41

Merged
tsdevau merged 4 commits into
mainfrom
ollama2
Jun 5, 2025
Merged

feat(models): add support for local Ollama models (#39) #41
tsdevau merged 4 commits into
mainfrom
ollama2

Conversation

@tsdevau

Copy link
Copy Markdown
Owner
  • Added dual provider support with a new diffCommit.provider configuration option
  • Implemented Ollama integration with model selection and server configuration
  • Added new commands for Ollama setup and model switching:
    • DiffCommit: Configure Ollama Model
    • DiffCommit: Change Ollama Model
  • Added new configuration settings:
    • diffCommit.ollamaHostname for server connection
    • diffCommit.ollamaModel for model selection
  • Updated documentation with Ollama requirements and setup instructions
  • Enhanced error handling for Ollama-specific scenarios
  • Updated workflow documentation to include provider selection

Resolves issue #37

Resolves issue #37
- Added dual provider support with a new `diffCommit.provider` configuration option
- Implemented Ollama integration with model selection and server configuration
- Added new commands for Ollama setup and model switching:
- `DiffCommit: Configure Ollama Model`
- `DiffCommit: Change Ollama Model`
- Added new configuration settings:
- `diffCommit.ollamaHostname` for server connection
- `diffCommit.ollamaModel` for model selection
- Updated documentation with Ollama requirements and setup instructions
- Enhanced error handling for Ollama-specific scenarios
- Updated workflow documentation to include provider selection
@tsdevautsdevau self-assigned this Jun 5, 2025
@tsdevau
tsdevau requested a review from CopilotJune 5, 2025 13:29
@tsdevautsdevau added the enhancement New feature or request label Jun 5, 2025

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends Diff Commit with support for local Ollama models as an alternative to Anthropic, introducing new configuration options, commands, and documentation updates.

  • Added diffCommit.provider, ollamaHostname, and ollamaModel settings with corresponding defaults
  • Implemented OllamaManager and updated CommitMessageGenerator to branch on provider
  • Registered new commands (Configure Ollama Model, Change Ollama Model) and updated tests and docs

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/configManager.tsAdded provider and Ollama-related fields with defaults
src/ollamaManager.tsNew manager for selecting and changing Ollama host/models
src/commitMessageGenerator.tsExtended generator with Ollama branch, prompt builder, and error handling
src/extension.tsBranched commit command on provider and registered new commands
package.jsonUpdated description, dependencies, and configuration schema
README.mdDocumented Ollama usage, commands, and new config properties
Comments suppressed due to low confidence (2)

src/commitMessageGenerator.ts:151

  • The parameter name 'isIdiotOllamaModel' is unprofessional and unclear. Rename it to something like 'useOllamaFormat' or 'isOllamaProvider' to improve readability and maintainability.
isIdiotOllamaModel: boolean = false,

src/commitMessageGenerator.ts:98

  • There are no unit tests verifying the successful path of 'generateOllamaMessage'. Add tests to ensure that a valid Ollama response produces the expected commit message output.
private async generateOllamaMessage(diff: string, config: CommitConfig): Promise<string | undefined> {

Comment threadsrc/commitMessageGenerator.ts Outdated
Comment threadsrc/ollamaManager.ts Outdated
tsdevau added 3 commits June 5, 2025 23:41
Add optional chaining operators to message.usage property access in console log statements to prevent potential "Cannot read property of undefined" errors when the usage object might not exist.
The commit simplifies the status messages displayed when updating Ollama models by:
- Removing conditional message logic based on hostname selection
- Standardising the success message to always use "updated to"
- Simplifying the error message to consistently use "updating" terminology
- Removing unnecessary variables that were used for message construction
The commit updates the expected status bar messages in the OllamaManager tests to use more consistent and clear wording. It changes "model 'x' selected successfully" and "model 'x' changed to successfully" to the more precise "model updated to 'x' successfully" format, improving readability and consistency across the test suite.

@tsdevautsdevau left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-merging PR with corrected title and minor code fixes.

@tsdevau
tsdevau merged commit 8d0e942 into mainJun 5, 2025
@tsdevau
tsdevau deleted the ollama2 branch June 5, 2025 13:48
tsdevau pushed a commit that referenced this pull request Jun 5, 2025
[0.4.0](diff-commit-v0.3.9...diff-commit-v0.4.0)
(2025-06-05)
### Features, Additions & Updates
* **models:** add support for local Ollama models
([#41](#41))
([8d0e942](8d0e942))
### Work in Progress
* (rp) revert PR for "Add support for local Ollama models
([#39](#39))" to fix format
for RP
([7528a09](7528a09))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tsdevau
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(models): add support for local Ollama models (#39) by tsdevau · Pull Request #41 · tsdevau/diff-commit · GitHub
Skip to content

feat(models): add support for local Ollama models (#39) - #41

Merged
tsdevau merged 4 commits into
mainfrom
ollama2
Jun 5, 2025
Merged

feat(models): add support for local Ollama models (#39) #41
tsdevau merged 4 commits into
mainfrom
ollama2

Conversation

@tsdevau

Copy link
Copy Markdown
Owner
  • Added dual provider support with a new diffCommit.provider configuration option
  • Implemented Ollama integration with model selection and server configuration
  • Added new commands for Ollama setup and model switching:
    • DiffCommit: Configure Ollama Model
    • DiffCommit: Change Ollama Model
  • Added new configuration settings:
    • diffCommit.ollamaHostname for server connection
    • diffCommit.ollamaModel for model selection
  • Updated documentation with Ollama requirements and setup instructions
  • Enhanced error handling for Ollama-specific scenarios
  • Updated workflow documentation to include provider selection

Resolves issue #37

Resolves issue #37
- Added dual provider support with a new `diffCommit.provider` configuration option
- Implemented Ollama integration with model selection and server configuration
- Added new commands for Ollama setup and model switching:
- `DiffCommit: Configure Ollama Model`
- `DiffCommit: Change Ollama Model`
- Added new configuration settings:
- `diffCommit.ollamaHostname` for server connection
- `diffCommit.ollamaModel` for model selection
- Updated documentation with Ollama requirements and setup instructions
- Enhanced error handling for Ollama-specific scenarios
- Updated workflow documentation to include provider selection
@tsdevautsdevau self-assigned this Jun 5, 2025
@tsdevau
tsdevau requested a review from CopilotJune 5, 2025 13:29
@tsdevautsdevau added the enhancement New feature or request label Jun 5, 2025

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends Diff Commit with support for local Ollama models as an alternative to Anthropic, introducing new configuration options, commands, and documentation updates.

  • Added diffCommit.provider, ollamaHostname, and ollamaModel settings with corresponding defaults
  • Implemented OllamaManager and updated CommitMessageGenerator to branch on provider
  • Registered new commands (Configure Ollama Model, Change Ollama Model) and updated tests and docs

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/configManager.tsAdded provider and Ollama-related fields with defaults
src/ollamaManager.tsNew manager for selecting and changing Ollama host/models
src/commitMessageGenerator.tsExtended generator with Ollama branch, prompt builder, and error handling
src/extension.tsBranched commit command on provider and registered new commands
package.jsonUpdated description, dependencies, and configuration schema
README.mdDocumented Ollama usage, commands, and new config properties
Comments suppressed due to low confidence (2)

src/commitMessageGenerator.ts:151

  • The parameter name 'isIdiotOllamaModel' is unprofessional and unclear. Rename it to something like 'useOllamaFormat' or 'isOllamaProvider' to improve readability and maintainability.
isIdiotOllamaModel: boolean = false,

src/commitMessageGenerator.ts:98

  • There are no unit tests verifying the successful path of 'generateOllamaMessage'. Add tests to ensure that a valid Ollama response produces the expected commit message output.
private async generateOllamaMessage(diff: string, config: CommitConfig): Promise<string | undefined> {

Comment threadsrc/commitMessageGenerator.ts Outdated
Comment threadsrc/ollamaManager.ts Outdated
tsdevau added 3 commits June 5, 2025 23:41
Add optional chaining operators to message.usage property access in console log statements to prevent potential "Cannot read property of undefined" errors when the usage object might not exist.
The commit simplifies the status messages displayed when updating Ollama models by:
- Removing conditional message logic based on hostname selection
- Standardising the success message to always use "updated to"
- Simplifying the error message to consistently use "updating" terminology
- Removing unnecessary variables that were used for message construction
The commit updates the expected status bar messages in the OllamaManager tests to use more consistent and clear wording. It changes "model 'x' selected successfully" and "model 'x' changed to successfully" to the more precise "model updated to 'x' successfully" format, improving readability and consistency across the test suite.

@tsdevautsdevau left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-merging PR with corrected title and minor code fixes.

@tsdevau
tsdevau merged commit 8d0e942 into mainJun 5, 2025
@tsdevau
tsdevau deleted the ollama2 branch June 5, 2025 13:48
tsdevau pushed a commit that referenced this pull request Jun 5, 2025
[0.4.0](diff-commit-v0.3.9...diff-commit-v0.4.0)
(2025-06-05)
### Features, Additions & Updates
* **models:** add support for local Ollama models
([#41](#41))
([8d0e942](8d0e942))
### Work in Progress
* (rp) revert PR for "Add support for local Ollama models
([#39](#39))" to fix format
for RP
([7528a09](7528a09))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tsdevau
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); feat(models): add support for local Ollama models (#39) by tsdevau · Pull Request #41 · tsdevau/diff-commit · GitHub
Skip to content

feat(models): add support for local Ollama models (#39) - #41

Merged
tsdevau merged 4 commits into
mainfrom
ollama2
Jun 5, 2025
Merged

feat(models): add support for local Ollama models (#39) #41
tsdevau merged 4 commits into
mainfrom
ollama2

Conversation

@tsdevau

Copy link
Copy Markdown
Owner
  • Added dual provider support with a new diffCommit.provider configuration option
  • Implemented Ollama integration with model selection and server configuration
  • Added new commands for Ollama setup and model switching:
    • DiffCommit: Configure Ollama Model
    • DiffCommit: Change Ollama Model
  • Added new configuration settings:
    • diffCommit.ollamaHostname for server connection
    • diffCommit.ollamaModel for model selection
  • Updated documentation with Ollama requirements and setup instructions
  • Enhanced error handling for Ollama-specific scenarios
  • Updated workflow documentation to include provider selection

Resolves issue #37

Resolves issue #37
- Added dual provider support with a new `diffCommit.provider` configuration option
- Implemented Ollama integration with model selection and server configuration
- Added new commands for Ollama setup and model switching:
- `DiffCommit: Configure Ollama Model`
- `DiffCommit: Change Ollama Model`
- Added new configuration settings:
- `diffCommit.ollamaHostname` for server connection
- `diffCommit.ollamaModel` for model selection
- Updated documentation with Ollama requirements and setup instructions
- Enhanced error handling for Ollama-specific scenarios
- Updated workflow documentation to include provider selection
@tsdevautsdevau self-assigned this Jun 5, 2025
@tsdevau
tsdevau requested a review from CopilotJune 5, 2025 13:29
@tsdevautsdevau added the enhancement New feature or request label Jun 5, 2025

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends Diff Commit with support for local Ollama models as an alternative to Anthropic, introducing new configuration options, commands, and documentation updates.

  • Added diffCommit.provider, ollamaHostname, and ollamaModel settings with corresponding defaults
  • Implemented OllamaManager and updated CommitMessageGenerator to branch on provider
  • Registered new commands (Configure Ollama Model, Change Ollama Model) and updated tests and docs

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/configManager.tsAdded provider and Ollama-related fields with defaults
src/ollamaManager.tsNew manager for selecting and changing Ollama host/models
src/commitMessageGenerator.tsExtended generator with Ollama branch, prompt builder, and error handling
src/extension.tsBranched commit command on provider and registered new commands
package.jsonUpdated description, dependencies, and configuration schema
README.mdDocumented Ollama usage, commands, and new config properties
Comments suppressed due to low confidence (2)

src/commitMessageGenerator.ts:151

  • The parameter name 'isIdiotOllamaModel' is unprofessional and unclear. Rename it to something like 'useOllamaFormat' or 'isOllamaProvider' to improve readability and maintainability.
isIdiotOllamaModel: boolean = false,

src/commitMessageGenerator.ts:98

  • There are no unit tests verifying the successful path of 'generateOllamaMessage'. Add tests to ensure that a valid Ollama response produces the expected commit message output.
private async generateOllamaMessage(diff: string, config: CommitConfig): Promise<string | undefined> {

Comment threadsrc/commitMessageGenerator.ts Outdated
Comment threadsrc/ollamaManager.ts Outdated
tsdevau added 3 commits June 5, 2025 23:41
Add optional chaining operators to message.usage property access in console log statements to prevent potential "Cannot read property of undefined" errors when the usage object might not exist.
The commit simplifies the status messages displayed when updating Ollama models by:
- Removing conditional message logic based on hostname selection
- Standardising the success message to always use "updated to"
- Simplifying the error message to consistently use "updating" terminology
- Removing unnecessary variables that were used for message construction
The commit updates the expected status bar messages in the OllamaManager tests to use more consistent and clear wording. It changes "model 'x' selected successfully" and "model 'x' changed to successfully" to the more precise "model updated to 'x' successfully" format, improving readability and consistency across the test suite.

@tsdevautsdevau left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-merging PR with corrected title and minor code fixes.

@tsdevau
tsdevau merged commit 8d0e942 into mainJun 5, 2025
@tsdevau
tsdevau deleted the ollama2 branch June 5, 2025 13:48
tsdevau pushed a commit that referenced this pull request Jun 5, 2025
[0.4.0](diff-commit-v0.3.9...diff-commit-v0.4.0)
(2025-06-05)
### Features, Additions & Updates
* **models:** add support for local Ollama models
([#41](#41))
([8d0e942](8d0e942))
### Work in Progress
* (rp) revert PR for "Add support for local Ollama models
([#39](#39))" to fix format
for RP
([7528a09](7528a09))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tsdevau