Repository files navigation

OpenWordCode

OpenWordCode logo

AI assistance for Microsoft Word

OpenWordCode puts an AI agent in Word. Ask it to read, explain, rewrite, or edit your document while you stay in Word.

Created and maintained by Liko · MIT License

Features

  • Chat with the current document, selection, tables, and images.
  • Rewrite, summarize, review, format, draft, and create document content.
  • Review proposed edits before they reach Word, then apply or revert them.
  • Use manual approval, automatic approval, or skip approvals.
  • Attach or drag in PDFs and images, and paste images with Ctrl+V.
  • Preview uploaded images and open them for a closer look.
  • Connect multiple providers and switch providers and models from the chat.
  • Sign in with supported OAuth flows or official local CLI sessions.
  • Search the web, load AI skills, keep chat history, and start new tasks.
  • See context usage and automatically compact long conversations.

OpenWordCode is in early development. Provider availability and Word features depend on your account and installed Microsoft Word version.

Requirements

  • Windows 10 or Windows 11
  • Microsoft Word Desktop with Office Add-ins enabled
  • Node.js 20 or newer

Install and run

git clone https://github.com/LikoKiko/OpenWordCode.git
cd OpenWordCode
npm ci
Copy-Item .env.example .env
npm run cert:install
npm run dev

Keep that terminal running. The local services use these addresses:

ServiceAddress
Word task panehttps://localhost:3000
Corehttp://127.0.0.1:10200
Bridgehttp://127.0.0.1:10101

Open https://localhost:3000 once in your browser and accept the local development certificate warning. Then open a second terminal and run:

npm run sideload

Open Word and choose Home → Add-ins → OpenWordCode.

When you are finished:

npm run unsideload

Use it in Word

  1. Open Settings in the task pane and connect a provider.
  2. Return to Chat, choose the provider and model you want to use.
  3. Type a request, select text in Word, or attach a file.
  4. Review the proposed change and apply it when it looks right.

Try prompts like:

Summarize this document in five bullet points.
Rewrite the selected paragraph to sound clearer and more professional.
Redesign the selected table without changing its content.

API-key entry is intentionally not shown in the public Word interface. Use the OpenWordCode Bridge, supported OAuth, or an official provider CLI session. See docs/AUTHENTICATION.md for provider setup details.

Useful commands

CommandWhat it does
npm run devStart the Core and Word task pane
npm run doctorCheck the local setup
npm run providersList configured providers
npm run modelsList available models
npm testRun tests
npm run typecheckCheck TypeScript
npm run buildBuild the task pane

Project layout

apps/core/ Local Core, authentication, Bridge, and agent server
apps/word-addin/ React task pane and Office manifest
packages/agent-core Agent prompts and tools
packages/app-word Word and in-memory document adapters
packages/providers Provider connections and model discovery
packages/shared Shared types and protocols
tests/ Automated tests
docs/ Authentication, privacy, and project notes

Security and privacy

  • .env and local credential data are ignored by Git. Never commit secrets.
  • Credentials stay in the local Core credential store where possible.
  • Cloud providers receive the document context and attachments needed for a request. Do not send sensitive documents unless you trust that provider.
  • The local console tool is bounded and read-only in this development version.
  • There is no hosted OpenWordCode backend or billing system in this repository.

Read SECURITY.md and docs/PRIVACY.md before sharing the project with other users.

Contributing

npm ci
npm run typecheck
npm test
npm run build

Please read CONTRIBUTING.md, open an issue for bugs or ideas, and send a pull request for changes.

Credits and license

OpenWordCode was created by Liko and is released under the MIT License.

See ATTRIBUTIONS.md for third-party notices. Microsoft Word, Office.js, and provider names belong to their respective owners.

About

Open-source AI document agent for Microsoft Word

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

OpenWordCode

OpenWordCode logo

AI assistance for Microsoft Word

OpenWordCode puts an AI agent in Word. Ask it to read, explain, rewrite, or edit your document while you stay in Word.

Created and maintained by Liko · MIT License

