@quolu/aishell 0.3.0 → 0.3.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.md CHANGED
@@ -1,9 +1,15 @@
1
1
  # AIShell
2
2
 
3
- AIshell、Terminal、AppleScript、JXAを介さず、SwiftのmacOS APIを通してOSを直接操作する実験プロジェクト。
3
+ AIの要求を汎用shell文字列へ潰さず、SwiftのmacOS APIと指定された開発workerを通してOS状態を直接扱う実験プロジェクト。
4
4
 
5
5
  ## 現在できること
6
6
 
7
+ - 既定のdevelopment profileから、OS状態を束ねた5本の高密度toolを提供
8
+ - `workspace_snapshot`: 初回scanのbounded previewとFSEvents由来の変更delta、Git状態、主要context
9
+ - `read_context`: 複数fileのbudget付きread、SHA-256、continuation
10
+ - `search_context`: `rg` workerによるbudget付き検索context
11
+ - `run_check`: 直接process実行、主要診断、完全stdout/stderr artifact
12
+ - `artifact_read`: artifactのrange、tail、pattern周辺read
7
13
  - 許可フォルダ内の一覧、検索、UTF-8テキスト読取
8
14
  - フォルダ/テキスト作成、copy、move、rename、Trash
9
15
  - stat、SHA-256、再帰tree
@@ -16,7 +22,6 @@ AIがshell、Terminal、AppleScript、JXAを介さず、SwiftのmacOS APIを通
16
22
  - 停止中でも状態確認と管理アプリ起動が可能
17
23
  - 許可済みGitリポジトリに登録されたworktreeを追加操作なしで自動認識
18
24
  - MCP 2025-11-25 stdio接続
19
- - pathや操作本文を含めないversion付き`factory_diagnostics`
20
25
 
21
26
  ## 起動
22
27
 
@@ -51,15 +56,15 @@ MCP実行ファイルはアプリ内に同梱される。
51
56
  codex mcp add aishell -- /opt/homebrew/bin/aishell-mcp
52
57
  ```
53
58
 
54
- このMacでは登録済み。新しく開始したCodexタスクから `aishell` の21ツールを利用できる。AIには次のように伝えればよい。
59
+ 新しく開始したCodexタスクでは、既定で上記5本のdevelopment toolを利用できる。従来のprimitiveを含む25 toolが必要な互換利用では、server環境へ`AISHELL_TOOL_PROFILE=full`を設定する。
55
60
 
56
61
  ```text
