illusion-code 0.1.0__tar.gz → 0.1.2__tar.gz
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.
- {illusion_code-0.1.0 → illusion_code-0.1.2}/.github/workflows/publish.yml +1 -9
- {illusion_code-0.1.0 → illusion_code-0.1.2}/PKG-INFO +53 -15
- {illusion_code-0.1.0 → illusion_code-0.1.2}/README.md +52 -14
- {illusion_code-0.1.0 → illusion_code-0.1.2}/README.zh-CN.md +53 -15
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/App.tsx +305 -41
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/CommandPicker.tsx +37 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/Composer.tsx +32 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/ComposerController.tsx +27 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/ConversationView.tsx +52 -3
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/Footer.tsx +24 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/MarkdownContent.tsx +39 -3
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/MarkdownTable.tsx +17 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/ModalHost.tsx +73 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/MultilineTextInput.tsx +48 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/PromptInput.tsx +38 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/SelectModal.tsx +31 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/SidePanel.tsx +52 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/Spinner.tsx +25 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/StatusBar.tsx +30 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/SwarmPanel.tsx +28 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/TodoPanel.tsx +21 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/ToolCallDisplay.tsx +24 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/TranscriptPane.tsx +20 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/components/WelcomeBanner.tsx +18 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/hooks/useBackendSession.ts +167 -17
- illusion_code-0.1.2/frontend/terminal/src/hooks/useTerminalSize.ts +25 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/i18n.ts +64 -0
- illusion_code-0.1.2/frontend/terminal/src/index.tsx +72 -0
- illusion_code-0.1.2/frontend/terminal/src/theme/ThemeContext.tsx +49 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/theme/builtinThemes.ts +59 -0
- illusion_code-0.1.2/frontend/terminal/src/types.ts +268 -0
- illusion_code-0.1.2/frontend/terminal/src/utils/markdown.ts +68 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/src/utils/thinking.ts +5 -5
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/package-lock.json +2 -2
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/package.json +1 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/App.tsx +110 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/ChatArea.tsx +40 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/MessageBubble.tsx +62 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/ModalCard.tsx +50 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/PromptInput.tsx +46 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/RightPanel.tsx +37 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/Sidebar.tsx +34 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/TodoPanel.tsx +25 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/Toolbar.tsx +37 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/components/WelcomeScreen.tsx +21 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/hooks/useWebSocketSession.ts +53 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/i18n.ts +30 -2
- illusion_code-0.1.2/frontend/web/src/main.tsx +27 -0
- illusion_code-0.1.2/frontend/web/src/types/protocol.ts +312 -0
- illusion_code-0.1.2/frontend/web/src/vite-env.d.ts +1 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/pyproject.toml +1 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/openai_client.py +23 -14
- illusion_code-0.1.2/src/illusion/auth/codex_oauth.py +634 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/cli.py +147 -13
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/commands/__init__.py +2 -2
- illusion_code-0.1.2/src/illusion/commands/auth.py +55 -0
- illusion_code-0.1.2/src/illusion/commands/bridge.py +75 -0
- illusion_code-0.1.2/src/illusion/commands/context.py +66 -0
- illusion_code-0.1.2/src/illusion/commands/git.py +54 -0
- illusion_code-0.1.2/src/illusion/commands/helpers.py +159 -0
- illusion_code-0.1.2/src/illusion/commands/init/__init__.py +20 -0
- illusion_code-0.1.2/src/illusion/commands/init/analysis/__init__.py +1 -0
- illusion_code-0.1.2/src/illusion/commands/init/analysis/architecture.py +180 -0
- illusion_code-0.1.2/src/illusion/commands/init/analysis/conventions.py +231 -0
- illusion_code-0.1.2/src/illusion/commands/init/analysis/dependencies.py +173 -0
- illusion_code-0.1.2/src/illusion/commands/init/analysis/key_modules.py +109 -0
- illusion_code-0.1.2/src/illusion/commands/init/extraction/__init__.py +1 -0
- illusion_code-0.1.2/src/illusion/commands/init/extraction/lsp_symbols.py +167 -0
- illusion_code-0.1.2/src/illusion/commands/init/extraction/readme.py +138 -0
- illusion_code-0.1.2/src/illusion/commands/init/extraction/scanner.py +527 -0
- illusion_code-0.1.2/src/illusion/commands/init/generation/__init__.py +1 -0
- illusion_code-0.1.2/src/illusion/commands/init/generation/claudemd.py +241 -0
- illusion_code-0.1.2/src/illusion/commands/init/generation/illusionmd.py +125 -0
- illusion_code-0.1.2/src/illusion/commands/init/generation/memory_template.py +81 -0
- illusion_code-0.1.2/src/illusion/commands/init/generation/rules.py +110 -0
- illusion_code-0.1.2/src/illusion/commands/init/generation/sections.py +73 -0
- illusion_code-0.1.2/src/illusion/commands/init/orchestrator.py +255 -0
- illusion_code-0.1.2/src/illusion/commands/init/types.py +96 -0
- illusion_code-0.1.2/src/illusion/commands/mcp.py +63 -0
- illusion_code-0.1.2/src/illusion/commands/memory.py +54 -0
- illusion_code-0.1.2/src/illusion/commands/misc.py +322 -0
- illusion_code-0.1.2/src/illusion/commands/model.py +52 -0
- illusion_code-0.1.2/src/illusion/commands/plugin.py +40 -0
- illusion_code-0.1.2/src/illusion/commands/registry.py +289 -0
- illusion_code-0.1.2/src/illusion/commands/rules.py +57 -0
- illusion_code-0.1.2/src/illusion/commands/session.py +285 -0
- illusion_code-0.1.2/src/illusion/commands/settings.py +298 -0
- illusion_code-0.1.2/src/illusion/commands/types.py +70 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/config/i18n.py +43 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/config/paths.py +4 -4
- illusion_code-0.1.2/src/illusion/config/plan_file.py +185 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/config/settings.py +13 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/engine/query.py +5 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/engine/query_engine.py +5 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/mcp/client.py +18 -2
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/memory/__init__.py +8 -2
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/memory/paths.py +36 -8
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/permissions/checker.py +45 -2
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/prompts/claudemd.py +34 -6
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/prompts/context.py +40 -1
- illusion_code-0.1.2/src/illusion/services/compact/__init__.py +95 -0
- illusion_code-0.1.2/src/illusion/services/compact/auto_compact.py +95 -0
- illusion_code-0.1.2/src/illusion/services/compact/compact_core.py +157 -0
- illusion_code-0.1.2/src/illusion/services/compact/compact_prompt.py +50 -0
- illusion_code-0.1.2/src/illusion/services/compact/constants.py +83 -0
- illusion_code-0.1.2/src/illusion/services/compact/message_ops.py +185 -0
- illusion_code-0.1.2/src/illusion/services/compact/microcompact.py +125 -0
- illusion_code-0.1.2/src/illusion/services/compact/models.py +30 -0
- illusion_code-0.1.2/src/illusion/services/compact/token_utils.py +131 -0
- illusion_code-0.1.2/src/illusion/services/lsp/__init__.py +21 -0
- illusion_code-0.1.2/src/illusion/services/lsp/client.py +275 -0
- illusion_code-0.1.2/src/illusion/services/lsp/config.py +96 -0
- illusion_code-0.1.2/src/illusion/services/lsp/manager.py +213 -0
- illusion_code-0.1.2/src/illusion/services/lsp/types.py +70 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/enter_plan_mode_tool.py +37 -19
- illusion_code-0.1.2/src/illusion/tools/exit_plan_mode_tool.py +120 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/glob_tool.py +7 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/grep_tool.py +1 -1
- illusion_code-0.1.2/src/illusion/tools/lsp_formatters.py +277 -0
- illusion_code-0.1.2/src/illusion/tools/lsp_schemas.py +78 -0
- illusion_code-0.1.2/src/illusion/tools/lsp_tool.py +351 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/backend_host.py +67 -19
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/protocol.py +6 -3
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/runtime.py +3 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/web/ws_host.py +65 -19
- illusion_code-0.1.2/tests/commands/init/test_claudemd.py +134 -0
- illusion_code-0.1.2/tests/commands/init/test_orchestrator.py +108 -0
- illusion_code-0.1.2/tests/commands/init/test_scanner.py +58 -0
- illusion_code-0.1.2/tests/commands/init/test_sections.py +53 -0
- illusion_code-0.1.2/tests/services/lsp/test_lsp_client.py +23 -0
- illusion_code-0.1.2/tests/services/lsp/test_lsp_config.py +81 -0
- illusion_code-0.1.2/tests/services/lsp/test_lsp_manager.py +46 -0
- illusion_code-0.1.2/tests/services/lsp/test_lsp_types.py +78 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_commands/test_registry.py +5 -3
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_mcp/test_stdio_flow.py +1 -4
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_plugins/test_lifecycle_flow.py +1 -4
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_skills/test_loader.py +1 -1
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_core_tools.py +18 -21
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_integration_flows.py +12 -20
- illusion_code-0.1.0/frontend/terminal/src/hooks/useTerminalSize.ts +0 -9
- illusion_code-0.1.0/frontend/terminal/src/index.tsx +0 -42
- illusion_code-0.1.0/frontend/terminal/src/theme/ThemeContext.tsx +0 -19
- illusion_code-0.1.0/frontend/terminal/src/types.ts +0 -110
- illusion_code-0.1.0/frontend/terminal/src/utils/markdown.ts +0 -33
- illusion_code-0.1.0/frontend/web/src/main.tsx +0 -10
- illusion_code-0.1.0/frontend/web/src/types/protocol.ts +0 -146
- illusion_code-0.1.0/src/illusion/commands/registry.py +0 -1934
- illusion_code-0.1.0/src/illusion/py.typed +0 -0
- illusion_code-0.1.0/src/illusion/services/compact/__init__.py +0 -1015
- illusion_code-0.1.0/src/illusion/services/lsp/__init__.py +0 -455
- illusion_code-0.1.0/src/illusion/tools/exit_plan_mode_tool.py +0 -69
- illusion_code-0.1.0/src/illusion/tools/lsp_tool.py +0 -333
- {illusion_code-0.1.0 → illusion_code-0.1.2}/.gitignore +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/.python-version +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/LICENSE +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/docs/images/image1.png +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/docs/images/image2.png +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/build.mjs +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/package-lock.json +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/package.json +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/terminal/tsconfig.json +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/index.html +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/postcss.config.js +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/index.css +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/src/remarkSuperscript.ts +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/tailwind.config.js +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/tsconfig.json +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/frontend/web/vite.config.ts +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/main.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/scripts/build_frontend.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/scripts/hatch_build.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/scripts/publish.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/__main__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/client.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/codex_client.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/compat.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/effort.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/errors.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/provider.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/registry.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/api/usage.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/auth/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/auth/copilot.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/auth/external.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/auth/flows.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/auth/manager.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/auth/storage.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/bridge/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/bridge/manager.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/bridge/session_runner.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/bridge/types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/bridge/work_secret.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/config/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/coordinator/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/coordinator/agent_definitions.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/coordinator/coordinator_mode.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/engine/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/engine/cost_tracker.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/engine/messages.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/engine/stream_events.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/hooks/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/hooks/events.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/hooks/executor.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/hooks/hot_reload.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/hooks/loader.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/hooks/schemas.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/hooks/types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/mcp/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/mcp/config.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/mcp/types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/memory/manager.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/memory/memdir.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/memory/scan.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/memory/search.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/memory/types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/output_styles/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/output_styles/loader.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/permissions/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/permissions/modes.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/platforms.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/plugins/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/plugins/installer.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/plugins/loader.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/plugins/schemas.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/plugins/types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/prompts/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/prompts/environment.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/prompts/system_prompt.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/sandbox/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/sandbox/adapter.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/services/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/services/cron.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/services/cron_scheduler.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/services/file_history.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/services/session_storage.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/services/token_estimation.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/batch.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/coding-guidelines.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/debug.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/loop.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/remember.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/simplify.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/skillify.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/stuck.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/update-config.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/bundled/content/verify.md +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/loader.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/registry.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/skills/types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/state/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/state/app_state.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/state/store.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/swarm/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/swarm/agent_executor.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/swarm/in_process.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/swarm/subprocess_backend.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/swarm/team_helpers.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/swarm/types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/swarm/worktree.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tasks/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tasks/local_agent_task.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tasks/local_shell_task.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tasks/manager.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tasks/stop_task.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tasks/types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/agent_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/ask_user_question_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/base.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/bash_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/config_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/cron_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/enter_worktree_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/exit_worktree_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/file_edit_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/file_read_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/file_write_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/list_mcp_resources_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/mcp_auth_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/mcp_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/notebook_edit_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/powershell_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/read_mcp_resource_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/repl_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/send_message_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/shell_common.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/skill_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/sleep_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/structured_output_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/task_create_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/task_get_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/task_list_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/task_output_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/task_stop_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/task_update_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/team_create_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/team_delete_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/todo_write_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/tool_search_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/web_fetch_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/tools/web_search_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/app.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/input.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/output.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/permission_dialog.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/permission_store.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/react_launcher.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/textual_app.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/web/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/ui/web/server.py +0 -0
- {illusion_code-0.1.0/src/illusion/plugins/bundled → illusion_code-0.1.2/src/illusion/utils}/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/utils/ripgrep.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/src/illusion/utils/shell.py +0 -0
- {illusion_code-0.1.0/src/illusion/utils → illusion_code-0.1.2/tests}/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/api/test_anthropic_client.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/api/test_client.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/api/test_codex_client.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/api/test_effort.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/api/test_fallback/346/217/220/347/244/272.py" +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/api/test_openai_client.py +0 -0
- {illusion_code-0.1.0/tests → illusion_code-0.1.2/tests/commands/init}/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/commands/test_effort_command.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/config/test_i18n.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/config/test_settings.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/conftest.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/engine/test_query_engine.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/fixtures/fake_mcp_server.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/integration/test_effort_integration.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_api/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_api/test_client.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_api/test_codex_client.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_api/test_compat.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_api/test_openai_client.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_auth/test_external.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_bridge/test_core.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_bridge/test_session_flow.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_commands/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_commands/test_cli.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_commands/test_command_flows.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_config/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_config/test_paths.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_config/test_settings.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_coordinator/test_agent_definitions.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_coordinator/test_coordinator_mode.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_engine/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_engine/test_media_block.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_engine/test_query_engine.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_engine/test_tool_result_media.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_hooks/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_hooks/test_executor.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_hooks_skills_plugins_real.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_mcp/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_mcp/test_integration.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_memory/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_memory/test_memdir.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_merged_prs_on_autoagent.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_permissions/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_permissions/test_checker.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_platforms.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_plugins/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_plugins/test_loader.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_prompts/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_prompts/test_claudemd.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_prompts/test_environment.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_prompts/test_system_prompt.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_real_large_tasks.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_sandbox/test_adapter.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_services/test_compact.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_services/test_cron.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_services/test_cron_scheduler.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_services/test_session_storage.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_swarm/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_swarm/test_agent_executor.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_swarm/test_imports.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_swarm/test_in_process.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_swarm/test_types.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_swarm/test_worktree.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tasks/test_manager.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_agent_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_file_read_media.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_glob_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_grep_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_integration.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_mcp_auth_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_ripgrep.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_shell_common.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_task_tools.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_team_tools.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_tools/test_web_fetch_tool.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_ui/__init__.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_ui/test_modes.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_ui/test_permission_store.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_ui/test_react_backend.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_ui/test_react_launcher.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_ui/test_textual_app.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_untested_features.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/test_utils/test_shell.py +0 -0
- {illusion_code-0.1.0 → illusion_code-0.1.2}/tests/ui/test_backend_host.py +0 -0
|
@@ -34,15 +34,7 @@ jobs:
|
|
|
34
34
|
run: ruff check src/
|
|
35
35
|
|
|
36
36
|
- name: Test
|
|
37
|
-
run:
|
|
38
|
-
pytest tests/ -q \
|
|
39
|
-
--deselect tests/test_mcp/test_stdio_flow.py::test_stdio_mcp_manager_connects_and_executes_real_server \
|
|
40
|
-
--deselect tests/test_plugins/test_lifecycle_flow.py::test_plugin_install_load_and_uninstall_flow \
|
|
41
|
-
--deselect tests/test_skills/test_loader.py::test_load_skill_registry_includes_bundled \
|
|
42
|
-
--deselect tests/test_tools/test_core_tools.py::test_glob_and_grep \
|
|
43
|
-
--deselect tests/test_tools/test_integration_flows.py::test_search_edit_flow_across_registry \
|
|
44
|
-
--deselect tests/test_auth/test_external.py::test_external_binding_for_codex_without_switching \
|
|
45
|
-
--deselect tests/test_commands/test_registry.py::test_agents_session_files_and_reload_plugins_commands
|
|
37
|
+
run: pytest tests/ -q
|
|
46
38
|
|
|
47
39
|
- name: Build
|
|
48
40
|
run: python -m build
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: illusion-code
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Open-source Python port of Claude Code - an AI-powered CLI coding assistant
|
|
5
5
|
Project-URL: Homepage, https://github.com/YunTaiHua/illusion-code
|
|
6
6
|
Project-URL: Repository, https://github.com/YunTaiHua/illusion-code
|
|
@@ -133,17 +133,41 @@ IllusionCode is an open-source AI-powered command-line programming assistant tha
|
|
|
133
133
|
|
|
134
134
|
### Installation
|
|
135
135
|
|
|
136
|
-
#### Recommended: pip install
|
|
136
|
+
#### Recommended: pip install from PyPI
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
The simplest way to install IllusionCode. Automatically installs both frontends and registers the `illusion` command globally.
|
|
139
139
|
|
|
140
140
|
```bash
|
|
141
|
-
|
|
141
|
+
pip install illusion-code
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
No git clone or Node.js required — everything is included in the package.
|
|
145
|
+
|
|
146
|
+
#### Alternative: pip install from source
|
|
147
|
+
|
|
148
|
+
Clone the repository and install locally. Triggers the hatch build hook to build frontends automatically.
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
142
152
|
cd illusion-code
|
|
143
153
|
pip install .
|
|
144
154
|
```
|
|
145
155
|
|
|
146
|
-
|
|
156
|
+
Requires Node.js 18+ (for frontend build).
|
|
157
|
+
|
|
158
|
+
#### Alternative: pip install -e . (editable, from source)
|
|
159
|
+
|
|
160
|
+
Editable install from source. Like `pip install .`, it triggers the hatch build hook to build frontends automatically and registers `illusion` globally. Like `uv sync`, source code changes take effect immediately without reinstalling.
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
164
|
+
cd illusion-code
|
|
165
|
+
pip install -e .
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Requires Node.js 18+ (for frontend build).
|
|
169
|
+
|
|
170
|
+
> **When to use**: Best for developers who want both an editable install (live code changes) and the `illusion` command available globally. Unlike `uv sync`, no manual frontend build or `uv run` wrapper is needed.
|
|
147
171
|
|
|
148
172
|
#### Alternative: uv sync (for development)
|
|
149
173
|
|
|
@@ -176,11 +200,14 @@ python scripts/build_frontend.py --web # Web UI only
|
|
|
176
200
|
>
|
|
177
201
|
> # Option 3: Install globally with pip (recommended)
|
|
178
202
|
> pip install .
|
|
203
|
+
>
|
|
204
|
+
> # Option 4: Editable install with pip (global + live code changes)
|
|
205
|
+
> pip install -e .
|
|
179
206
|
> ```
|
|
180
207
|
|
|
181
|
-
#### Manual frontend build (for
|
|
208
|
+
#### Manual frontend build (for source installs only)
|
|
182
209
|
|
|
183
|
-
If you need to rebuild frontends
|
|
210
|
+
If you installed from source and need to rebuild frontends (e.g., after updating frontend code). PyPI users do not need this step.
|
|
184
211
|
|
|
185
212
|
**Build script (recommended)**
|
|
186
213
|
|
|
@@ -208,12 +235,15 @@ cd ../..
|
|
|
208
235
|
|
|
209
236
|
#### Key differences
|
|
210
237
|
|
|
211
|
-
| | `pip install .` | `uv sync` |
|
|
212
|
-
|
|
213
|
-
|
|
|
214
|
-
|
|
|
215
|
-
|
|
|
216
|
-
|
|
|
238
|
+
| | `pip install illusion-code` | `pip install .` | `pip install -e .` | `uv sync` |
|
|
239
|
+
|---|---|---|---|---|
|
|
240
|
+
| Source | PyPI | Local git clone | Local git clone | Local git clone |
|
|
241
|
+
| Frontend build | Pre-built (included) | Automatic (hatch hook) | Automatic (hatch hook) | Manual |
|
|
242
|
+
| Node.js required | No | Yes (18+) | Yes (18+) | Yes (18+) |
|
|
243
|
+
| `illusion` command | Global | Global | Global | Project-only (via `uv run` or venv activation) |
|
|
244
|
+
| Install type | Standard | Standard | Editable | Editable |
|
|
245
|
+
| Code changes take effect | Reinstall needed | Reinstall needed | Immediately | Immediately |
|
|
246
|
+
| Best for | End users | Contributors | Developers (global + editable) | Developers |
|
|
217
247
|
|
|
218
248
|
### Basic Usage
|
|
219
249
|
|
|
@@ -290,6 +320,10 @@ illusion cron toggle <name> <true|false> # Enable/disable task
|
|
|
290
320
|
illusion cron run <name> # Manually trigger task
|
|
291
321
|
illusion cron history # View execution history
|
|
292
322
|
illusion cron logs # View scheduler logs
|
|
323
|
+
|
|
324
|
+
# Self-update
|
|
325
|
+
illusion update # Check for and install updates from PyPI
|
|
326
|
+
illusion update --deps # Also update project dependencies
|
|
293
327
|
```
|
|
294
328
|
|
|
295
329
|
### Interactive Slash Commands
|
|
@@ -304,6 +338,7 @@ In interactive sessions, you can use the following commands:
|
|
|
304
338
|
| Plugin Extensions | `/skills`, `/hooks`, `/mcp`, `/plugin` | Manage extension features |
|
|
305
339
|
| Project Git | `/init`, `/diff`, `/branch`, `/commit` | Project and version control |
|
|
306
340
|
| Multi-Agent | `/continue` | Agent collaboration |
|
|
341
|
+
| Self-Update | `/update` | Check for and install IllusionCode updates |
|
|
307
342
|
|
|
308
343
|
---
|
|
309
344
|
|
|
@@ -586,7 +621,7 @@ settings.json uses the `env_N` grouped format to manage multiple environment/pro
|
|
|
586
621
|
| `env_N` | object | - | Environment config group (EnvConfig), supports dynamic env_1, env_2... | See EnvConfig field description below |
|
|
587
622
|
| `model` | string | "env_1.model_1" | Active model reference, format: `env_N.model_N` | `"env_2.model_1"` |
|
|
588
623
|
| `context_window` | int | 200000 | Context window size | `128000` |
|
|
589
|
-
| `system_prompt` | string\|null | null | Custom system prompt (global
|
|
624
|
+
| `system_prompt` | string\|null | null | Custom system prompt (global; can be overridden per env_N) | `"You are a professional Python developer"` |
|
|
590
625
|
| `max_tokens` | int | 16384 | Maximum output token count | `32768` |
|
|
591
626
|
| `max_turns` | int | 200 | Maximum conversation turns | `500` |
|
|
592
627
|
| `ui_language` | string | "en-US" | UI language | `"zh-CN"` |
|
|
@@ -609,7 +644,7 @@ IllusionCode supports managing multiple environment/provider configurations thro
|
|
|
609
644
|
| `base_url` | string\|null | No | Custom API endpoint, null uses default endpoint |
|
|
610
645
|
| `api_key` | string | No | API key (can be filled directly, or left empty for `illusion auth login` to store in credentials.json) |
|
|
611
646
|
| `system_prompt` | string\|null | No | System prompt for this environment (overrides global) |
|
|
612
|
-
| `model_N` | string | No | Model name, supports multiple: model_1, model_2, model_3... |
|
|
647
|
+
| `model_N` | string | No | Model name, supports multiple: model_1, model_2, model_3... Append `[1m]` for million-token context (e.g. `claude-sonnet-4-6[1m]`) |
|
|
613
648
|
|
|
614
649
|
#### Multi-Model Configuration Example
|
|
615
650
|
|
|
@@ -628,6 +663,9 @@ Configure multiple models under the same environment, switch via `env_N.model_N`
|
|
|
628
663
|
}
|
|
629
664
|
```
|
|
630
665
|
|
|
666
|
+
> **Million-Token Context**: Anthropic models support the `[1m]` suffix for extended 1M context window. Append it to the model name (e.g. `claude-sonnet-4-6[1m]`). IllusionCode automatically detects this suffix and adjusts the internal context tracking to 1,000,000 tokens.
|
|
667
|
+
```
|
|
668
|
+
|
|
631
669
|
**Ways to switch models**:
|
|
632
670
|
|
|
633
671
|
```bash
|
|
@@ -85,17 +85,41 @@ IllusionCode is an open-source AI-powered command-line programming assistant tha
|
|
|
85
85
|
|
|
86
86
|
### Installation
|
|
87
87
|
|
|
88
|
-
#### Recommended: pip install
|
|
88
|
+
#### Recommended: pip install from PyPI
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
The simplest way to install IllusionCode. Automatically installs both frontends and registers the `illusion` command globally.
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
|
-
|
|
93
|
+
pip install illusion-code
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
No git clone or Node.js required — everything is included in the package.
|
|
97
|
+
|
|
98
|
+
#### Alternative: pip install from source
|
|
99
|
+
|
|
100
|
+
Clone the repository and install locally. Triggers the hatch build hook to build frontends automatically.
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
94
104
|
cd illusion-code
|
|
95
105
|
pip install .
|
|
96
106
|
```
|
|
97
107
|
|
|
98
|
-
|
|
108
|
+
Requires Node.js 18+ (for frontend build).
|
|
109
|
+
|
|
110
|
+
#### Alternative: pip install -e . (editable, from source)
|
|
111
|
+
|
|
112
|
+
Editable install from source. Like `pip install .`, it triggers the hatch build hook to build frontends automatically and registers `illusion` globally. Like `uv sync`, source code changes take effect immediately without reinstalling.
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
116
|
+
cd illusion-code
|
|
117
|
+
pip install -e .
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Requires Node.js 18+ (for frontend build).
|
|
121
|
+
|
|
122
|
+
> **When to use**: Best for developers who want both an editable install (live code changes) and the `illusion` command available globally. Unlike `uv sync`, no manual frontend build or `uv run` wrapper is needed.
|
|
99
123
|
|
|
100
124
|
#### Alternative: uv sync (for development)
|
|
101
125
|
|
|
@@ -128,11 +152,14 @@ python scripts/build_frontend.py --web # Web UI only
|
|
|
128
152
|
>
|
|
129
153
|
> # Option 3: Install globally with pip (recommended)
|
|
130
154
|
> pip install .
|
|
155
|
+
>
|
|
156
|
+
> # Option 4: Editable install with pip (global + live code changes)
|
|
157
|
+
> pip install -e .
|
|
131
158
|
> ```
|
|
132
159
|
|
|
133
|
-
#### Manual frontend build (for
|
|
160
|
+
#### Manual frontend build (for source installs only)
|
|
134
161
|
|
|
135
|
-
If you need to rebuild frontends
|
|
162
|
+
If you installed from source and need to rebuild frontends (e.g., after updating frontend code). PyPI users do not need this step.
|
|
136
163
|
|
|
137
164
|
**Build script (recommended)**
|
|
138
165
|
|
|
@@ -160,12 +187,15 @@ cd ../..
|
|
|
160
187
|
|
|
161
188
|
#### Key differences
|
|
162
189
|
|
|
163
|
-
| | `pip install .` | `uv sync` |
|
|
164
|
-
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
190
|
+
| | `pip install illusion-code` | `pip install .` | `pip install -e .` | `uv sync` |
|
|
191
|
+
|---|---|---|---|---|
|
|
192
|
+
| Source | PyPI | Local git clone | Local git clone | Local git clone |
|
|
193
|
+
| Frontend build | Pre-built (included) | Automatic (hatch hook) | Automatic (hatch hook) | Manual |
|
|
194
|
+
| Node.js required | No | Yes (18+) | Yes (18+) | Yes (18+) |
|
|
195
|
+
| `illusion` command | Global | Global | Global | Project-only (via `uv run` or venv activation) |
|
|
196
|
+
| Install type | Standard | Standard | Editable | Editable |
|
|
197
|
+
| Code changes take effect | Reinstall needed | Reinstall needed | Immediately | Immediately |
|
|
198
|
+
| Best for | End users | Contributors | Developers (global + editable) | Developers |
|
|
169
199
|
|
|
170
200
|
### Basic Usage
|
|
171
201
|
|
|
@@ -242,6 +272,10 @@ illusion cron toggle <name> <true|false> # Enable/disable task
|
|
|
242
272
|
illusion cron run <name> # Manually trigger task
|
|
243
273
|
illusion cron history # View execution history
|
|
244
274
|
illusion cron logs # View scheduler logs
|
|
275
|
+
|
|
276
|
+
# Self-update
|
|
277
|
+
illusion update # Check for and install updates from PyPI
|
|
278
|
+
illusion update --deps # Also update project dependencies
|
|
245
279
|
```
|
|
246
280
|
|
|
247
281
|
### Interactive Slash Commands
|
|
@@ -256,6 +290,7 @@ In interactive sessions, you can use the following commands:
|
|
|
256
290
|
| Plugin Extensions | `/skills`, `/hooks`, `/mcp`, `/plugin` | Manage extension features |
|
|
257
291
|
| Project Git | `/init`, `/diff`, `/branch`, `/commit` | Project and version control |
|
|
258
292
|
| Multi-Agent | `/continue` | Agent collaboration |
|
|
293
|
+
| Self-Update | `/update` | Check for and install IllusionCode updates |
|
|
259
294
|
|
|
260
295
|
---
|
|
261
296
|
|
|
@@ -538,7 +573,7 @@ settings.json uses the `env_N` grouped format to manage multiple environment/pro
|
|
|
538
573
|
| `env_N` | object | - | Environment config group (EnvConfig), supports dynamic env_1, env_2... | See EnvConfig field description below |
|
|
539
574
|
| `model` | string | "env_1.model_1" | Active model reference, format: `env_N.model_N` | `"env_2.model_1"` |
|
|
540
575
|
| `context_window` | int | 200000 | Context window size | `128000` |
|
|
541
|
-
| `system_prompt` | string\|null | null | Custom system prompt (global
|
|
576
|
+
| `system_prompt` | string\|null | null | Custom system prompt (global; can be overridden per env_N) | `"You are a professional Python developer"` |
|
|
542
577
|
| `max_tokens` | int | 16384 | Maximum output token count | `32768` |
|
|
543
578
|
| `max_turns` | int | 200 | Maximum conversation turns | `500` |
|
|
544
579
|
| `ui_language` | string | "en-US" | UI language | `"zh-CN"` |
|
|
@@ -561,7 +596,7 @@ IllusionCode supports managing multiple environment/provider configurations thro
|
|
|
561
596
|
| `base_url` | string\|null | No | Custom API endpoint, null uses default endpoint |
|
|
562
597
|
| `api_key` | string | No | API key (can be filled directly, or left empty for `illusion auth login` to store in credentials.json) |
|
|
563
598
|
| `system_prompt` | string\|null | No | System prompt for this environment (overrides global) |
|
|
564
|
-
| `model_N` | string | No | Model name, supports multiple: model_1, model_2, model_3... |
|
|
599
|
+
| `model_N` | string | No | Model name, supports multiple: model_1, model_2, model_3... Append `[1m]` for million-token context (e.g. `claude-sonnet-4-6[1m]`) |
|
|
565
600
|
|
|
566
601
|
#### Multi-Model Configuration Example
|
|
567
602
|
|
|
@@ -580,6 +615,9 @@ Configure multiple models under the same environment, switch via `env_N.model_N`
|
|
|
580
615
|
}
|
|
581
616
|
```
|
|
582
617
|
|
|
618
|
+
> **Million-Token Context**: Anthropic models support the `[1m]` suffix for extended 1M context window. Append it to the model name (e.g. `claude-sonnet-4-6[1m]`). IllusionCode automatically detects this suffix and adjusts the internal context tracking to 1,000,000 tokens.
|
|
619
|
+
```
|
|
620
|
+
|
|
583
621
|
**Ways to switch models**:
|
|
584
622
|
|
|
585
623
|
```bash
|
|
@@ -85,17 +85,41 @@ IllusionCode 是一个开源的 AI 驱动命令行编程助手,集成了众多
|
|
|
85
85
|
|
|
86
86
|
### 安装
|
|
87
87
|
|
|
88
|
-
####
|
|
88
|
+
#### 推荐方式:从 PyPI 安装
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
最简单的安装方式,自动安装前端并注册 `illusion` 命令到全局 PATH。
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
|
-
|
|
93
|
+
pip install illusion-code
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
无需克隆仓库或安装 Node.js,所有内容已包含在包中。
|
|
97
|
+
|
|
98
|
+
#### 备选方式:从源码安装
|
|
99
|
+
|
|
100
|
+
克隆仓库后本地安装,hatch build hook 会自动构建前端。
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
94
104
|
cd illusion-code
|
|
95
105
|
pip install .
|
|
96
106
|
```
|
|
97
107
|
|
|
98
|
-
|
|
108
|
+
需要 Node.js 18+(用于前端构建)。
|
|
109
|
+
|
|
110
|
+
#### 备选方式:pip install -e .(可编辑安装,从源码)
|
|
111
|
+
|
|
112
|
+
从源码进行可编辑安装。与 `pip install .` 相同,会触发 hatch build hook 自动构建前端并全局注册 `illusion` 命令;与 `uv sync` 相同,源码修改立即生效,无需重新安装。
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
116
|
+
cd illusion-code
|
|
117
|
+
pip install -e .
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
需要 Node.js 18+(用于前端构建)。
|
|
121
|
+
|
|
122
|
+
> **适用场景**:适合希望同时拥有可编辑安装(代码即时生效)和全局 `illusion` 命令的开发者。与 `uv sync` 不同,无需手动构建前端,也无需使用 `uv run` 包装。
|
|
99
123
|
|
|
100
124
|
#### 开发方式:uv sync(适合开发者)
|
|
101
125
|
|
|
@@ -128,11 +152,14 @@ python scripts/build_frontend.py --web # 只构建 Web UI
|
|
|
128
152
|
>
|
|
129
153
|
> # 方式三:使用 pip 全局安装(推荐)
|
|
130
154
|
> pip install .
|
|
155
|
+
>
|
|
156
|
+
> # 方式四:pip 可编辑安装(全局 + 代码即时生效)
|
|
157
|
+
> pip install -e .
|
|
131
158
|
> ```
|
|
132
159
|
|
|
133
|
-
####
|
|
160
|
+
#### 手动构建前端(仅源码安装需要)
|
|
134
161
|
|
|
135
|
-
|
|
162
|
+
如从源码安装后需要重新构建前端(例如更新了前端代码)。PyPI 用户无需此步骤。
|
|
136
163
|
|
|
137
164
|
**构建脚本(推荐)**
|
|
138
165
|
|
|
@@ -158,14 +185,17 @@ npm run build
|
|
|
158
185
|
cd ../..
|
|
159
186
|
```
|
|
160
187
|
|
|
161
|
-
####
|
|
188
|
+
#### 四种方式对比
|
|
162
189
|
|
|
163
|
-
| | `pip install .` | `uv sync` |
|
|
164
|
-
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
190
|
+
| | `pip install illusion-code` | `pip install .` | `pip install -e .` | `uv sync` |
|
|
191
|
+
|---|---|---|---|---|
|
|
192
|
+
| 来源 | PyPI | 本地 git clone | 本地 git clone | 本地 git clone |
|
|
193
|
+
| 前端构建 | 预构建(已包含) | 自动(hatch hook) | 自动(hatch hook) | 手动 |
|
|
194
|
+
| 需要 Node.js | 否 | 是(18+) | 是(18+) | 是(18+) |
|
|
195
|
+
| `illusion` 命令 | 全局可用 | 全局可用 | 全局可用 | 仅项目内(需 `uv run` 或激活虚拟环境) |
|
|
196
|
+
| 安装类型 | 标准安装 | 标准安装 | 可编辑安装 | 可编辑安装 |
|
|
197
|
+
| 代码修改生效 | 需重新安装 | 需重新安装 | 即时生效 | 即时生效 |
|
|
198
|
+
| 适用场景 | 终端用户 | 贡献者 | 开发者(全局+可编辑) | 开发者 |
|
|
169
199
|
|
|
170
200
|
### 基本使用
|
|
171
201
|
|
|
@@ -242,6 +272,10 @@ illusion cron toggle <name> <true|false> # 启用/禁用任务
|
|
|
242
272
|
illusion cron run <name> # 手动触发执行任务
|
|
243
273
|
illusion cron history # 查看执行历史
|
|
244
274
|
illusion cron logs # 查看调度器日志
|
|
275
|
+
|
|
276
|
+
# 自更新
|
|
277
|
+
illusion update # 检查并从 PyPI 安装更新
|
|
278
|
+
illusion update --deps # 同时更新项目依赖
|
|
245
279
|
```
|
|
246
280
|
|
|
247
281
|
### 交互式斜杠命令
|
|
@@ -256,6 +290,7 @@ illusion cron logs # 查看调度器日志
|
|
|
256
290
|
| 插件扩展 | `/skills`, `/hooks`, `/mcp`, `/plugin` | 管理扩展功能 |
|
|
257
291
|
| 项目 Git | `/init`, `/diff`, `/branch`, `/commit` | 项目与版本控制 |
|
|
258
292
|
| 多智能体 | `/continue` | Agent 协作 |
|
|
293
|
+
| 自更新 | `/update` | 检查并安装 IllusionCode 更新 |
|
|
259
294
|
|
|
260
295
|
---
|
|
261
296
|
|
|
@@ -538,7 +573,7 @@ settings.json 使用 `env_N` 分组格式管理多个环境/提供商配置。
|
|
|
538
573
|
| `env_N` | object | - | 环境配置组(EnvConfig),支持动态添加 env_1, env_2... | 见下方 EnvConfig 字段说明 |
|
|
539
574
|
| `model` | string | "env_1.model_1" | 当前活跃模型引用,格式为 `env_N.model_N` | `"env_2.model_1"` |
|
|
540
575
|
| `context_window` | int | 200000 | 上下文窗口大小 | `128000` |
|
|
541
|
-
| `system_prompt` | string\|null | null |
|
|
576
|
+
| `system_prompt` | string\|null | null | 自定义系统提示词(全局,可被 env_N 级别覆盖) | `"你是一个专业的Python开发者"` |
|
|
542
577
|
| `max_tokens` | int | 16384 | 最大输出 token 数 | `32768` |
|
|
543
578
|
| `max_turns` | int | 200 | 最大对话轮数 | `500` |
|
|
544
579
|
| `ui_language` | string | "zh-CN" | 界面语言 | `"en-US"` |
|
|
@@ -561,7 +596,7 @@ IllusionCode 支持通过 `env_N` 分组管理多个环境/提供商配置。每
|
|
|
561
596
|
| `base_url` | string\|null | 否 | 自定义 API 端点,null 表示使用默认端点 |
|
|
562
597
|
| `api_key` | string | 否 | API 密钥(可直接填写,也可留空由 `illusion auth login` 存储到 credentials.json) |
|
|
563
598
|
| `system_prompt` | string\|null | 否 | 该环境的系统提示词(覆盖全局) |
|
|
564
|
-
| `model_N` | string | 否 | 模型名称,支持多个 model_1, model_2, model_3... |
|
|
599
|
+
| `model_N` | string | 否 | 模型名称,支持多个 model_1, model_2, model_3... 追加 `[1m]` 可启用百万上下文(如 `claude-sonnet-4-6[1m]`) |
|
|
565
600
|
|
|
566
601
|
#### 多模型配置示例
|
|
567
602
|
|
|
@@ -580,6 +615,9 @@ IllusionCode 支持通过 `env_N` 分组管理多个环境/提供商配置。每
|
|
|
580
615
|
}
|
|
581
616
|
```
|
|
582
617
|
|
|
618
|
+
> **百万上下文**:Anthropic 模型支持 `[1m]` 后缀以启用 100 万 token 的扩展上下文窗口。在模型名后追加即可(如 `claude-sonnet-4-6[1m]`)。IllusionCode 会自动检测此后缀并将内部上下文追踪调整为 1,000,000 tokens。
|
|
619
|
+
```
|
|
620
|
+
|
|
583
621
|
**切换模型的方式**:
|
|
584
622
|
|
|
585
623
|
```bash
|