Features

  • Chat with the current document, selection, tables, and images.
  • Rewrite, summarize, review, format, draft, and create document content.
  • Review proposed edits before they reach Word, then apply or revert them.
  • Use manual approval, automatic approval, or skip approvals.
  • Attach or drag in PDFs and images, and paste images with Ctrl+V.
  • Preview uploaded images and open them for a closer look.
  • Connect multiple providers and switch providers and models from the chat.
  • Sign in with supported OAuth flows or official local CLI sessions.
  • Search the web, load AI skills, keep chat history, and start new tasks.
  • See context usage and automatically compact long conversations.

OpenWordCode is in early development. Provider availability and Word features depend on your account and installed Microsoft Word version.

Requirements

  • Windows 10 or Windows 11
  • Microsoft Word Desktop with Office Add-ins enabled
  • Node.js 20 or newer

Install and run

git clone https://github.com/LikoKiko/OpenWordCode.git
cd OpenWordCode
npm ci
Copy-Item .env.example .env
npm run cert:install
npm run dev

Keep that terminal running. The local services use these addresses:

ServiceAddress
Word task panehttps://localhost:3000
Corehttp://127.0.0.1:10200
Bridgehttp://127.0.0.1:10101

Open https://localhost:3000 once in your browser and accept the local development certificate warning. Then open a second terminal and run:

npm run sideload

Open Word and choose Home → Add-ins → OpenWordCode.

When you are finished:

npm run unsideload

Use it in Word

  1. Open Settings in the task pane and connect a provider.
  2. Return to Chat, choose the provider and model you want to use.
  3. Type a request, select text in Word, or attach a file.
  4. Review the proposed change and apply it when it looks right.

Try prompts like:

Summarize this document in five bullet points.
Rewrite the selected paragraph to sound clearer and more professional.
Redesign the selected table without changing its content.

API-key entry is intentionally not shown in the public Word interface. Use the OpenWordCode Bridge, supported OAuth, or an official provider CLI session. See docs/AUTHENTICATION.md for provider setup details.

Useful commands

CommandWhat it does
npm run devStart the Core and Word task pane
npm run doctorCheck the local setup
npm run providersList configured providers
npm run modelsList available models
npm testRun tests
npm run typecheckCheck TypeScript
npm run buildBuild the task pane

Project layout

apps/core/ Local Core, authentication, Bridge, and agent server
apps/word-addin/ React task pane and Office manifest
packages/agent-core Agent prompts and tools
packages/app-word Word and in-memory document adapters
packages/providers Provider connections and model discovery
packages/shared Shared types and protocols
tests/ Automated tests
docs/ Authentication, privacy, and project notes

Security and privacy

  • .env and local credential data are ignored by Git. Never commit secrets.
  • Credentials stay in the local Core credential store where possible.
  • Cloud providers receive the document context and attachments needed for a request. Do not send sensitive documents unless you trust that provider.
  • The local console tool is bounded and read-only in this development version.
  • There is no hosted OpenWordCode backend or billing system in this repository.

Read SECURITY.md and docs/PRIVACY.md before sharing the project with other users.

Contributing

npm ci
npm run typecheck
npm test
npm run build

Please read CONTRIBUTING.md, open an issue for bugs or ideas, and send a pull request for changes.

Credits and license

OpenWordCode was created by Liko and is released under the MIT License.

See ATTRIBUTIONS.md for third-party notices. Microsoft Word, Office.js, and provider names belong to their respective owners.

About

Open-source AI document agent for Microsoft Word

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

OpenWordCode

OpenWordCode logo

AI assistance for Microsoft Word

OpenWordCode puts an AI agent in Word. Ask it to read, explain, rewrite, or edit your document while you stay in Word.

Created and maintained by Liko · MIT License

Features

  • Chat with the current document, selection, tables, and images.
  • Rewrite, summarize, review, format, draft, and create document content.
  • Review proposed edits before they reach Word, then apply or revert them.
  • Use manual approval, automatic approval, or skip approvals.
  • Attach or drag in PDFs and images, and paste images with Ctrl+V.
  • Preview uploaded images and open them for a closer look.
  • Connect multiple providers and switch providers and models from the chat.
  • Sign in with supported OAuth flows or official local CLI sessions.
  • Search the web, load AI skills, keep chat history, and start new tasks.
  • See context usage and automatically compact long conversations.

OpenWordCode is in early development. Provider availability and Word features depend on your account and installed Microsoft Word version.

Requirements

  • Windows 10 or Windows 11
  • Microsoft Word Desktop with Office Add-ins enabled
  • Node.js 20 or newer

