claude-ai-office 0.29.5 โ†’ 0.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en.md CHANGED
@@ -159,7 +159,7 @@ With two or more floors, ๐Ÿข **Building view** (`O`) appears in the header. Flo
159
159
 
160
160
  A resident app that shows the web UI in a window. It starts the Node server itself (or reuses one that is already running) and lives in the menu bar / system tray; left- or right-click the icon for the menu: Open, Hide, Always on top, Launch at login, Reinstall hooks, Check for updates, Apply update and Quit. When a session is waiting for you or an update is ready, a **red dot** appears on the menu bar icon and on the Dock (Windows: taskbar) icon, like a chat app; there is no count, and the tooltip says what it is. **Launch at login** is turned on at first run; when started at login the app stays in the menu bar without a window. You can turn it off from the menu. Closing the window hides it; Quit stops the server too. Node is bundled: on first launch the app copies the server files to `~/.ai-office/app` and the Node binary to `~/.ai-office/node`, then registers the hooks, so moving or deleting the app does not break them.
161
161
 
162
- **Updates**: the app checks for a new version 10 seconds after launch and every 6 hours and only **downloads** it in the background (signature verified; a failed check is retried after 5 minutes), then shows the red dot and enables "Apply vX update (restart)". Applying stops the server, installs and restarts; nothing is installed without asking and the running app is never replaced underneath you. "Check for updates" in the menu shows whether you are up to date or why a check failed. Releases are built by GitHub Actions for macOS (Apple Silicon) and Windows (x64) and signed for the updater.
162
+ **Updates**: the app checks for a new version 10 seconds after launch and every 6 hours and only **downloads** it in the background (signature verified; a failed check is retried after 5 minutes), then shows the red dot and enables "Apply vX update (restart)". Applying stops the server, installs and restarts; nothing is installed without asking and the running app is never replaced underneath you. Clicking **"Check for updates"** opens a small update window: it checks, and if there is a new version shows a `Downloadingโ€ฆ 12.3MB / 42.8MB` progress bar (cancelable), then installing and restart; otherwise it says you are up to date or why the check failed. Applying a downloaded update shows "Installingโ€ฆ" in the same window. Releases are built by GitHub Actions for macOS (Apple Silicon) and Windows (x64) and signed for the updater.
163
163
 
