@quolu/aishell 0.4.11 → 0.5.0

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.ja.md CHANGED
@@ -1,10 +1,10 @@
1
1
  <p align="center">
2
- <img src=".github/og.png" alt="AIShell — AI開発へDirect OS contextを提供" width="100%">
2
+ <img src="https://raw.githubusercontent.com/kitepon/aishell/main/.github/og.png" alt="AIShell — AI開発へDirect OS contextを提供" width="100%">
3
3
  </p>
4
4
 
5
5
  # AIShell
6
6
 
7
- [![CI](https://github.com/kitepon-rgb/aishell/actions/workflows/ci.yml/badge.svg)](https://github.com/kitepon-rgb/aishell/actions/workflows/ci.yml)
7
+ [![CI](https://github.com/kitepon/aishell/actions/workflows/ci.yml/badge.svg)](https://github.com/kitepon/aishell/actions/workflows/ci.yml)
8
8
  [![npm](https://img.shields.io/npm/v/@quolu/aishell)](https://www.npmjs.com/package/@quolu/aishell)
9
9
  ![macOS 15+](https://img.shields.io/badge/macOS-15%2B-111827)
10
10
  ![Swift 6](https://img.shields.io/badge/Swift-6-F05138)
@@ -16,11 +16,12 @@
16
16
  [kitepon.dev](https://kitepon.dev/)を運営する[クオ(@QLyun35332)](https://x.com/QLyun35332)が
17
17
  開発・メンテナンスしています。
18
18
 
19
- **所有境界:** 本repositoryはApple Silicon Mac向けOS context runtimeを所有します。
20
- 製品横断の導入・統合契約は、kitepon.devの製品開発を支える内部基盤
21
- [dotagents](https://github.com/kitepon-rgb/dotagents)が担当します。
19
+ **所有境界:** 本repositoryはApple Silicon Mac向けruntimeのinstall、設定、
20
+ state/schema migration、診断、復旧、更新、releaseを単独で所有します。
21
+ [dotagents](https://github.com/kitepon/dotagents)は公開contractを使って製品横断wireと
22
+ 互換性を統合しますが、AIShellの内部運用を制御しません。
22
23
 
23
- AIShellは許可root、file identity、filesystem照合state、直接起動したprocess、完全log、artifactを所有する。reasoning、thread、compaction、sub-agent、汎用terminalはAI hostの責務として残す。
24
+ AIShellfile identity、filesystem照合state、直接起動したprocess、完全log、artifactを所有する。reasoning、thread、compaction、sub-agent、汎用terminalはAI hostの責務として残す。
24
25
 
25
26
  ## 30秒で試す
26
27
 
@@ -32,7 +33,7 @@ aishell-open
32
33
  codex mcp add aishell --env AISHELL_CAPABILITY_SET=expanded-v1 -- aishell-mcp
33
34
  ```
34
35
 
35
- 管理アプリでAIに許可するfolderを追加し、新しいCodex taskで次のように頼む。
36
+ フォルダの事前登録は不要。新しいCodex taskで対象フォルダを指定して実行する。
36
37
 
37
38
  ```text
38
39
  初回workspace contextはworkspace_snapshotで取得して。focused testはrun_checkで実行し、
@@ -48,8 +49,8 @@ summaryから省略された証拠だけartifact_readで読んで。
48
49
  | `search_context` | 直接起動した`rg` workerによるbudget付き検索context |
49
50
  | `run_check` | 直接process実行、主要diagnostic、完全stdout/stderr artifact |
50
51
  | `artifact_read` | 保持artifactのrange、tail、pattern周辺read |
51
- | `runtime_status` | 未設定・停止中も含む許可root、停止、worktree、次操作の状態取得 |
52
- | `runtime_open_manager` | root追加またはAI操作再開のため管理アプリを開く |
52
+ | `runtime_status` | 停止状態、相対パスの基準、次操作の状態取得 |
53
+ | `runtime_open_manager` | AI操作の停止・再開のため管理アプリを開く |
53
54
 
54
55
  MCP serverへ`AISHELL_CAPABILITY_SET=expanded-v1`を設定すると、candidate surfaceへ明示opt-inできる。
55
56
  高密度development 9本と復旧control 2本を公開し、`run_observe`、`workspace_wait`、
@@ -78,7 +79,7 @@ statelessな連携では、モデルがworkspaceを何度もscanし、command出
78
79
  | Context | budget・cursor付きstructured result | stdoutを手動または暗黙に切り詰める |
79
80
  | Execution | executable URL、引数、cwd、lifecycleを分離 | shellが1本のcommand文字列を評価 |
80
81
  | Evidence | 完全stdout/stderrを期限付きhandleで保持 | response truncation時に証拠が失われやすい |
81
- | Scope | 人が管理する許可rootと明示的stop状態 | 周囲のshellとhost policyに依存 |
82
+ | Scope | macOSのアクセス権と明示的stop状態 | 周囲のshellとhost policyに依存 |
82
83
 
83
84
  AIShellはsandboxではなく、任意code実行を安全化しない。process railの目的はtyped executionと観測可能なlifecycleを維持することであり、改名binaryや許可workerが起動する子processを阻止することではない。
84
85
 
@@ -88,7 +89,7 @@ AIShellはsandboxではなく、任意code実行を安全化しない。process
88
89
  flowchart LR
89
90
  Host[AI host<br/>reasoning · threads · compaction] --> MCP[AIShellMCP<br/>MCP 2025-11-25]
90
91
  MCP --> Core[AIShellCore]
91
- Core --> State[Allowed roots · file identity<br/>FSEvents + reconciliation]
92
+ Core --> State[File identity<br/>FSEvents + reconciliation]
92
93
  Core --> Process[Direct process lifecycle<br/>stdout · stderr · timeout]
93
94
  Core --> Evidence[Retained evidence<br/>artifacts · freshness]
94
95
  Process --> Workers[git · rg · compiler · tests]
@@ -117,7 +118,7 @@ aishell-open
117
118
  ## Sourceからbuild
118
119
 
119
120
  ```sh
120
- git clone https://github.com/kitepon-rgb/aishell.git
121
+ git clone https://github.com/kitepon/aishell.git
121
122
  cd aishell
122
123
  swift test
123
124
  scripts/package-app.sh release
@@ -126,7 +127,7 @@ open build/AIShell.app
126
127
 
127
128
  MCP実行ファイルは`build/AIShell.app/Contents/Helpers/aishell-mcp`へ同梱される。
128
129
 
129
- 管理アプリの「許可rootを追加」でAIに操作させるfolderを選ぶ。許可済みGit repositoryの`.git/worktrees`へ正式登録され、双方の管理情報が一致するworktreeは自動的に実効rootへ加わる。
130
+ フォルダ登録は不要。絶対パスは指定した場所を、相対パスと省略時はMCP起動ディレクトリを基準にする。Git worktreeも直接指定でき、旧設定の許可フォルダ一覧は無視される。
130
131
 
131
132
  ## 別のAI hostへ接続
132
133
 
@@ -171,6 +172,35 @@ full profileにはfile一覧・read、SHA-256競合検出付きatomic update、c
171
172
  - 初回workspace entryはbounded previewで、後続deltaはcursor pageになる。
172
173
  - Developer ID署名とnotarizationは未設定。
173
174
 
175
+ ## 運用・更新・release
176
+
177
+ 単独installの更新は初回と同じ公式npm経路を使い、新版の管理アプリを開く。
178
+
179
+ ```sh
180
+ npm install -g @quolu/aishell@latest
181
+ aishell-open
182
+ ```
183
+
184
+ 停止中の復旧入口は`runtime_status`と`runtime_open_manager`である。
185
+ 工場consumerは専用`AISHELL_TOOL_PROFILE=factory` MCP surfaceから
186
+ `factory_diagnostics`を呼ぶ。schemaとprivacy境界は
187
+ [製品側diagnostics contract](https://github.com/kitepon/aishell/blob/main/docs/factory-diagnostics.md)が正である。
188
+
189
+ releaseでは`AIShellProduct.version`と`package.json`を一致させ、release記録を
190
+ [`docs/archive/releases/`](https://github.com/kitepon/aishell/tree/main/docs/archive/releases)へ追加して、次を実行する。
191
+
192
+ ```sh
193
+ npm test
194
+ npm run test:package
195
+ git fetch origin
196
+ npm run verify:release-commit
197
+ npm publish --access public
198
+ ```
199
+
200
+ release gateはdirty treeと既定branchへ未着地のcommitを拒否する。publish後は対応する
201
+ GitHub Releaseを作り、`@quolu/aishell@latest`を再installしてMCP initializeと
202
+ `factory_diagnostics`をsmokeする。公開済みversionの正本はGitHub Releasesである。
203
+
174
204
  ## 開発検証
175
205
 
176
206
  ```sh
@@ -189,9 +219,10 @@ scripts/package-app.sh release
189
219
 
190
220
  ## ContributionとSecurity
191
221
 
192
- 変更提案前に[CONTRIBUTING.md](CONTRIBUTING.md)を確認してほしい。脆弱性はpublic issueへ書かず、[SECURITY.md](SECURITY.md)のprivate経路で報告する。
222
+ 変更提案前に[CONTRIBUTING.md](https://github.com/kitepon/aishell/blob/main/CONTRIBUTING.md)を確認してほしい。脆弱性はpublic issueへ書かず、[SECURITY.md](https://github.com/kitepon/aishell/blob/main/SECURITY.md)のprivate経路で報告する。
193
223
 
194
- release notesは[`docs/`](docs/)に置き、GitHub Releasesを公開済みversionの正本とする。
224
+ 現役文書の索引は[`docs/README.md`](https://github.com/kitepon/aishell/blob/main/docs/README.md)、過去のrelease notesは
225
+ [`docs/archive/releases/`](https://github.com/kitepon/aishell/tree/main/docs/archive/releases)に置く。
195
226
 
196
227
  ## License
197
228
 
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  <p align="center">
2
- <img src=".github/og.png" alt="AIShell — Direct OS context for AI development" width="100%">
2
+ <img src="https://raw.githubusercontent.com/kitepon/aishell/main/.github/og.png" alt="AIShell — Direct OS context for AI development" width="100%">
3
3
  </p>
4
4
 
5
5
  # AIShell
6
6
 
7
- [![CI](https://github.com/kitepon-rgb/aishell/actions/workflows/ci.yml/badge.svg)](https://github.com/kitepon-rgb/aishell/actions/workflows/ci.yml)
7
+ [![CI](https://github.com/kitepon/aishell/actions/workflows/ci.yml/badge.svg)](https://github.com/kitepon/aishell/actions/workflows/ci.yml)
8
8
  [![npm](https://img.shields.io/npm/v/@quolu/aishell)](https://www.npmjs.com/package/@quolu/aishell)
9
9
  ![macOS 15+](https://img.shields.io/badge/macOS-15%2B-111827)
10
10
  ![Swift 6](https://img.shields.io/badge/Swift-6-F05138)
@@ -15,12 +15,14 @@
15
15
 
16
16
  Built and maintained by [Quo](https://x.com/QLyun35332) at [kitepon.dev](https://kitepon.dev/en).
17
17
 
18
- **Ownership boundary:** this repository owns the macOS Apple Silicon OS-context
19
- runtime. Cross-product installation and the integration contract are handled by
20
- [dotagents](https://github.com/kitepon-rgb/dotagents), the internal development
21
- toolchain behind kitepon.dev's products.
18
+ **Ownership boundary:** this repository owns the standalone macOS Apple Silicon
19
+ runtime, including installation, configuration, state/schema migration,
20
+ diagnostics, recovery, updates, and releases.
21
+ [dotagents](https://github.com/kitepon/dotagents) consumes the public contract
22
+ for cross-product wiring and compatibility; it does not control AIShell's
23
+ internal operation.
22
24
 
23
- AIShell owns the OS-facing state below the model: allowed roots, file identity, filesystem reconciliation, directly launched processes, complete logs, and retained artifacts. The AI host remains responsible for reasoning, threads, compaction, sub-agents, and general-purpose terminal work.
25
+ AIShell owns the OS-facing state below the model: file identity, filesystem reconciliation, directly launched processes, complete logs, and retained artifacts. The AI host remains responsible for reasoning, threads, compaction, sub-agents, and general-purpose terminal work.
24
26
 
25
27
  ## Try it in 30 seconds
26
28
 
@@ -32,7 +34,7 @@ aishell-open
32
34
  codex mcp add aishell --env AISHELL_CAPABILITY_SET=expanded-v1 -- aishell-mcp
33
35
  ```
34
36
 
35
- In the manager app, add the folders the AI may access. Start a new Codex task and try:
37
+ フォルダの事前登録は不要です。新しいCodex taskで対象フォルダを指定して実行します。
36
38
 
37
39
  ```text
38
40
  Use workspace_snapshot for the initial workspace context. Run the focused tests with
@@ -48,8 +50,8 @@ The default profile exposes five high-density development tools plus two always-
48
50
  | `search_context` | Budgeted lexical context from a directly launched `rg` worker, scoped to a directory or one regular file; the expanded capability also provides cursor-bound semantic definition/reference/symbol queries without lexical fallback |
49
51
  | `run_check` | Direct process execution, primary diagnostics, and complete stdout/stderr artifacts |
50
52
  | `artifact_read` | Range, tail, and pattern-centered reads from retained artifacts; the expanded capability also searches and compares finalized managed-run artifacts |
51
- | `runtime_status` | Allowed-root, pause, worktree, and next-action state, including while paused or unconfigured |
52
- | `runtime_open_manager` | Open the manager app to add roots or resume AI operations |
53
+ | `runtime_status` | Pause, relative-path base, and next-action state |
54
+ | `runtime_open_manager` | Open the manager app to pause or resume AI operations |
53
55
 
54
56
  Set `AISHELL_CAPABILITY_SET=expanded-v1` on the MCP server process to opt in to the candidate surface. It exposes nine high-density development tools plus the two recovery controls. The added tools are `run_observe`, `workspace_wait`, `change_impact`, and `apply_change_set`; existing tools gain closed managed-run, artifact query, semantic search, project-profile, and Git branch/worktree modes. Cross-run artifact operations require an explicit project path and reject live, expired, legacy-unbound, or different-project evidence instead of silently falling back to partial logs.
55
57
 
@@ -75,7 +77,7 @@ Typical stateless integrations repeatedly ask the model to rediscover workspace
75
77
  | Context | Bounded, cursor-based structured results | Unbounded or manually truncated stdout |
76
78
  | Execution | Executable URL, arguments, working directory, and lifecycle remain separate | A shell evaluates one command string |
77
79
  | Evidence | Complete stdout/stderr retained behind expiring handles | Evidence often disappears when the response is truncated |
78
- | Scope | Human-managed allowed roots and explicit stop state | Depends on the surrounding shell and host policy |
80
+ | Scope | macOS access permissions and explicit stop state | Depends on the surrounding shell and host policy |
79
81
 
80
82
  AIShell is not a sandbox and does not make arbitrary code execution safe. Its process rails exist to preserve typed execution and observable lifecycle—not to stop renamed binaries or child processes launched by an allowed worker.
81
83
 
@@ -85,7 +87,7 @@ AIShell is not a sandbox and does not make arbitrary code execution safe. Its pr
85
87
  flowchart LR
86
88
  Host[AI host<br/>reasoning · threads · compaction] --> MCP[AIShellMCP<br/>MCP 2025-11-25]
87
89
  MCP --> Core[AIShellCore]
88
- Core --> State[Allowed roots · file identity<br/>FSEvents + reconciliation]
90
+ Core --> State[File identity<br/>FSEvents + reconciliation]
89
91
  Core --> Process[Direct process lifecycle<br/>stdout · stderr · timeout]
90
92
  Core --> Evidence[Retained evidence<br/>artifacts · freshness]
91
93
  Process --> Workers[git · rg · compiler · tests]
@@ -115,7 +117,7 @@ The current experimental build is not yet Developer ID signed or notarized.
115
117
  ## Build from source
116
118
 
117
119
  ```sh
118
- git clone https://github.com/kitepon-rgb/aishell.git
120
+ git clone https://github.com/kitepon/aishell.git
119
121
  cd aishell
120
122
  swift test
121
123
  scripts/package-app.sh release
@@ -124,7 +126,7 @@ open build/AIShell.app
124
126
 
125
127
  The MCP executable is bundled at `build/AIShell.app/Contents/Helpers/aishell-mcp`.
126
128
 
127
- After opening the app, use **Add Allowed Root** to select the folders AIShell may access. A Git worktree registered under an allowed repository is recognized automatically when both sides of the worktree metadata agree.
129
+ フォルダ登録は不要です。絶対パスは指定した場所を、相対パスと省略時はMCP起動ディレクトリを基準にします。Git worktreeも直接指定できます。旧設定の許可フォルダ一覧は無視されます。
128
130
 
129
131
  ## Connect another AI host
130
132
 
@@ -171,6 +173,37 @@ The full profile includes file listing and reads, atomic SHA-256-guarded updates
171
173
  - Initial workspace entries are a bounded preview; later deltas are cursor-paged.
172
174
  - Developer ID signing and notarization are not yet configured.
173
175
 
176
+ ## Operations, updates, and releases
177
+
178
+ Upgrade a standalone installation through the same official npm path used for
179
+ initial installation, then open the newly installed manager:
180
+
181
+ ```sh
182
+ npm install -g @quolu/aishell@latest
183
+ aishell-open
184
+ ```
185
+
186
+ `runtime_status` and `runtime_open_manager` are the recovery entrypoints for an
187
+ paused runtime. Factory consumers call `factory_diagnostics`
188
+ through the dedicated `AISHELL_TOOL_PROFILE=factory` MCP surface; its schema and
189
+ privacy boundary are owned by [the product contract](https://github.com/kitepon/aishell/blob/main/docs/factory-diagnostics.md).
190
+
191
+ For a release, keep `AIShellProduct.version` and `package.json` aligned, add the
192
+ release record under [`docs/archive/releases/`](https://github.com/kitepon/aishell/tree/main/docs/archive/releases), and run:
193
+
194
+ ```sh
195
+ npm test
196
+ npm run test:package
197
+ git fetch origin
198
+ npm run verify:release-commit
199
+ npm publish --access public
200
+ ```
201
+
202
+ The release gate rejects a dirty tree or a commit that has not landed on the
203
+ default branch. After publishing, create the matching GitHub Release, reinstall
204
+ `@quolu/aishell@latest`, and smoke MCP initialize plus `factory_diagnostics`.
205
+ GitHub Releases are the public record of shipped versions.
206
+
174
207
  ## Development
175
208
 
176
209
  ```sh
@@ -189,9 +222,10 @@ On the original verification machine, Xcode 26.6 and the installed CoreSimulator
189
222
 
190
223
  ## Contributing and security
191
224
 
192
- See [CONTRIBUTING.md](CONTRIBUTING.md) before proposing a change. Please report vulnerabilities through the private process in [SECURITY.md](SECURITY.md), not through a public issue.
225
+ See [CONTRIBUTING.md](https://github.com/kitepon/aishell/blob/main/CONTRIBUTING.md) before proposing a change. Please report vulnerabilities through the private process in [SECURITY.md](https://github.com/kitepon/aishell/blob/main/SECURITY.md), not through a public issue.
193
226
 
194
- Release notes are kept in [`docs/`](docs/). GitHub Releases are the public record for shipped versions.
227
+ The current documentation map is [`docs/README.md`](https://github.com/kitepon/aishell/blob/main/docs/README.md). Historical
228
+ release notes live in [`docs/archive/releases/`](https://github.com/kitepon/aishell/tree/main/docs/archive/releases).
195
229
 
196
230
  ## License
197
231
 
@@ -17,9 +17,9 @@
17
17
  <key>CFBundlePackageType</key>
18
18
  <string>APPL</string>
19
19
  <key>CFBundleShortVersionString</key>
20
- <string>0.4.11</string>
20
+ <string>0.5.0</string>
21
21
  <key>CFBundleVersion</key>
22
- <string>18</string>
22
+ <string>20</string>
23
23
  <key>LSApplicationCategoryType</key>
24
24
  <string>public.app-category.utilities</string>
25
25
  <key>LSMinimumSystemVersion</key>
@@ -10,19 +10,19 @@
10
10
  <dict>
11
11
  <key>cdhash</key>
12
12
  <data>
13
- VN9Kks7EfTzI7Y5PoSBwo3bGY78=
13
+ YtRYGFYE+Yh3gPk+NxMYVUyUi6M=
14
14
  </data>
15
15
  <key>requirement</key>
16
- <string>cdhash H"54df4a92cec47d3cc8ed8e4fa12070a376c663bf"</string>
16
+ <string>cdhash H"62d458185604f9887780f93e371318554c948ba3"</string>
17
17
  </dict>
18
18
  <key>Helpers/aishell-run-supervisor</key>
19
19
  <dict>
20
20
  <key>cdhash</key>
21
21
  <data>
22
- 7QIL+vqsxrhf1J+A8U88pcugzmc=
22
+ TcWgD4ePO0zxS53P4eI9iGT41LE=
23
23
  </data>
24
24
  <key>requirement</key>
25
- <string>cdhash H"ed020bfafaacc6b85fd49f80f14f3ca5cba0ce67"</string>
25
+ <string>cdhash H"4dc5a00f878f3b4cf14b9dcfe1e23d8864f8d4b1"</string>
26
26
  </dict>
27
27
  </dict>
28
28
  <key>rules</key>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quolu/aishell",
3
- "version": "0.4.11",
3
+ "version": "0.5.0",
4
4
  "description": "A native macOS state runtime with high-density MCP tools for AI development",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -9,12 +9,12 @@
9
9
  },
10
10
  "repository": {
11
11
  "type": "git",
12
- "url": "git+https://github.com/kitepon-rgb/aishell.git"
12
+ "url": "git+https://github.com/kitepon/aishell.git"
13
13
  },
14
14
  "bugs": {
15
- "url": "https://github.com/kitepon-rgb/aishell/issues"
15
+ "url": "https://github.com/kitepon/aishell/issues"
16
16
  },
17
- "homepage": "https://github.com/kitepon-rgb/aishell#readme",
17
+ "homepage": "https://github.com/kitepon/aishell#readme",
18
18
  "keywords": [
19
19
  "mcp",
20
20
  "macos",
@@ -40,8 +40,9 @@
40
40
  "scripts": {
41
41
  "build:npm": "node scripts/prepare-npm-release.mjs",
42
42
  "prepack": "npm run build:npm",
43
- "test": "swift test && npm run test:release-gate",
43
+ "test": "swift test && npm run test:release-gate && npm run test:repository-contract",
44
44
  "test:release-gate": "node --test scripts/verify-release-commit.test.mjs",
45
+ "test:repository-contract": "node --test scripts/repository-contract.test.mjs",
45
46
  "test:package": "npm run build:npm && node scripts/verify-npm-package.mjs",
46
47
  "verify:release-commit": "node scripts/verify-release-commit.mjs",
47
48
  "prepublishOnly": "npm run verify:release-commit && npm run test:package"
@@ -49,6 +50,13 @@
49
50
  "engines": {
50
51
  "node": ">=18"
51
52
  },
53
+ "devDependencies": {
54
+ "parse-srcset": "1.0.2",
55
+ "parse5": "^8.0.1",
56
+ "remark-gfm": "^4.0.1",
57
+ "remark-parse": "^11.0.0",
58
+ "unified": "^11.0.5"
59
+ },
52
60
  "publishConfig": {
53
61
  "access": "public"
54
62
  }