Install and run

git clone https://github.com/LikoKiko/OpenWordCode.git
cd OpenWordCode
npm ci
Copy-Item .env.example .env
npm run cert:install
npm run dev

Keep that terminal running. The local services use these addresses:

ServiceAddress
Word task panehttps://localhost:3000
Corehttp://127.0.0.1:10200
Bridgehttp://127.0.0.1:10101

Open https://localhost:3000 once in your browser and accept the local development certificate warning. Then open a second terminal and run:

npm run sideload

Open Word and choose Home → Add-ins → OpenWordCode.

When you are finished:

npm run unsideload

Use it in Word

  1. Open Settings in the task pane and connect a provider.
  2. Return to Chat, choose the provider and model you want to use.
  3. Type a request, select text in Word, or attach a file.
  4. Review the proposed change and apply it when it looks right.

Try prompts like:

Summarize this document in five bullet points.
Rewrite the selected paragraph to sound clearer and more professional.
Redesign the selected table without changing its content.

API-key entry is intentionally not shown in the public Word interface. Use the OpenWordCode Bridge, supported OAuth, or an official provider CLI session. See docs/AUTHENTICATION.md for provider setup details.

Useful commands

CommandWhat it does
npm run devStart the Core and Word task pane
npm run doctorCheck the local setup
npm run providersList configured providers
npm run modelsList available models
npm testRun tests
npm run typecheckCheck TypeScript
npm run buildBuild the task pane

Project layout

apps/core/ Local Core, authentication, Bridge, and agent server
apps/word-addin/ React task pane and Office manifest
packages/agent-core Agent prompts and tools
packages/app-word Word and in-memory document adapters
packages/providers Provider connections and model discovery
packages/shared Shared types and protocols
tests/ Automated tests
docs/ Authentication, privacy, and project notes

Security and privacy

  • .env and local credential data are ignored by Git. Never commit secrets.
  • Credentials stay in the local Core credential store where possible.
  • Cloud providers receive the document context and attachments needed for a request. Do not send sensitive documents unless you trust that provider.
  • The local console tool is bounded and read-only in this development version.
  • There is no hosted OpenWordCode backend or billing system in this repository.

Read SECURITY.md and docs/PRIVACY.md before sharing the project with other users.

Contributing

npm ci
npm run typecheck
npm test
npm run build

Please read CONTRIBUTING.md, open an issue for bugs or ideas, and send a pull request for changes.

Credits and license

OpenWordCode was created by Liko and is released under the MIT License.

See ATTRIBUTIONS.md for third-party notices. Microsoft Word, Office.js, and provider names belong to their respective owners.

About

Open-source AI document agent for Microsoft Word

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

OpenWordCode

OpenWordCode logo

AI assistance for Microsoft Word

OpenWordCode puts an AI agent in Word. Ask it to read, explain, rewrite, or edit your document while you stay in Word.

Created and maintained by Liko · MIT License

Features

  • Chat with the current document, selection, tables, and images.
  • Rewrite, summarize, review, format, draft, and create document content.
  • Review proposed edits before they reach Word, then apply or revert them.
  • Use manual approval, automatic approval, or skip approvals.
  • Attach or drag in PDFs and images, and paste images with Ctrl+V.
  • Preview uploaded images and open them for a closer look.
  • Connect multiple providers and switch providers and models from the chat.
  • Sign in with supported OAuth flows or official local CLI sessions.
  • Search the web, load AI skills, keep chat history, and start new tasks.
  • See context usage and automatically compact long conversations.

OpenWordCode is in early development. Provider availability and Word features depend on your account and installed Microsoft Word version.

Requirements

  • Windows 10 or Windows 11
  • Microsoft Word Desktop with Office Add-ins enabled
  • Node.js 20 or newer

Install and run

git clone https://github.com/LikoKiko/OpenWordCode.git
cd OpenWordCode
npm ci
Copy-Item .env.example .env
npm run cert:install
npm run dev

Keep that terminal running. The local services use these addresses:

ServiceAddress
Word task panehttps://localhost:3000
Corehttp://127.0.0.1:10200
Bridgehttp://127.0.0.1:10101

Open https://localhost:3000 once in your browser and accept the local development certificate warning. Then open a second terminal and run:

npm run sideload