164
164
  > **Download**: [macOS AI-Office-mac-arm64.dmg](https://github.com/cozyuj/AI-office/releases/latest/download/AI-Office-mac-arm64.dmg) ยท [Windows AI-Office-windows-x64-setup.exe](https://github.com/cozyuj/AI-office/releases/latest/download/AI-Office-windows-x64-setup.exe) (always the latest; older versions in [Releases](https://github.com/cozyuj/AI-office/releases)). The macOS app is not notarized: **right-click โ†’ Open** the first time; on macOS 15+ use System Settings โ†’ Privacy & Security โ†’ **Open Anyway**, and if it still says "damaged", run `xattr -dr com.apple.quarantine "/Applications/AI Office.app"` once. To build it yourself:
165
165
 
package/README.md CHANGED
@@ -161,7 +161,7 @@ node bin/ai-office.js # ๋˜๋Š” npm run install-hooks && npm start
161
161
 
162
162
  ์›น ๋ฒ„์ „์„ ๊ทธ๋Œ€๋กœ ์ฐฝ์— ๋‹ด์€ ์ƒ์ฃผ ์•ฑ์ž…๋‹ˆ๋‹ค(๋งฅ ๋ฉ”๋‰ด๋ฐ” ยท Windows ํŠธ๋ ˆ์ด). ์•ฑ์ด Node ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๋„์šฐ๊ณ (์ด๋ฏธ ๋–  ์žˆ์œผ๋ฉด ์žฌ์‚ฌ์šฉ) ์•„์ด์ฝ˜์„ ์™ผ์ชฝ์ด๋‚˜ ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•˜๋ฉด ๋ฉ”๋‰ด๊ฐ€ ๋œน๋‹ˆ๋‹ค. ๋ฉ”๋‰ด๋Š” ์—ด๊ธฐ ยท ์ˆจ๊ธฐ๊ธฐ ยท ํ•ญ์ƒ ์œ„ ยท ๋กœ๊ทธ์ธ ์‹œ ์ž๋™ ์‹คํ–‰ ยท ํ›… ๋‹ค์‹œ ์„ค์น˜ ยท ์—…๋ฐ์ดํŠธ ํ™•์ธ ยท ์—…๋ฐ์ดํŠธ ์ ์šฉ ยท ์ข…๋ฃŒ์ž…๋‹ˆ๋‹ค. ๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์„ธ์…˜์ด ์žˆ๊ฑฐ๋‚˜ ๋ฐ›์•„ ๋‘” ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์œผ๋ฉด ์นด์นด์˜คํ†ก์ฒ˜๋Ÿผ ๋ฉ”๋‰ด๋ฐ” ์•„์ด์ฝ˜๊ณผ Dock(Windows ๋Š” ์ž‘์—… ํ‘œ์‹œ์ค„) ์•„์ด์ฝ˜์— **๋นจ๊ฐ„ ์ **์ด ๋œน๋‹ˆ๋‹ค. ์ˆซ์ž๋Š” ์—†๊ณ , ๋ฌด์—‡์ธ์ง€๋Š” ์•„์ด์ฝ˜์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ํˆดํŒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. **๋กœ๊ทธ์ธ ์‹œ ์ž๋™ ์‹คํ–‰**์€ ์ฒ˜์Œ ์‹คํ–‰ ๋•Œ ์ผœ์ง€๋ฉฐ, ์ž๋™์œผ๋กœ ์ผœ์งˆ ๋• ์ฐฝ ์—†์ด ๋ฉ”๋‰ด๋ฐ”์—๋งŒ ๋œน๋‹ˆ๋‹ค. ๋ฉ”๋‰ด์—์„œ ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐฝ์„ ๋‹ซ์•„๋„ ๋ฉ”๋‰ด๋ฐ”์— ๋‚จ๊ณ , ์ข…๋ฃŒํ•˜๋ฉด ์„œ๋ฒ„๋„ ํ•จ๊ป˜ ๋‚ด๋ ค๊ฐ‘๋‹ˆ๋‹ค(์•ฑ์ด ๊ฐ•์ œ ์ข…๋ฃŒ๋ผ๋„ ์„œ๋ฒ„๊ฐ€ ์Šค์Šค๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค). ์•ฑ์—๋Š” Node ๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ๊ณ , ์ฒซ ์‹คํ–‰ ๋•Œ ์„œ๋ฒ„ ํŒŒ์ผ์„ `~/.ai-office/app` ์—, Node ๋ฅผ `~/.ai-office/node` ์— ๋ณต์‚ฌํ•˜๊ณ  ๊ทธ ๊ฒฝ๋กœ๋กœ ํ›…์„ ๋“ฑ๋กํ•˜๋ฏ€๋กœ ์•ฑ์„ ์˜ฎ๊ธฐ๊ฑฐ๋‚˜ ์ง€์›Œ๋„ ํ›…์ด ๊นจ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
163
163
 
164
- **์ž๋™ ์—…๋ฐ์ดํŠธ**: ์•ฑ์ด ์‹œ์ž‘ 10์ดˆ ๋’ค์™€ 6์‹œ๊ฐ„๋งˆ๋‹ค ์ƒˆ ๋ฒ„์ „์„ ํ™•์ธํ•ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ **๋ฐ›์•„ ๋‘๊ธฐ๋งŒ** ํ•˜๊ณ (์„œ๋ช… ๊ฒ€์ฆ๊นŒ์ง€, ํ™•์ธ์— ์‹คํŒจํ•˜๋ฉด 5๋ถ„ ๋’ค ๋‹ค์‹œ), ๋นจ๊ฐ„ ์ ์„ ๋„์šฐ๋ฉฐ ๋ฉ”๋‰ด์˜ "vX ์—…๋ฐ์ดํŠธ ์ ์šฉ (๋‹ค์‹œ ์‹œ์ž‘)" ์ด ์ผœ์ง‘๋‹ˆ๋‹ค. ๋ˆ„๋ฅด๋ฉด ์„œ๋ฒ„๋ฅผ ๋‚ด๋ฆฌ๊ณ  ์„ค์น˜ํ•œ ๋’ค ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฌป์ง€ ์•Š๊ณ  ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์“ฐ๋˜ ์ค‘์— ์•ฑ ํŒŒ์ผ์„ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ”๋‰ด์˜ "์—…๋ฐ์ดํŠธ ํ™•์ธ" ์— ์ตœ์‹  ์—ฌ๋ถ€๋‚˜ ์‹คํŒจ ์ด์œ ๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค๋Š” ํƒœ๊ทธ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด GitHub Actions ๊ฐ€ ๋งฅ(Apple Silicon)ยทWindows(x64) ๋กœ ๋นŒ๋“œํ•˜๊ณ  ์„œ๋ช…ํ•ด ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.
164
+ **์ž๋™ ์—…๋ฐ์ดํŠธ**: ์•ฑ์ด ์‹œ์ž‘ 10์ดˆ ๋’ค์™€ 6์‹œ๊ฐ„๋งˆ๋‹ค ์ƒˆ ๋ฒ„์ „์„ ํ™•์ธํ•ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ **๋ฐ›์•„ ๋‘๊ธฐ๋งŒ** ํ•˜๊ณ (์„œ๋ช… ๊ฒ€์ฆ๊นŒ์ง€, ํ™•์ธ์— ์‹คํŒจํ•˜๋ฉด 5๋ถ„ ๋’ค ๋‹ค์‹œ), ๋นจ๊ฐ„ ์ ์„ ๋„์šฐ๋ฉฐ ๋ฉ”๋‰ด์˜ "vX ์—…๋ฐ์ดํŠธ ์ ์šฉ (๋‹ค์‹œ ์‹œ์ž‘)" ์ด ์ผœ์ง‘๋‹ˆ๋‹ค. ๋ˆ„๋ฅด๋ฉด ์„œ๋ฒ„๋ฅผ ๋‚ด๋ฆฌ๊ณ  ์„ค์น˜ํ•œ ๋’ค ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฌป์ง€ ์•Š๊ณ  ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์“ฐ๋˜ ์ค‘์— ์•ฑ ํŒŒ์ผ์„ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ”๋‰ด์˜ **"์—…๋ฐ์ดํŠธ ํ™•์ธ"** ์„ ๋ˆ„๋ฅด๋ฉด ์ž‘์€ ์—…๋ฐ์ดํŠธ ์ฐฝ์ด ๋– ์„œ ํ™•์ธ โ†’ ์ƒˆ ๋ฒ„์ „์ด๋ฉด `๋‹ค์šด๋กœ๋“œ ์ค‘โ€ฆ 12.3MB / 42.8MB` ์ง„ํ–‰ ๋ง‰๋Œ€(์ทจ์†Œ ๊ฐ€๋Šฅ) โ†’ ์„ค์น˜ ์ค‘ โ†’ ๋‹ค์‹œ ์‹œ์ž‘๊นŒ์ง€ ๋ณด์—ฌ ์ฃผ๊ณ , ์ตœ์‹ ์ด๊ฑฐ๋‚˜ ์‹คํŒจํ•˜๋ฉด ๊ทธ ์ด์œ ๋ฅผ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค. ๋ฐ›์•„ ๋‘” ์—…๋ฐ์ดํŠธ๋ฅผ ์ ์šฉํ•  ๋•Œ๋„ ๊ฐ™์€ ์ฐฝ์— "์„ค์น˜ ์ค‘" ์ด ๋œน๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค๋Š” ํƒœ๊ทธ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด GitHub Actions ๊ฐ€ ๋งฅ(Apple Silicon)ยทWindows(x64) ๋กœ ๋นŒ๋“œํ•˜๊ณ  ์„œ๋ช…ํ•ด ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.
165
165
 
166
166
  > **๋‹ค์šด๋กœ๋“œ**: โฌ‡๏ธ **[๋งฅ AI-Office-mac-arm64.dmg](https://github.com/cozyuj/AI-office/releases/latest/download/AI-Office-mac-arm64.dmg)** ยท **[Windows AI-Office-windows-x64-setup.exe](https://github.com/cozyuj/AI-office/releases/latest/download/AI-Office-windows-x64-setup.exe)** (ํ•ญ์ƒ ์ตœ์‹ ) ยท ์ด์ „ ๋ฒ„์ „์€ [Releases](https://github.com/cozyuj/AI-office/releases). DMG ๋ฅผ ์—ด์–ด `AI Office.app` ์„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํด๋”์— ๋„ฃ์œผ์„ธ์š”. ์ฝ”๋“œ ์„œ๋ช…์ด ์—†์–ด ์ฒ˜์Œ์—” "ํ™•์ธ๋˜์ง€ ์•Š์€ ๊ฐœ๋ฐœ์ž" ๊ฒฝ๊ณ ๊ฐ€ ๋œจ๋‹ˆ ์•ฑ์„ **์šฐํด๋ฆญ โ†’ ์—ด๊ธฐ** ๋กœ ํ•œ ๋ฒˆ ํ—ˆ์šฉํ•˜๊ณ , macOS 15 ์ด์ƒ์—์„œ ์•ˆ ์—ด๋ฆฌ๋ฉด ์‹œ์Šคํ…œ ์„ค์ • โ†’ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๋ฐ ๋ณด์•ˆ โ†’ **๊ทธ๋ž˜๋„ ์—ด๊ธฐ**, ๊ทธ๋ž˜๋„ "์†์ƒ๋จ" ์ด๋ผ๊ณ  ๋‚˜์˜ค๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ `xattr -dr com.apple.quarantine "/Applications/AI Office.app"` ๋ฅผ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•˜์„ธ์š”. Intel ๋งฅยทLinux ๋Š” ์œ„์˜ `npx claude-ai-office` ํ•œ ์ค„๋กœ ์›น ๋ฒ„์ „์„ ์“ฐ์„ธ์š”. ์ง์ ‘ ๋นŒ๋“œํ•˜๋ ค๋ฉด:
167
167
 
@@ -257,6 +257,8 @@ AI Office.app / AI Office.exe (app/src-tauri/src/lib.rs)
257
257
  โ”‚ (macOS ๋Š” status item ์˜ effectiveAppearance ๋กœ ๊ธ€์ž ์ƒ‰ ๊ฒฐ์ •), Dock ๋ฐฐ์ง€ / Windows ์˜ค๋ฒ„๋ ˆ์ด ์•„์ด์ฝ˜๋„ ๊ฐ™์€ ๊ทœ์น™
258
258
  โ”œโ”€ ์—…๋ฐ์ดํ„ฐ (tauri-plugin-updater): ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋‚ด๋ ค๋ฐ›๊ธฐ๋งŒ โ†’ ๋ฉ”๋‰ด "์—…๋ฐ์ดํŠธ ์ ์šฉ" ๋•Œ ์„œ๋ฒ„ ์ข…๋ฃŒ โ†’ ์„ค์น˜ โ†’ ์žฌ์‹œ์ž‘.
259
259
  โ”‚ ์„ฑ๊ณต ์ „์—” 5๋ถ„๋งˆ๋‹ค, ์„ฑ๊ณต ๋’ค์—” 6์‹œ๊ฐ„๋งˆ๋‹ค ํ™•์ธ
260
+ โ”‚ ๋ฉ”๋‰ด "์—…๋ฐ์ดํŠธ ํ™•์ธ"ยท"์—…๋ฐ์ดํŠธ ์ ์šฉ" ์€ ์ง„ํ–‰ ์ฐฝ(app/dist/update.html)์„ ๋„์šด๋‹ค: ํ™•์ธ โ†’ ๋‹ค์šด๋กœ๋“œ ๋ง‰๋Œ€(์ทจ์†Œ) โ†’ ์„ค์น˜ ์ค‘ โ†’ ์žฌ์‹œ์ž‘.
261
+ โ”‚ ์ฐฝ์€ IPC ๊ถŒํ•œ ์—†์ด Rust ๊ฐ€ eval ๋กœ ์ƒํƒœ๋ฅผ ๋„ฃ๊ณ , ๋ฒ„ํŠผ์€ ๊ฐ€์งœ ์ฃผ์†Œ ์ด๋™ โ†’ on_navigation ์ด ๋ฐ›๋Š”๋‹ค
260
262
  โ””โ”€ ๋กœ๊ทธ์ธ ์‹œ ์ž๋™ ์‹คํ–‰ (tauri-plugin-autostart, LaunchAgent / Run ํ‚ค, --hidden). ์ฒซ ์‹คํ–‰์— ํ•œ ๋ฒˆ ์ผœ๊ณ  ๋ฉ”๋‰ด ์ฒดํฌ๋ฐ•์Šค๋กœ ๋”
261
263
  ```
262
264
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-ai-office",
3
- "version": "0.29.5",
3
+ "version": "0.30.1",
4
4
  "description": "Claude Code ์„ธ์…˜ ํ™œ๋™์„ ์•„์ด์†Œ๋ฉ”ํŠธ๋ฆญ ์‚ฌ๋ฌด์‹ค๋กœ ์‹ค์‹œ๊ฐ„ ์‹œ๊ฐํ™”",
5
5
  "keywords": [
6
6
  "claude",
@@ -10,7 +10,8 @@ const crypto = require('crypto');
10
10
  const arg = (name, def) => { const i = process.argv.indexOf(`--${name}`); return i >= 0 ? process.argv[i + 1] : def; };
11
11
  const ROOT = path.join(__dirname, '..');
12
12
  const TAP = path.resolve(arg('tap', path.join(ROOT, '..', 'homebrew-tap')));
13
- const VERSION = arg('version', require(path.join(ROOT, 'package.json')).version);
13
+ const VERSION = arg('version', require(path.join(ROOT, 'package.json')).version).replace(/^v/, '');
14
+ if (!/^\d+\.\d+\.\d+$/.test(VERSION)) { console.error(`๋ฒ„์ „ ํ˜•์‹์ด ์•„๋‹™๋‹ˆ๋‹ค: '${VERSION}' โ€” ์ˆซ์ž x.y.z ๋กœ ๋„ฃ์œผ์„ธ์š” (์˜ˆ: 0.29.5)`); process.exit(1); }
14
15
 
15
16
  async function sha256Of(url) {
16
17
  const res = await fetch(url, { redirect: 'follow' });