57
- AIShellを使いこなして。最初にruntime_statusを確認して。Git worktreeはautomaticGitWorktreePathsとeffectiveAllowedRootPathsへ自動反映されるので、worktreeごとの許可追加を私へ要求しないで。停止中または通常フォルダの許可root不足ならruntime_open_managerで管理画面を開いて。絶対パスはeffectiveAllowedRootPaths、相対パスはprimaryAllowedRootPathを基準に扱って。
62
+ 複数file・反復workspace観測ではworkspace_snapshotを使い、返されたcursorでdeltaを取って。32 KiBを超え得るbuild/test出力はrun_checkを使い、通常responseにない証拠だけartifact_readで読む。小さな単一file作業はCodex標準toolを使ってよい。
58
63
  ```
59
64
 
60
- `runtime_status` は設定root、自動認識したGit worktree、実効root、相対パスの基準、停止状態、次の操作を返す。停止中でも `runtime_open_manager` で管理アプリを前面化できるため、Computer Useや旧shellで入口を作る必要はない。許可root変更と再開は管理画面で人が行い、停止中の通常操作は引き続き拒否される。
65
+ full profileの`runtime_status`は設定root、自動認識したGit worktree、実効root、相対パスの基準、停止状態、次の操作を返す。停止中でも`runtime_open_manager`で管理アプリを前面化できる。許可root変更と再開は管理画面で人が行い、停止中の通常操作は引き続き拒否される。
61
66
 
62
- 開発工場の監視は[`factory_diagnostics`](docs/factory-diagnostics.md)を使う。このtoolは停止中でも利用でき、許可rootや操作履歴の実値を返さない。
67
+ `run_check`は指定workerがfile更新・子process・network accessを行い得るため、MCPへdestructive/open-world capabilityとして掲示する。host設定によっては実行承認が必要になる。0.3のstdio serverは1 requestずつ処理し、timeout時のprocess tree終了は行うが、MCP cancellationと並列pollingは未実装である。
63
68
 
64
69
  登録確認と解除は次のとおり。
65
70
 
@@ -77,6 +82,8 @@ scripts/package-app.sh release
77
82
 
78
83
  `xcodegen generate` で `AIShell.xcodeproj` を再生成できる。現在の検証機ではXcode 26.6とCoreSimulatorのbuild versionが一致せず、`xcodebuild` はXCBuild開始待ちで停止するため、同じSwift 6.3.3 toolchainを使うSwiftPMでビルド・テストした。この環境問題はソースの成功扱いへ混ぜていない。
79
84
 
80
- ## 実装上の禁止事項
85
+ ## 高密度runtimeの設計制約
81
86
 
82
- `AIShellCore` と `AIShellMCP` は、shellAppleScriptJXA、コマンド文字列を実行しない。開発プログラムは実行ファイルの絶対パスと引数配列を分離したままmacOSのprocess APIへ渡し、shell本体の起動、パイプ、リダイレクト、shell展開を拒否する。MCPは型付き要求をmacOSネイティブAPIへ渡すアダプターである。
87
+ `AIShellCore` と `AIShellMCP` shellAppleScript/JXAの文字列を解釈せず、開発プログラム名を`PATH`から実行ファイルURLへ解決し、引数配列と分離したままmacOSのprocess APIへ渡す。`sh`、`bash`、`zsh`、`dash`、`ksh`、`csh`、`tcsh`、`fish`、`env`、`osascript`というbasenameの直接起動と、パイプ、リダイレクト、shell展開は拒否する。
88
+
89
+ この拒否listはsecurity boundaryではない。改名したbinaryや、許可されたworkerが内部で起動する子processまでは阻止しない。目的は任意コード実行を安全化することではなく、AIの要求を安易な`zsh -lc`へ戻さず、executable、arguments、working directory、lifecycle、artifactを分離してAIShellが所有する高密度経路へ誘導することである。`env`も環境変数mapとAIShell自身の`PATH`解決で不要なwrapperなので同じ設計レールに含める。MCPは型付き要求をOS-owned runtimeへ渡すアダプターである。
@@ -17,9 +17,9 @@
17
17
  <key>CFBundlePackageType</key>
18
18
  <string>APPL</string>
19
19
  <key>CFBundleShortVersionString</key>
20
- <string>0.3.0</string>
20
+ <string>0.3.1</string>
21
21
  <key>CFBundleVersion</key>
22
- <string>5</string>
22
+ <string>6</string>
23
23
  <key>LSApplicationCategoryType</key>
24
24
  <string>public.app-category.utilities</string>
25
25
  <key>LSMinimumSystemVersion</key>
@@ -10,10 +10,10 @@
10
10
  <dict>
11
11
  <key>cdhash</key>
12
12
  <data>
13
- FHajTJVW13dXnDhdFteS1ei1vHc=
13
+ FLGSmJXEwfXtdPx0sRj6U3C4sCo=
14
14
  </data>
15
15
  <key>requirement</key>
16
- <string>cdhash H"1476a34c9556d777579c385d16d792d5e8b5bc77"</string>
16
+ <string>cdhash H"14b1929895c4c1f5ed74fc74b118fa5370b8b02a"</string>
17
17
  </dict>
18
18
  </dict>
19
19
  <key>rules</key>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@quolu/aishell",
3
- "version": "0.3.0",
4
- "description": "A native macOS MCP server for direct file, app, and development tool operations without a shell",
3
+ "version": "0.3.1",
4
+ "description": "A native macOS state runtime with high-density MCP tools for AI development",
5
5
  "license": "UNLICENSED",
6
6
  "author": "quolu",
7
7
  "repository": {