Open Word and choose Home → Add-ins → OpenWordCode.

When you are finished:

npm run unsideload

Use it in Word

  1. Open Settings in the task pane and connect a provider.
  2. Return to Chat, choose the provider and model you want to use.
  3. Type a request, select text in Word, or attach a file.
  4. Review the proposed change and apply it when it looks right.

Try prompts like:

Summarize this document in five bullet points.
Rewrite the selected paragraph to sound clearer and more professional.
Redesign the selected table without changing its content.

API-key entry is intentionally not shown in the public Word interface. Use the OpenWordCode Bridge, supported OAuth, or an official provider CLI session. See docs/AUTHENTICATION.md for provider setup details.

Useful commands

CommandWhat it does
npm run devStart the Core and Word task pane
npm run doctorCheck the local setup
npm run providersList configured providers
npm run modelsList available models
npm testRun tests
npm run typecheckCheck TypeScript
npm run buildBuild the task pane

Project layout

apps/core/ Local Core, authentication, Bridge, and agent server
apps/word-addin/ React task pane and Office manifest
packages/agent-core Agent prompts and tools
packages/app-word Word and in-memory document adapters
packages/providers Provider connections and model discovery
packages/shared Shared types and protocols
tests/ Automated tests
docs/ Authentication, privacy, and project notes

Security and privacy

  • .env and local credential data are ignored by Git. Never commit secrets.
  • Credentials stay in the local Core credential store where possible.
  • Cloud providers receive the document context and attachments needed for a request. Do not send sensitive documents unless you trust that provider.
  • The local console tool is bounded and read-only in this development version.
  • There is no hosted OpenWordCode backend or billing system in this repository.

Read SECURITY.md and docs/PRIVACY.md before sharing the project with other users.

Contributing

npm ci
npm run typecheck
npm test
npm run build

Please read CONTRIBUTING.md, open an issue for bugs or ideas, and send a pull request for changes.

Credits and license

OpenWordCode was created by Liko and is released under the MIT License.

See ATTRIBUTIONS.md for third-party notices. Microsoft Word, Office.js, and provider names belong to their respective owners.

About

Open-source AI document agent for Microsoft Word

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

OpenWordCode

OpenWordCode logo

AI assistance for Microsoft Word

OpenWordCode puts an AI agent in Word. Ask it to read, explain, rewrite, or edit your document while you stay in Word.

Created and maintained by Liko · MIT License

Features

  • Chat with the current document, selection, tables, and images.
  • Rewrite, summarize, review, format, draft, and create document content.
  • Review proposed edits before they reach Word, then apply or revert them.
  • Use manual approval, automatic approval, or skip approvals.
  • Attach or drag in PDFs and images, and paste images with Ctrl+V.
  • Preview uploaded images and open them for a closer look.
  • Connect multiple providers and switch providers and models from the chat.
  • Sign in with supported OAuth flows or official local CLI sessions.
  • Search the web, load AI skills, keep chat history, and start new tasks.
  • See context usage and automatically compact long conversations.

OpenWordCode is in early development. Provider availability and Word features depend on your account and installed Microsoft Word version.

Requirements

  • Windows 10 or Windows 11
  • Microsoft Word Desktop with Office Add-ins enabled
  • Node.js 20 or newer

Install and run

git clone https://github.com/LikoKiko/OpenWordCode.git
cd OpenWordCode
npm ci
Copy-Item .env.example .env
npm run cert:install
npm run dev

Keep that terminal running. The local services use these addresses:

ServiceAddress
Word task panehttps://localhost:3000
Corehttp://127.0.0.1:10200
Bridgehttp://127.0.0.1:10101

Open https://localhost:3000 once in your browser and accept the local development certificate warning. Then open a second terminal and run:

npm run sideload

Open Word and choose Home → Add-ins → OpenWordCode.

When you are finished:

npm run unsideload

Use it in Word

  1. Open Settings in the task pane and connect a provider.
  2. Return to Chat, choose the provider and model you want to use.
  3. Type a request, select text in Word, or attach a file.
  4. Review the proposed change and apply it when it looks right.

Try prompts like:

Summarize this document in five bullet points.
Rewrite the selected paragraph to sound clearer and more professional.
Redesign the selected table without changing its content.

