@j-ho/agents-office 0.1.4 → 0.1.5

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.
Files changed (2) hide show
  1. package/README.md +89 -48
  2. package/package.json +3 -2
package/README.md CHANGED
@@ -1,90 +1,132 @@
1
1
  # Agents Office
2
2
 
3
- Claude Code 작업하는 과정을 **사무실 에이전트(Researcher/Coder/Reviewer/Manager)**로 시각화하는 Tauri 데스크톱 앱입니다.
4
- 로컬의 Claude 로그(`$HOME/.claude/**`) 감시(watch)하고, 이벤트를 프론트엔드(PixiJS 캔버스 + Inbox 로그 패널)로 스트리밍합니다.
3
+ A Tauri desktop app that visualizes Claude Code's workflow as **office agents (Reader/Searcher/Writer/Editor/Runner/Tester/Planner/Support)** working in a pixel art office.
4
+ It watches local Claude logs (`$HOME/.claude/**`) and streams events to the frontend (PixiJS canvas + Inbox log panel).
5
5
 
6
6
  ![Agents Office screenshot](./image.png)
7
7
 
8
- ## 주요 기능
9
- - **에이전트 시각화**: 상태(Idle/Working/Thinking/Passing/Error) 픽셀 아트 스타일로 표시
10
- - **Inbox 로그**: Claude 로그 라인을 `LogEntry`로 파싱해 최근 항목을 표시(최대 100)
11
- - **Watcher 상태 표시**: `Watching/Idle`, 세션 ID 표시(이벤트 기반)
12
-
13
- ## 요구사항
14
- - **Node.js**: 18 이상 권장
8
+ ## Key Features
9
+ - **Agent Visualization**: Displays agent states (Idle/Working/Thinking/Passing/Error) in pixel art style
10
+ - **Inbox Log**: Parses Claude log lines into `LogEntry` and displays recent items (up to 100)
11
+ - **Watcher Status**: Shows `Watching/Idle` status and session ID (event-based)
12
+
13
+ ## Agent UI Legend (Expressions/Icons)
14
+
15
+ ### Agent Types (Roles) & Colors
16
+ - **Reader**: Reads and summarizes input/file content (color `#60A5FA`)
17
+ - **Searcher**: Performs code/file/web searches (color `#38BDF8`)
18
+ - **Writer**: Creates new files/code (color `#4ADE80`)
19
+ - **Editor**: Modifies existing code (color `#22C55E`)
20
+ - **Runner**: Handles command execution (general Bash, etc.) (color `#FBBF24`)
21
+ - **Tester**: Handles test/build/validation execution (color `#F97316`)
22
+ - **Planner**: Manages todo/planning and task delegation (color `#F472B6`)
23
+ - **Support**: User questions/assistance role (color `#A78BFA`)
24
+
25
+ ### Status (Idle/Working/Thinking/Passing/Error) Display
26
+ - **Status Indicator (dot next to head)**: Color changes based on status
27
+ - `idle`: `#6B7280`
28
+ - `working`: `#22C55E`
29
+ - `thinking`: `#3B82F6`
30
+ - `passing`: `#A855F7`
31
+ - `error`: `#EF4444`
32
+ - **Error Badge**: Red exclamation badge appears above head when in `error` state
33
+ - **Desk Monitor Screen**
34
+ - `idle`: Dark screen + scanlines
35
+ - `working`: Agent-colored code lines scrolling + cursor blinking
36
+ - `thinking`: Loading dots (3) + icon (circular "brain/gear" style)
37
+ - `passing`: Right-moving arrow + transfer icon
38
+ - `error`: Red flash + X mark
39
+
40
+ ### Expression (Mood) Display
41
+ Expressions are separate from "status" - eyes/eyebrows/mouth area change based on mood.
42
+ - **neutral**: Default expression
43
+ - **focused**: Concentrated state from recent tool call (slightly lowered eyebrows, slight smile)
44
+ - **stressed**: Tense state after/during error (worried eyebrows + sweat drop)
45
+ - **blocked**: Blocked state from rate limit, etc. (closed eyes + Z mark)
46
+
47
+ ### Error/Rate Limit (Waiting) Additional Display
48
+ - **Red Warning Light**: When an error is detected, the warning light next to the desk blinks
49
+ - **"On Vacation" Sign + Wait Indicator**: When blocked by rate limit, displays "On Vacation" sign with hourglass/dots (waiting)
50
+
51
+ ### Speech Bubble (Task Summary)
52
+ - Speech bubble appears when not `idle`, showing tool call name summarized (e.g., `Read` → "Reading file")
53
+ - Long text is truncated, and bubble auto-hides after no updates for a period
54
+
55
+ ## Requirements
56
+ - **Node.js**: 18 or higher recommended
15
57
  - **Rust**: stable toolchain