API-key entry is intentionally not shown in the public Word interface. Use the OpenWordCode Bridge, supported OAuth, or an official provider CLI session. See docs/AUTHENTICATION.md for provider setup details.

Useful commands

CommandWhat it does
npm run devStart the Core and Word task pane
npm run doctorCheck the local setup
npm run providersList configured providers
npm run modelsList available models
npm testRun tests
npm run typecheckCheck TypeScript
npm run buildBuild the task pane

Project layout

apps/core/ Local Core, authentication, Bridge, and agent server
apps/word-addin/ React task pane and Office manifest
packages/agent-core Agent prompts and tools
packages/app-word Word and in-memory document adapters
packages/providers Provider connections and model discovery
packages/shared Shared types and protocols
tests/ Automated tests
docs/ Authentication, privacy, and project notes

Security and privacy

  • .env and local credential data are ignored by Git. Never commit secrets.
  • Credentials stay in the local Core credential store where possible.
  • Cloud providers receive the document context and attachments needed for a request. Do not send sensitive documents unless you trust that provider.
  • The local console tool is bounded and read-only in this development version.
  • There is no hosted OpenWordCode backend or billing system in this repository.

Read SECURITY.md and docs/PRIVACY.md before sharing the project with other users.

Contributing

npm ci
npm run typecheck
npm test
npm run build

Please read CONTRIBUTING.md, open an issue for bugs or ideas, and send a pull request for changes.

Credits and license

OpenWordCode was created by Liko and is released under the MIT License.

See ATTRIBUTIONS.md for third-party notices. Microsoft Word, Office.js, and provider names belong to their respective owners.

About

Open-source AI document agent for Microsoft Word

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

OpenWordCode

OpenWordCode logo

AI assistance for Microsoft Word

OpenWordCode puts an AI agent in Word. Ask it to read, explain, rewrite, or edit your document while you stay in Word.

Created and maintained by Liko · MIT License

Features

  • Chat with the current document, selection, tables, and images.
  • Rewrite, summarize, review, format, draft, and create document content.
  • Review proposed edits before they reach Word, then apply or revert them.
  • Use manual approval, automatic approval, or skip approvals.
  • Attach or drag in PDFs and images, and paste images with Ctrl+V.
  • Preview uploaded images and open them for a closer look.
  • Connect multiple providers and switch providers and models from the chat.
  • Sign in with supported OAuth flows or official local CLI sessions.
  • Search the web, load AI skills, keep chat history, and start new tasks.
  • See context usage and automatically compact long conversations.

OpenWordCode is in early development. Provider availability and Word features depend on your account and installed Microsoft Word version.

Requirements

  • Windows 10 or Windows 11
  • Microsoft Word Desktop with Office Add-ins enabled
  • Node.js 20 or newer

Install and run

git clone https://github.com/LikoKiko/OpenWordCode.git
cd OpenWordCode
npm ci
Copy-Item .env.example .env
npm run cert:install
npm run dev

Keep that terminal running. The local services use these addresses:

ServiceAddress
Word task panehttps://localhost:3000
Corehttp://127.0.0.1:10200
Bridgehttp://127.0.0.1:10101

Open https://localhost:3000 once in your browser and accept the local development certificate warning. Then open a second terminal and run:

npm run sideload

Open Word and choose Home → Add-ins → OpenWordCode.

When you are finished:

npm run unsideload

Use it in Word

  1. Open Settings in the task pane and connect a provider.
  2. Return to Chat, choose the provider and model you want to use.
  3. Type a request, select text in Word, or attach a file.
  4. Review the proposed change and apply it when it looks right.

Try prompts like:

Summarize this document in five bullet points.
Rewrite the selected paragraph to sound clearer and more professional.
Redesign the selected table without changing its content.

API-key entry is intentionally not shown in the public Word interface. Use the OpenWordCode Bridge, supported OAuth, or an official provider CLI session. See docs/AUTHENTICATION.md for provider setup details.

Useful commands

CommandWhat it does
npm run devStart the Core and Word task pane
npm run doctorCheck the local setup
npm run providersList configured providers
npm run modelsList available models
npm testRun tests
npm run typecheckCheck TypeScript
npm run buildBuild the task pane

Project layout

apps/core/ Local Core, authentication, Bridge, and agent server
apps/word-addin/ React task pane and Office manifest
packages/agent-core Agent prompts and tools
packages/app-word Word and in-memory document adapters
packages/providers Provider connections and model discovery
packages/shared Shared types and protocols
tests/ Automated tests
docs/ Authentication, privacy, and project notes

Security and privacy

  • .env and local credential data are ignored by Git. Never commit secrets.
  • Credentials stay in the local Core credential store where possible.
  • Cloud providers receive the document context and attachments needed for a request. Do not send sensitive documents unless you trust that provider.
  • The local console tool is bounded and read-only in this development version.
  • There is no hosted OpenWordCode backend or billing system in this repository.

Read SECURITY.md and docs/PRIVACY.md before sharing the project with other users.

Contributing

npm ci
npm run typecheck
npm test
npm run build

Please read CONTRIBUTING.md, open an issue for bugs or ideas, and send a pull request for changes.

Credits and license

OpenWordCode was created by Liko and is released under the MIT License.

See ATTRIBUTIONS.md for third-party notices. Microsoft Word, Office.js, and provider names belong to their respective owners.

About

Open-source AI document agent for Microsoft Word

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

OpenWordCode

OpenWordCode logo

AI assistance for Microsoft Word

OpenWordCode puts an AI agent in Word. Ask it to read, explain, rewrite, or edit your document while you stay in Word.

Created and maintained by Liko · MIT License

Features

  • Chat with the current document, selection, tables, and images.
  • Rewrite, summarize, review, format, draft, and create document content.
  • Review proposed edits before they reach Word, then apply or revert them.
  • Use manual approval, automatic approval, or skip approvals.
  • Attach or drag in PDFs and images, and paste images with Ctrl+V.
  • Preview uploaded images and open them for a closer look.
  • Connect multiple providers and switch providers and models from the chat.
  • Sign in with supported OAuth flows or official local CLI sessions.
  • Search the web, load AI skills, keep chat history, and start new tasks.
  • See context usage and automatically compact long conversations.

OpenWordCode is in early development. Provider availability and Word features depend on your account and installed Microsoft Word version.

Requirements

  • Windows 10 or Windows 11
  • Microsoft Word Desktop with Office Add-ins enabled
  • Node.js 20 or newer

Install and run

git clone https://github.com/LikoKiko/OpenWordCode.git
cd OpenWordCode
npm ci
Copy-Item .env.example .env
npm run cert:install
npm run dev

Keep that terminal running. The local services use these addresses:

ServiceAddress
Word task panehttps://localhost:3000
Corehttp://127.0.0.1:10200
Bridgehttp://127.0.0.1:10101

Open https://localhost:3000 once in your browser and accept the local development certificate warning. Then open a second terminal and run:

npm run sideload

Open Word and choose Home → Add-ins → OpenWordCode.

When you are finished:

npm run unsideload

Use it in Word

  1. Open Settings in the task pane and connect a provider.
  2. Return to Chat, choose the provider and model you want to use.
  3. Type a request, select text in Word, or attach a file.
  4. Review the proposed change and apply it when it looks right.

Try prompts like:

Summarize this document in five bullet points.
Rewrite the selected paragraph to sound clearer and more professional.
Redesign the selected table without changing its content.

API-key entry is intentionally not shown in the public Word interface. Use the OpenWordCode Bridge, supported OAuth, or an official provider CLI session. See docs/AUTHENTICATION.md for provider setup details.

Useful commands

CommandWhat it does
npm run devStart the Core and Word task pane
npm run doctorCheck the local setup
npm run providersList configured providers
npm run modelsList available models
npm testRun tests
npm run typecheckCheck TypeScript
npm run buildBuild the task pane

Project layout

apps/core/ Local Core, authentication, Bridge, and agent server
apps/word-addin/ React task pane and Office manifest
packages/agent-core Agent prompts and tools
packages/app-word Word and in-memory document adapters
packages/providers Provider connections and model discovery
packages/shared Shared types and protocols
tests/ Automated tests
docs/ Authentication, privacy, and project notes

Security and privacy

  • .env and local credential data are ignored by Git. Never commit secrets.
  • Credentials stay in the local Core credential store where possible.
  • Cloud providers receive the document context and attachments needed for a request. Do not send sensitive documents unless you trust that provider.
  • The local console tool is bounded and read-only in this development version.
  • There is no hosted OpenWordCode backend or billing system in this repository.