16
- - **Tauri prerequisites**: OS 빌드 의존성 설치가 필요합니다. 자세한 내용은 [Tauri prerequisites](https://tauri.app/start/prerequisites/) 참고하세요.
58
+ - **Tauri prerequisites**: OS-specific build dependencies required. See [Tauri prerequisites](https://tauri.app/start/prerequisites/) for details.
17
59
 
18
- ## 실행 방법
60
+ ## Running the App
19
61
 
20
- ### 0) npx로 바로 실행 (macOS, 권장)
62
+ ### 0) Run directly with npx (macOS, recommended)
21
63
 
22
- 로컬에 Rust/Tauri 툴체인 없이도 아래 명령으로 앱을 실행할 수 있습니다.
23
- 실제 바이너리는 GitHub Releases에서 다운로드되며, 다운로드되면 캐시에 저장되어 다음 실행은 빨라집니다.
64
+ You can run the app without local Rust/Tauri toolchain using the command below.
65
+ The actual app binary is downloaded from GitHub Releases and cached for faster subsequent runs.
24
66
 
25
67
  ```bash
26
68
  npx @j-ho/agents-office
27
69
  ```
28
70
 
29
- - **버전 고정 실행**:
71
+ - **Pin specific version**:
30
72
 
31
73
  ```bash
32
74
  npx @j-ho/agents-office --version 0.1.2
33
75
  ```
34
76
 
35
- - **캐시 강제 갱신**:
77
+ - **Force cache refresh**:
36
78
 
37
79
  ```bash
38
80
  npx @j-ho/agents-office --force
39
81
  ```
40
82
 
41
- #### Gatekeeper 주의사항 (macOS)
42
- 다운로드된 앱이 차단되면 **System Settings Privacy & Security**에서 Open Anyway(또는 허용)”를 선택해야 있습니다.
83
+ #### Gatekeeper Note (macOS)
84
+ If the downloaded app is blocked, you may need to select "Open Anyway" in **System Settings Privacy & Security**.
43
85
 
44
- ### 1) 의존성 설치
86
+ ### 1) Install Dependencies
45
87
 
46
88
  ```bash
47
89
  npm install
48
90
  ```
49
91
 
50
- ### 2) (브라우저)로 개발 실행
92
+ ### 2) Run in Browser (Development)
51
93
 
52
94
  ```bash
53
95
  npm run dev
54
96
  ```
55
97
 
56
- ### 3) 데스크톱(Tauri)로 개발 실행
98
+ ### 3) Run as Desktop App (Tauri Development)
57
99
 
58
100
  ```bash
59
101
  npm run tauri:dev
60
102
  ```
61
103
 
62
- ## 빌드
104
+ ## Build
63
105
 
64
- ### 빌드
106
+ ### Web Build
65
107
 
66
108
  ```bash
67
109
  npm run build
68
110
  ```
69
111
 
70
- ### 데스크톱(Tauri) 빌드
112
+ ### Desktop (Tauri) Build
71
113
 
72
114
  ```bash
73
115
  npm run tauri:build
74
116
  ```
75
117
 
76
- ## 권한/보안 (중요)
77
- 앱은 Claude 로그를 읽기 위해 Tauri capability로 **로컬 파일 읽기 권한**을 사용합니다.
118
+ ## Permissions/Security (Important)
119
+ This app uses Tauri capabilities for **local file read permissions** to access Claude logs.
78
120
 
79
- - **읽는 경로**: `$HOME/.claude/**`
80
- - 주로 `$HOME/.claude/debug`, `$HOME/.claude/projects` 하위를 감시합니다.
81
- - **읽는 파일 유형**: `.txt`, `.jsonl`, `.json`
82
- - **동작 방식**: 파일의 “새로 추가된 줄”만 읽어 프론트로 이벤트를 emit 합니다.
83
- - **주의**: 로그에 민감 정보가 포함될 있습니다. 앱은 로컬에서만 처리하지만, 화면 공유/스크린샷에 포함되지 않도록 주의하세요.
121
+ - **Paths accessed**: `$HOME/.claude/**`
122
+ - Primarily watches `$HOME/.claude/debug` and `$HOME/.claude/projects` subdirectories
123
+ - **File types read**: `.txt`, `.jsonl`, `.json`
124
+ - **Behavior**: Only reads "newly added lines" from files and emits events to the frontend
125
+ - **Note**: Logs may contain sensitive information. The app processes locally only, but be careful not to include in screen shares/screenshots.
84
126
 
85
- 관련 설정은 [`src-tauri/capabilities/default.json`](./src-tauri/capabilities/default.json)에서 확인할 수 있습니다.
127
+ Related settings can be found in [`src-tauri/capabilities/default.json`](./src-tauri/capabilities/default.json).
86
128
 
87
- ## 아키텍처 개요
129
+ ## Architecture Overview
88
130
 
89
131
  ```mermaid
90
132
  flowchart LR
@@ -94,22 +136,21 @@ flowchart LR
94
136
  frontend --> stores[zustandStores]
95
137
  ```
96
138
 
97
- ### 이벤트 흐름(요약)
98
- - Rust 워처가 파일 변경을 감지하고 로그 라인을 파싱
99
- - `app-event`로 프론트에 이벤트 전송
100
- - `LogEntry`: Inbox 로그 추가
101
- - `AgentUpdate`: 에이전트 상태/업무 표시 갱신
102
- - `WatcherStatus`: 상단 상태(Watching/Idle) 갱신
139
+ ### Event Flow (Summary)
140
+ - Rust watcher detects file changes and parses log lines
141
+ - Sends events to frontend via `app-event`
142
+ - `LogEntry`: Add inbox log entry
143
+ - `AgentUpdate`: Update agent status/task display
144
+ - `WatcherStatus`: Update top status (Watching/Idle)
103
145
 
104
- ## 릴리스 자산 규격 (npx 실행용)
105
- `npx @j-ho/agents-office`는 GitHub Releases(`awesomelon/agents-office`)에서 macOS 빌드 산출물을 다운로드합니다.
146
+ ## Release Asset Specification (for npx execution)
147
+ `npx @j-ho/agents-office` downloads macOS build artifacts from GitHub Releases (`awesomelon/agents-office`).
106
148
 
107
- - **태그 규칙**: `vX.Y.Z` (예: `v0.1.2`)
108
- - **권장 자산 이름**: `Agents-Office-macos.zip`
109
- - zip 내부에 `Agents Office.app/` 번들이 포함되어 있어야 합니다.
110
- - (선택) 무결성 검증:
111
- - `Agents-Office-macos.zip.sha256` 또는 `checksums.txt`를 함께 업로드하면 CLI sha256 검증을 수행합니다.
149
+ - **Tag convention**: `vX.Y.Z` (e.g., `v0.1.2`)
150
+ - **Recommended asset name**: `Agents-Office-macos.zip`
151
+ - The zip should contain `Agents Office.app/` bundle inside
152
+ - (Optional) Integrity verification:
153
+ - Upload `Agents-Office-macos.zip.sha256` or `checksums.txt` alongside for CLI sha256 verification
112
154
 
113
- ## 라이선스
155
+ ## License
114
156
  MIT
115
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@j-ho/agents-office",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Claude Code visualization as agents working in an office",
5
5
  "license": "MIT",
6
6
  "author": "j-ho",
@@ -36,7 +36,8 @@
36
36
  "preview": "vite preview",
37
37
  "tauri": "tauri",
38
38
  "tauri:dev": "tauri dev",
39
- "tauri:build": "tauri build"
39
+ "tauri:build": "tauri build",
40
+ "zip": "ditto -c -k --keepParent 'src-tauri/target/release/bundle/macos/Agents Office.app' 'Agents-Office-macos.zip'"
40
41
  },
41
42
  "dependencies": {
42
43
  "@pixi/react": "^7.1.2",