Read SECURITY.md and docs/PRIVACY.md before sharing the project with other users.

Contributing

npm ci
npm run typecheck
npm test
npm run build

Please read CONTRIBUTING.md, open an issue for bugs or ideas, and send a pull request for changes.

Credits and license

OpenWordCode was created by Liko and is released under the MIT License.

See ATTRIBUTIONS.md for third-party notices. Microsoft Word, Office.js, and provider names belong to their respective owners.

About

Open-source AI document agent for Microsoft Word

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

OpenWordCode

OpenWordCode logo

AI assistance for Microsoft Word

OpenWordCode puts an AI agent in Word. Ask it to read, explain, rewrite, or edit your document while you stay in Word.

Created and maintained by Liko · MIT License

Features

  • Chat with the current document, selection, tables, and images.
  • Rewrite, summarize, review, format, draft, and create document content.
  • Review proposed edits before they reach Word, then apply or revert them.
  • Use manual approval, automatic approval, or skip approvals.
  • Attach or drag in PDFs and images, and paste images with Ctrl+V.
  • Preview uploaded images and open them for a closer look.
  • Connect multiple providers and switch providers and models from the chat.
  • Sign in with supported OAuth flows or official local CLI sessions.
  • Search the web, load AI skills, keep chat history, and start new tasks.
  • See context usage and automatically compact long conversations.

OpenWordCode is in early development. Provider availability and Word features depend on your account and installed Microsoft Word version.

Requirements

  • Windows 10 or Windows 11
  • Microsoft Word Desktop with Office Add-ins enabled
  • Node.js 20 or newer

Install and run

git clone https://github.com/LikoKiko/OpenWordCode.git
cd OpenWordCode
npm ci
Copy-Item .env.example .env
npm run cert:install
npm run dev

Keep that terminal running. The local services use these addresses:

ServiceAddress
Word task panehttps://localhost:3000
Corehttp://127.0.0.1:10200
Bridgehttp://127.0.0.1:10101

Open https://localhost:3000 once in your browser and accept the local development certificate warning. Then open a second terminal and run:

npm run sideload

Open Word and choose Home → Add-ins → OpenWordCode.

When you are finished:

npm run unsideload

Use it in Word

  1. Open Settings in the task pane and connect a provider.
  2. Return to Chat, choose the provider and model you want to use.
  3. Type a request, select text in Word, or attach a file.
  4. Review the proposed change and apply it when it looks right.

Try prompts like:

Summarize this document in five bullet points.
Rewrite the selected paragraph to sound clearer and more professional.
Redesign the selected table without changing its content.

API-key entry is intentionally not shown in the public Word interface. Use the OpenWordCode Bridge, supported OAuth, or an official provider CLI session. See docs/AUTHENTICATION.md for provider setup details.

Useful commands

CommandWhat it does
npm run devStart the Core and Word task pane
npm run doctorCheck the local setup
npm run providersList configured providers
npm run modelsList available models
npm testRun tests
npm run typecheckCheck TypeScript
npm run buildBuild the task pane

Project layout

apps/core/ Local Core, authentication, Bridge, and agent server
apps/word-addin/ React task pane and Office manifest
packages/agent-core Agent prompts and tools
packages/app-word Word and in-memory document adapters
packages/providers Provider connections and model discovery
packages/shared Shared types and protocols
tests/ Automated tests
docs/ Authentication, privacy, and project notes

Security and privacy

  • .env and local credential data are ignored by Git. Never commit secrets.
  • Credentials stay in the local Core credential store where possible.
  • Cloud providers receive the document context and attachments needed for a request. Do not send sensitive documents unless you trust that provider.
  • The local console tool is bounded and read-only in this development version.
  • There is no hosted OpenWordCode backend or billing system in this repository.

Read SECURITY.md and docs/PRIVACY.md before sharing the project with other users.

Contributing

npm ci
npm run typecheck
npm test
npm run build

Please read CONTRIBUTING.md, open an issue for bugs or ideas, and send a pull request for changes.

Credits and license

OpenWordCode was created by Liko and is released under the MIT License.

See ATTRIBUTIONS.md for third-party notices. Microsoft Word, Office.js, and provider names belong to their respective owners.

About

Open-source AI document agent for Microsoft Word

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages