illusion-code 0.2.0__tar.gz → 0.2.1__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.2.1/PKG-INFO +174 -0
- illusion_code-0.2.1/README.md +120 -0
- illusion_code-0.2.1/README.zh-CN.md +120 -0
- illusion_code-0.2.1/docs/en/architecture.md +126 -0
- illusion_code-0.2.1/docs/en/channels.md +298 -0
- illusion_code-0.2.1/docs/en/commands.md +62 -0
- illusion_code-0.2.1/docs/en/extensions.md +435 -0
- illusion_code-0.2.1/docs/en/getting-started.md +183 -0
- illusion_code-0.2.1/docs/en/introduction.md +69 -0
- illusion_code-0.2.1/docs/en/project-files.md +121 -0
- illusion_code-0.2.1/docs/en/settings.md +444 -0
- illusion_code-0.2.1/docs/zh-CN/architecture.md +128 -0
- illusion_code-0.2.1/docs/zh-CN/channels.md +300 -0
- illusion_code-0.2.1/docs/zh-CN/commands.md +64 -0
- illusion_code-0.2.1/docs/zh-CN/extensions.md +435 -0
- illusion_code-0.2.1/docs/zh-CN/getting-started.md +185 -0
- illusion_code-0.2.1/docs/zh-CN/introduction.md +73 -0
- illusion_code-0.2.1/docs/zh-CN/project-files.md +121 -0
- illusion_code-0.2.1/docs/zh-CN/settings.md +444 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/package-lock.json +2 -2
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/package.json +1 -1
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/version.ts +1 -1
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/package-lock.json +2 -2
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/package.json +1 -1
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/version.ts +1 -1
- {illusion_code-0.2.0 → illusion_code-0.2.1}/pyproject.toml +1 -1
- {illusion_code-0.2.0 → illusion_code-0.2.1}/scripts/sync_version.py +45 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/__init__.py +1 -1
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/openai_client.py +12 -11
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/__init__.py +18 -8
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/config.py +48 -1
- illusion_code-0.2.1/src/illusion/channels/qq/__init__.py +44 -0
- illusion_code-0.2.1/src/illusion/channels/qq/adapter.py +432 -0
- illusion_code-0.2.1/src/illusion/channels/qq/api.py +469 -0
- illusion_code-0.2.1/src/illusion/channels/qq/commands.py +16 -0
- illusion_code-0.2.1/src/illusion/channels/qq/session_map.py +147 -0
- illusion_code-0.2.1/src/illusion/channels/qq/ws_client.py +364 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/serve.py +27 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/cli.py +76 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/session.py +1 -1
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/config/i18n.py +10 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/coordinator/agent_definitions.py +10 -17
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/token_utils.py +1 -7
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/runtime.py +2 -0
- illusion_code-0.2.1/tests/test_qq_channel.py +353 -0
- illusion_code-0.2.0/PKG-INFO +0 -1798
- illusion_code-0.2.0/README.md +0 -1744
- illusion_code-0.2.0/README.zh-CN.md +0 -1746
- {illusion_code-0.2.0 → illusion_code-0.2.1}/.github/workflows/publish.yml +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/.gitignore +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/.python-version +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/LICENSE +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/docs/images/IllusionCode.png +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/docs/images/image1.png +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/docs/images/image2.png +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/build.mjs +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/App.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/CommandPicker.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/Composer.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/ComposerController.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/ConversationView.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/Footer.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/MarkdownContent.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/MarkdownTable.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/ModalHost.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/MultilineTextInput.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/PromptInput.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/SelectModal.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/SidePanel.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/Spinner.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/StatusBar.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/SwarmPanel.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/TodoPanel.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/ToolCallDisplay.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/TranscriptPane.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/components/WelcomeBanner.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/hooks/useAnimationFrame.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/hooks/useBackendSession.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/hooks/useBlink.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/hooks/useTerminalSize.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/i18n.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/index.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/theme/ThemeContext.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/theme/builtinThemes.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/ToolInterface.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/AgentTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/BashTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/CronTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/EditTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/GenericTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/LspTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/McpTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/NotebookTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/PlanTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/ReadTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/SearchTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/SkillTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/TaskTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/WebTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/WorktreeTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/implementations/WriteTool.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/tools/registry.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/types.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/utils/markdown.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/src/utils/thinking.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/terminal/tsconfig.json +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/index.html +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/postcss.config.js +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/App.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/ChatArea.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/MessageBubble.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/ModalCard.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/PromptInput.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/RightPanel.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/Sidebar.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/TodoPanel.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/Toolbar.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/components/WelcomeScreen.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/hooks/useWebSocketSession.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/i18n.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/index.css +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/main.tsx +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/remarkSuperscript.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/types/protocol.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/src/vite-env.d.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/tailwind.config.js +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/tsconfig.json +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/tsconfig.node.json +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/frontend/web/vite.config.ts +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/scripts/build_frontend.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/scripts/hatch_build.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/scripts/publish.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/__main__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/codex_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/compat.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/effort.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/errors.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/provider.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/registry.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/api/usage.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/auth/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/auth/codex_oauth.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/auth/copilot.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/auth/external.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/auth/flows.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/auth/manager.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/auth/storage.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/bridge/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/bridge/manager.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/bridge/session_runner.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/bridge/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/bridge/work_secret.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/base.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/base_commands.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/feishu/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/feishu/adapter.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/feishu/commands.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/feishu/messaging.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/feishu/session_map.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/feishu/ws_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/pid.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/tools/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/tools/feishu_doc.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/tools/feishu_drive.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/weixin/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/weixin/adapter.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/weixin/commands.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/weixin/ilink_api.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/channels/weixin/session_map.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/auth.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/bridge.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/context.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/git.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/helpers.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/analysis/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/analysis/architecture.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/analysis/conventions.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/analysis/dependencies.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/analysis/key_modules.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/extraction/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/extraction/lsp_symbols.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/extraction/readme.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/extraction/scanner.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/generation/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/generation/claudemd.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/generation/illusionmd.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/generation/memory_template.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/generation/rules.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/generation/sections.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/orchestrator.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/init/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/mcp.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/memory.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/misc.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/model.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/plugin.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/registry.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/rules.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/sandbox.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/settings.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/commands/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/config/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/config/paths.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/config/plan_file.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/config/settings.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/coordinator/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/coordinator/coordinator_mode.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/engine/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/engine/cost_tracker.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/engine/messages.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/engine/query.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/engine/query_engine.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/engine/stream_events.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/events.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/executor.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/hot_reload.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/loader.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/register_hooks.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/schemas.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/session_hooks.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/hooks/utils.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/mcp/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/mcp/client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/mcp/config.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/mcp/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/memory/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/memory/manager.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/memory/memdir.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/memory/paths.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/memory/scan.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/memory/search.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/memory/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/output_styles/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/output_styles/loader.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/permissions/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/permissions/checker.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/permissions/modes.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/platforms.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/plugins/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/plugins/installer.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/plugins/loader.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/plugins/options.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/plugins/schemas.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/plugins/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/prompts/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/prompts/claudemd.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/prompts/context.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/prompts/environment.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/prompts/system_prompt.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/adapter.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/platforms/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/platforms/base.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/platforms/linux.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/platforms/macos.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/platforms/windows.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/proxy/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/proxy/env_vars.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/runtime.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/symlink_protection.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/utils.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/sandbox/violation_store.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/auto_compact.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/compact_core.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/compact_prompt.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/constants.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/message_ops.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/microcompact.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/compact/models.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/cron.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/cron_scheduler.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/file_history.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/lsp/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/lsp/client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/lsp/config.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/lsp/manager.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/lsp/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/session_storage.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/services/token_estimation.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/batch.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/debug.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/loop.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/remember.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/simplify.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/skillify.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/stuck.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/update-config.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/bundled/content/verify.md +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/loader.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/registry.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/skills/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/state/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/state/app_state.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/state/store.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/swarm/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/swarm/agent_executor.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/swarm/in_process.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/swarm/subprocess_backend.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/swarm/team_helpers.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/swarm/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/swarm/worktree.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tasks/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tasks/local_agent_task.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tasks/local_shell_task.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tasks/manager.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tasks/stop_task.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tasks/types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/agent_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/ask_user_question_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/base.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/bash_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/config_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/cron_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/enter_plan_mode_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/enter_worktree_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/exit_plan_mode_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/exit_worktree_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/file_edit_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/file_read_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/file_write_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/glob_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/grep_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/list_mcp_resources_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/lsp_formatters.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/lsp_schemas.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/lsp_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/mcp_auth_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/mcp_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/notebook_edit_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/powershell_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/read_mcp_resource_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/repl_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/send_message_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/shell_common.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/skill_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/sleep_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/structured_output_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/task_create_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/task_get_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/task_list_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/task_output_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/task_stop_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/task_update_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/team_create_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/team_delete_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/todo_write_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/tool_search_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/web_fetch_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/tools/web_search_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/app.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/backend_host.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/input.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/output.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/permission_dialog.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/permission_store.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/protocol.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/react_launcher.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/textual_app.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/web/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/web/server.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/ui/web/ws_host.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/utils/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/utils/ripgrep.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/src/illusion/utils/shell.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/api/test_anthropic_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/api/test_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/api/test_codex_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/api/test_effort.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/api/test_fallback/346/217/220/347/244/272.py" +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/api/test_openai_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/feishu/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/feishu/test_adapter.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/feishu/test_commands.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/feishu/test_session_map.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/test_base.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/test_base_commands.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/test_config.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/test_pid.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/test_tool_registration.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/tools/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/tools/test_feishu_doc.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/tools/test_feishu_drive.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/weixin/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/weixin/test_adapter.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/weixin/test_config.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/weixin/test_ilink_api.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/channels/weixin/test_session_map.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/commands/init/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/commands/init/test_claudemd.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/commands/init/test_orchestrator.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/commands/init/test_scanner.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/commands/init/test_sections.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/commands/test_effort_command.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/config/test_i18n.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/config/test_settings.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/conftest.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/engine/test_query_engine.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/fixtures/fake_mcp_server.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/integration/test_effort_integration.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/services/lsp/test_lsp_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/services/lsp/test_lsp_config.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/services/lsp/test_lsp_manager.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/services/lsp/test_lsp_types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_api/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_api/test_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_api/test_codex_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_api/test_compat.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_api/test_openai_client.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_auth/test_external.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_bridge/test_core.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_bridge/test_session_flow.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_commands/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_commands/test_cli.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_commands/test_command_flows.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_commands/test_registry.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_config/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_config/test_paths.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_config/test_settings.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_coordinator/test_agent_definitions.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_coordinator/test_coordinator_mode.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_engine/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_engine/test_media_block.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_engine/test_query_engine.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_engine/test_tool_result_media.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_hooks/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_hooks/test_executor.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_hooks_skills_plugins_real.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_mcp/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_mcp/test_integration.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_mcp/test_stdio_flow.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_memory/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_memory/test_memdir.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_merged_prs_on_autoagent.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_permissions/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_permissions/test_checker.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_platforms.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_plugins/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_plugins/test_lifecycle_flow.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_plugins/test_loader.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_prompts/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_prompts/test_claudemd.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_prompts/test_environment.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_prompts/test_system_prompt.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_real_large_tasks.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_adapter.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_config_schema.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_platform_linux.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_platform_macos.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_platform_windows.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_proxy_env_vars.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_runtime.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_symlink_protection.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_utils.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_sandbox/test_violation_store.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_scripts/test_sync_version.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_services/test_compact.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_services/test_cron.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_services/test_cron_scheduler.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_services/test_session_storage.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_skills/test_loader.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_swarm/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_swarm/test_agent_executor.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_swarm/test_imports.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_swarm/test_in_process.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_swarm/test_types.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_swarm/test_worktree.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tasks/test_manager.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_agent_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_core_tools.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_file_read_media.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_glob_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_grep_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_integration.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_integration_flows.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_mcp_auth_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_ripgrep.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_shell_common.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_task_tools.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_team_tools.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_tools/test_web_fetch_tool.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_ui/__init__.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_ui/test_modes.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_ui/test_permission_store.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_ui/test_react_backend.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_ui/test_react_launcher.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_ui/test_textual_app.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_untested_features.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/test_utils/test_shell.py +0 -0
- {illusion_code-0.2.0 → illusion_code-0.2.1}/tests/ui/test_backend_host.py +0 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: illusion-code
|
|
3
|
+
Version: 0.2.1
|
|
4
|
+
Summary: Open-source Python port of Claude Code - an AI-powered CLI coding assistant
|
|
5
|
+
Project-URL: Homepage, https://github.com/YunTaiHua/illusion-code
|
|
6
|
+
Project-URL: Repository, https://github.com/YunTaiHua/illusion-code
|
|
7
|
+
Project-URL: Issues, https://github.com/YunTaiHua/illusion-code/issues
|
|
8
|
+
Author-email: YunTaiHua <3597489498@qq.com>
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: ai,claude-code,cli,coding-agent,llm,terminal
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Requires-Dist: anthropic>=0.40.0
|
|
25
|
+
Requires-Dist: croniter>=2.0.0
|
|
26
|
+
Requires-Dist: fastapi>=0.115.0
|
|
27
|
+
Requires-Dist: httpx>=0.27.0
|
|
28
|
+
Requires-Dist: mcp>=1.0.0
|
|
29
|
+
Requires-Dist: openai>=1.0.0
|
|
30
|
+
Requires-Dist: prompt-toolkit>=3.0.0
|
|
31
|
+
Requires-Dist: pydantic>=2.0.0
|
|
32
|
+
Requires-Dist: pyperclip>=1.9.0
|
|
33
|
+
Requires-Dist: pyyaml>=6.0
|
|
34
|
+
Requires-Dist: rich>=13.0.0
|
|
35
|
+
Requires-Dist: textual>=0.80.0
|
|
36
|
+
Requires-Dist: typer>=0.12.0
|
|
37
|
+
Requires-Dist: uvicorn[standard]>=0.34.0
|
|
38
|
+
Requires-Dist: watchfiles>=0.20.0
|
|
39
|
+
Requires-Dist: websockets>=12.0
|
|
40
|
+
Provides-Extra: dev
|
|
41
|
+
Requires-Dist: mypy>=1.10.0; extra == 'dev'
|
|
42
|
+
Requires-Dist: pexpect>=4.9.0; extra == 'dev'
|
|
43
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
|
|
45
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
46
|
+
Requires-Dist: ruff>=0.5.0; extra == 'dev'
|
|
47
|
+
Provides-Extra: feishu
|
|
48
|
+
Requires-Dist: lark-oapi>=1.4.0; extra == 'feishu'
|
|
49
|
+
Provides-Extra: weixin
|
|
50
|
+
Requires-Dist: aiohttp>=3.9.0; extra == 'weixin'
|
|
51
|
+
Requires-Dist: cryptography>=42.0.0; extra == 'weixin'
|
|
52
|
+
Requires-Dist: qrcode>=7.4.0; extra == 'weixin'
|
|
53
|
+
Description-Content-Type: text/markdown
|
|
54
|
+
|
|
55
|
+
# IllusionCode
|
|
56
|
+
|
|
57
|
+
<div align="center">
|
|
58
|
+
|
|
59
|
+
**AI-Powered Command-Line Programming Assistant**
|
|
60
|
+
|
|
61
|
+
*The best of many worlds, unified into one intelligent coding tool*
|
|
62
|
+
|
|
63
|
+
[中文版](README.zh-CN.md) | English
|
|
64
|
+
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 📖 Introduction
|
|
70
|
+
|
|
71
|
+
IllusionCode is an open-source AI-powered command-line programming assistant that brings together the best ideas from many projects and adds its own innovations. It inherits Claude Code's complete prompt system and tool architecture, draws inspiration from OpenHarness's Python architecture design, uses the same Cron task scheduling architecture as OpenClaw, and implements flexible proxy routing through cc-switch. On this foundation, IllusionCode provides deep Windows optimization, full bilingual (Chinese/English) interface support, more comprehensive Markdown terminal rendering than comparable projects, and a browser-based Web UI for a modern chat experience.
|
|
72
|
+
|
|
73
|
+
### Core Features
|
|
74
|
+
|
|
75
|
+
- 🌐 **Web UI Interface** - Browser-based chat interface with `illusion web`
|
|
76
|
+
- 🪟 **Deep Windows Optimization** - Auto-detect Git, PowerShell support
|
|
77
|
+
- 🖥️ **Zero Terminal Flicker** - Stable rendering based on Ink Static component
|
|
78
|
+
- 🌍 **Bilingual Interface** - Chinese/English auto-switch via `ui_language` setting
|
|
79
|
+
- 📝 **Comprehensive Markdown Rendering** - Tables, code blocks, rich text
|
|
80
|
+
- 🤖 **Multi AI Provider Support** - Anthropic, OpenAI, Copilot, Codex, and any compatible endpoint
|
|
81
|
+
- 🛠️ **Rich Toolset** - 34 built-in tools + MCP dynamic tool extension
|
|
82
|
+
- ⌨️ **47 Slash Commands** - Session, config, project, scheduling
|
|
83
|
+
- 🧠 **Multi-Agent Collaboration** - 7 built-in specialized Agents
|
|
84
|
+
- 🔌 **Flexible Extension System** - Plugins, hooks, skills, MCP servers
|
|
85
|
+
- 🔐 **Comprehensive Permission Control** - Three modes + fine-grained rules
|
|
86
|
+
- 🎯 **Reasoning Effort Control** - low/medium/high/xhigh/max levels
|
|
87
|
+
|
|
88
|
+
### Interface Preview
|
|
89
|
+
|
|
90
|
+
<div align="center">
|
|
91
|
+
<p>Welcome screen & rich text rendering</p>
|
|
92
|
+
<img src="docs/images/image1.png" alt="IllusionCode welcome screen" width="48%" />
|
|
93
|
+
<img src="docs/images/image2.png" alt="IllusionCode rich text rendering" width="48%" />
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<div align="center">
|
|
97
|
+
<p>Demo video</p>
|
|
98
|
+
<a href="https://www.youtube.com/watch?v=ExrzKVjWPls">
|
|
99
|
+
<img src="docs/images/IllusionCode.png" alt="Click to watch demo video" width="720" />
|
|
100
|
+
</a>
|
|
101
|
+
<p><a href="https://www.youtube.com/watch?v=ExrzKVjWPls">📺 Watch demo on YouTube</a></p>
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 🚀 Quick Start
|
|
107
|
+
|
|
108
|
+
### Requirements
|
|
109
|
+
|
|
110
|
+
- Python >= 3.10
|
|
111
|
+
- Node.js 18+
|
|
112
|
+
- Supports Windows, macOS, Linux
|
|
113
|
+
|
|
114
|
+
### Installation
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Recommended: pip install from PyPI
|
|
118
|
+
pip install illusion-code
|
|
119
|
+
|
|
120
|
+
# Alternative: from source
|
|
121
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
122
|
+
cd illusion-code
|
|
123
|
+
pip install .
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Basic Usage
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# First-time: configure authentication
|
|
130
|
+
illusion auth login
|
|
131
|
+
|
|
132
|
+
# Start interactive session (recommended)
|
|
133
|
+
illusion
|
|
134
|
+
|
|
135
|
+
# Launch Web UI in browser
|
|
136
|
+
illusion web
|
|
137
|
+
|
|
138
|
+
# Non-interactive print mode
|
|
139
|
+
illusion -p "Analyze the structure of this project"
|
|
140
|
+
|
|
141
|
+
# Specify model
|
|
142
|
+
illusion -m env_1.model_2
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 📚 Detailed Documentation
|
|
148
|
+
|
|
149
|
+
| Topic | English | 中文 |
|
|
150
|
+
|-------|---------|------|
|
|
151
|
+
| Introduction | [docs/en/introduction.md](docs/en/introduction.md) | [docs/zh-CN/introduction.md](docs/zh-CN/introduction.md) |
|
|
152
|
+
| Getting Started | [docs/en/getting-started.md](docs/en/getting-started.md) | [docs/zh-CN/getting-started.md](docs/zh-CN/getting-started.md) |
|
|
153
|
+
| Commands | [docs/en/commands.md](docs/en/commands.md) | [docs/zh-CN/commands.md](docs/zh-CN/commands.md) |
|
|
154
|
+
| Settings & Credentials | [docs/en/settings.md](docs/en/settings.md) | [docs/zh-CN/settings.md](docs/zh-CN/settings.md) |
|
|
155
|
+
| Project Files & Memory | [docs/en/project-files.md](docs/en/project-files.md) | [docs/zh-CN/project-files.md](docs/zh-CN/project-files.md) |
|
|
156
|
+
| Extensions (MCP, Plugins, Skills, Hooks) | [docs/en/extensions.md](docs/en/extensions.md) | [docs/zh-CN/extensions.md](docs/zh-CN/extensions.md) |
|
|
157
|
+
| Architecture | [docs/en/architecture.md](docs/en/architecture.md) | [docs/zh-CN/architecture.md](docs/zh-CN/architecture.md) |
|
|
158
|
+
| Messaging Channels | [docs/en/channels.md](docs/en/channels.md) | [docs/zh-CN/channels.md](docs/zh-CN/channels.md) |
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 📄 License
|
|
163
|
+
|
|
164
|
+
This project is open-sourced under the [MIT](LICENSE) license.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 🤝 Contributing
|
|
169
|
+
|
|
170
|
+
Welcome to submit Issues and Pull Requests!
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
</div>
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# IllusionCode
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
**AI-Powered Command-Line Programming Assistant**
|
|
6
|
+
|
|
7
|
+
*The best of many worlds, unified into one intelligent coding tool*
|
|
8
|
+
|
|
9
|
+
[中文版](README.zh-CN.md) | English
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 📖 Introduction
|
|
16
|
+
|
|
17
|
+
IllusionCode is an open-source AI-powered command-line programming assistant that brings together the best ideas from many projects and adds its own innovations. It inherits Claude Code's complete prompt system and tool architecture, draws inspiration from OpenHarness's Python architecture design, uses the same Cron task scheduling architecture as OpenClaw, and implements flexible proxy routing through cc-switch. On this foundation, IllusionCode provides deep Windows optimization, full bilingual (Chinese/English) interface support, more comprehensive Markdown terminal rendering than comparable projects, and a browser-based Web UI for a modern chat experience.
|
|
18
|
+
|
|
19
|
+
### Core Features
|
|
20
|
+
|
|
21
|
+
- 🌐 **Web UI Interface** - Browser-based chat interface with `illusion web`
|
|
22
|
+
- 🪟 **Deep Windows Optimization** - Auto-detect Git, PowerShell support
|
|
23
|
+
- 🖥️ **Zero Terminal Flicker** - Stable rendering based on Ink Static component
|
|
24
|
+
- 🌍 **Bilingual Interface** - Chinese/English auto-switch via `ui_language` setting
|
|
25
|
+
- 📝 **Comprehensive Markdown Rendering** - Tables, code blocks, rich text
|
|
26
|
+
- 🤖 **Multi AI Provider Support** - Anthropic, OpenAI, Copilot, Codex, and any compatible endpoint
|
|
27
|
+
- 🛠️ **Rich Toolset** - 34 built-in tools + MCP dynamic tool extension
|
|
28
|
+
- ⌨️ **47 Slash Commands** - Session, config, project, scheduling
|
|
29
|
+
- 🧠 **Multi-Agent Collaboration** - 7 built-in specialized Agents
|
|
30
|
+
- 🔌 **Flexible Extension System** - Plugins, hooks, skills, MCP servers
|
|
31
|
+
- 🔐 **Comprehensive Permission Control** - Three modes + fine-grained rules
|
|
32
|
+
- 🎯 **Reasoning Effort Control** - low/medium/high/xhigh/max levels
|
|
33
|
+
|
|
34
|
+
### Interface Preview
|
|
35
|
+
|
|
36
|
+
<div align="center">
|
|
37
|
+
<p>Welcome screen & rich text rendering</p>
|
|
38
|
+
<img src="docs/images/image1.png" alt="IllusionCode welcome screen" width="48%" />
|
|
39
|
+
<img src="docs/images/image2.png" alt="IllusionCode rich text rendering" width="48%" />
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<div align="center">
|
|
43
|
+
<p>Demo video</p>
|
|
44
|
+
<a href="https://www.youtube.com/watch?v=ExrzKVjWPls">
|
|
45
|
+
<img src="docs/images/IllusionCode.png" alt="Click to watch demo video" width="720" />
|
|
46
|
+
</a>
|
|
47
|
+
<p><a href="https://www.youtube.com/watch?v=ExrzKVjWPls">📺 Watch demo on YouTube</a></p>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 🚀 Quick Start
|
|
53
|
+
|
|
54
|
+
### Requirements
|
|
55
|
+
|
|
56
|
+
- Python >= 3.10
|
|
57
|
+
- Node.js 18+
|
|
58
|
+
- Supports Windows, macOS, Linux
|
|
59
|
+
|
|
60
|
+
### Installation
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Recommended: pip install from PyPI
|
|
64
|
+
pip install illusion-code
|
|
65
|
+
|
|
66
|
+
# Alternative: from source
|
|
67
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
68
|
+
cd illusion-code
|
|
69
|
+
pip install .
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Basic Usage
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# First-time: configure authentication
|
|
76
|
+
illusion auth login
|
|
77
|
+
|
|
78
|
+
# Start interactive session (recommended)
|
|
79
|
+
illusion
|
|
80
|
+
|
|
81
|
+
# Launch Web UI in browser
|
|
82
|
+
illusion web
|
|
83
|
+
|
|
84
|
+
# Non-interactive print mode
|
|
85
|
+
illusion -p "Analyze the structure of this project"
|
|
86
|
+
|
|
87
|
+
# Specify model
|
|
88
|
+
illusion -m env_1.model_2
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 📚 Detailed Documentation
|
|
94
|
+
|
|
95
|
+
| Topic | English | 中文 |
|
|
96
|
+
|-------|---------|------|
|
|
97
|
+
| Introduction | [docs/en/introduction.md](docs/en/introduction.md) | [docs/zh-CN/introduction.md](docs/zh-CN/introduction.md) |
|
|
98
|
+
| Getting Started | [docs/en/getting-started.md](docs/en/getting-started.md) | [docs/zh-CN/getting-started.md](docs/zh-CN/getting-started.md) |
|
|
99
|
+
| Commands | [docs/en/commands.md](docs/en/commands.md) | [docs/zh-CN/commands.md](docs/zh-CN/commands.md) |
|
|
100
|
+
| Settings & Credentials | [docs/en/settings.md](docs/en/settings.md) | [docs/zh-CN/settings.md](docs/zh-CN/settings.md) |
|
|
101
|
+
| Project Files & Memory | [docs/en/project-files.md](docs/en/project-files.md) | [docs/zh-CN/project-files.md](docs/zh-CN/project-files.md) |
|
|
102
|
+
| Extensions (MCP, Plugins, Skills, Hooks) | [docs/en/extensions.md](docs/en/extensions.md) | [docs/zh-CN/extensions.md](docs/zh-CN/extensions.md) |
|
|
103
|
+
| Architecture | [docs/en/architecture.md](docs/en/architecture.md) | [docs/zh-CN/architecture.md](docs/zh-CN/architecture.md) |
|
|
104
|
+
| Messaging Channels | [docs/en/channels.md](docs/en/channels.md) | [docs/zh-CN/channels.md](docs/zh-CN/channels.md) |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 📄 License
|
|
109
|
+
|
|
110
|
+
This project is open-sourced under the [MIT](LICENSE) license.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 🤝 Contributing
|
|
115
|
+
|
|
116
|
+
Welcome to submit Issues and Pull Requests!
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
</div>
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# IllusionCode
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
**AI 驱动的命令行编程助手**
|
|
6
|
+
|
|
7
|
+
*集百家之所长,融会贯通的智能编程工具*
|
|
8
|
+
|
|
9
|
+
中文 | [English](README.md)
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 📖 项目简介
|
|
16
|
+
|
|
17
|
+
IllusionCode 是一个开源的 AI 驱动命令行编程助手,集成了众多优秀项目的精华并加以创新。它继承了 Claude Code 的完整提示词体系和工具架构,在 Python 架构设计上借鉴了 OpenHarness 的理念,采用与 OpenClaw 相同的 Cron 任务调度架构,并通过 cc-switch 反代方案实现了灵活的代理路由。在此基础上,IllusionCode 针对 Windows 系统进行了深度优化,提供了完整的中英双语界面支持,实现了比同类项目更全面的 Markdown 终端渲染能力,并提供了浏览器端的 Web UI 界面。
|
|
18
|
+
|
|
19
|
+
### 核心特性
|
|
20
|
+
|
|
21
|
+
- 🌐 **Web UI 界面** - 通过 `illusion web` 启动浏览器聊天界面
|
|
22
|
+
- 🪟 **Windows 系统深度优化** - 自动查找 Git、PowerShell 支持
|
|
23
|
+
- 🖥️ **终端渲染零闪烁** - 基于 Ink Static 组件的稳定渲染
|
|
24
|
+
- 🌍 **中英双语支持** - 所有 CLI 输出根据 `ui_language` 设置自动切换中英文
|
|
25
|
+
- 📝 **全面 Markdown 渲染** - 直角边框表格、圆角卡片代码块、多色富文本
|
|
26
|
+
- 🤖 **多 AI 提供商支持** - Anthropic Claude、OpenAI、GitHub Copilot、OpenAI Codex 及任意 OpenAI 兼容端点
|
|
27
|
+
- 🛠️ **丰富的工具集** - 34 内置工具 + MCP 动态工具扩展
|
|
28
|
+
- ⌨️ **47 个斜杠命令** - 覆盖会话管理、配置、项目操作、任务调度等
|
|
29
|
+
- 🧠 **多智能体协作** - 7 种内置专业 Agent,支持任务编排
|
|
30
|
+
- 🔌 **灵活扩展系统** - 插件、钩子、技能、MCP 服务器
|
|
31
|
+
- 🔐 **完善权限控制** - 三种模式 + 细粒度规则 + Always Allow 一键放行
|
|
32
|
+
- 🎯 **推理强度控制** - 支持 low/medium/high/xhigh/max 五种推理强度级别
|
|
33
|
+
|
|
34
|
+
### 界面展示
|
|
35
|
+
|
|
36
|
+
<div align="center">
|
|
37
|
+
<p>欢迎界面 & 富文本渲染</p>
|
|
38
|
+
<img src="docs/images/image1.png" alt="IllusionCode 欢迎界面" width="48%" />
|
|
39
|
+
<img src="docs/images/image2.png" alt="IllusionCode 富文本渲染" width="48%" />
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<div align="center">
|
|
43
|
+
<p>演示视频</p>
|
|
44
|
+
<a href="https://b23.tv/3mWe9It">
|
|
45
|
+
<img src="docs/images/IllusionCode.png" alt="点击观看演示视频" width="720" />
|
|
46
|
+
</a>
|
|
47
|
+
<p><a href="https://b23.tv/3mWe9It">📺 B站观看演示视频</a></p>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 🚀 快速开始
|
|
53
|
+
|
|
54
|
+
### 环境要求
|
|
55
|
+
|
|
56
|
+
- Python >= 3.10
|
|
57
|
+
- Node.js 18+
|
|
58
|
+
- 支持 Windows、macOS、Linux
|
|
59
|
+
|
|
60
|
+
### 安装
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# 推荐方式:从 PyPI 安装
|
|
64
|
+
pip install illusion-code
|
|
65
|
+
|
|
66
|
+
# 备选方式:从源码安装
|
|
67
|
+
git clone https://github.com/YunTaiHua/illusion-code.git
|
|
68
|
+
cd illusion-code
|
|
69
|
+
pip install .
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 基本使用
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# 首次使用:配置认证
|
|
76
|
+
illusion auth login
|
|
77
|
+
|
|
78
|
+
# 启动交互式会话(推荐)
|
|
79
|
+
illusion
|
|
80
|
+
|
|
81
|
+
# 启动 Web UI 浏览器界面
|
|
82
|
+
illusion web
|
|
83
|
+
|
|
84
|
+
# 非交互式打印模式
|
|
85
|
+
illusion -p "帮我分析这个项目的结构"
|
|
86
|
+
|
|
87
|
+
# 指定模型
|
|
88
|
+
illusion -m env_1.model_2
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 📚 详细文档
|
|
94
|
+
|
|
95
|
+
| 主题 | English | 中文 |
|
|
96
|
+
|------|---------|------|
|
|
97
|
+
| 项目简介 | [docs/en/introduction.md](docs/en/introduction.md) | [docs/zh-CN/introduction.md](docs/zh-CN/introduction.md) |
|
|
98
|
+
| 快速开始 | [docs/en/getting-started.md](docs/en/getting-started.md) | [docs/zh-CN/getting-started.md](docs/zh-CN/getting-started.md) |
|
|
99
|
+
| 命令系统 | [docs/en/commands.md](docs/en/commands.md) | [docs/zh-CN/commands.md](docs/zh-CN/commands.md) |
|
|
100
|
+
| 设置与凭据 | [docs/en/settings.md](docs/en/settings.md) | [docs/zh-CN/settings.md](docs/zh-CN/settings.md) |
|
|
101
|
+
| 项目文件与记忆 | [docs/en/project-files.md](docs/en/project-files.md) | [docs/zh-CN/project-files.md](docs/zh-CN/project-files.md) |
|
|
102
|
+
| 扩展系统 (MCP, 插件, 技能, 钩子) | [docs/en/extensions.md](docs/en/extensions.md) | [docs/zh-CN/extensions.md](docs/zh-CN/extensions.md) |
|
|
103
|
+
| 项目架构 | [docs/en/architecture.md](docs/en/architecture.md) | [docs/zh-CN/architecture.md](docs/zh-CN/architecture.md) |
|
|
104
|
+
| 消息渠道 | [docs/en/channels.md](docs/en/channels.md) | [docs/zh-CN/channels.md](docs/zh-CN/channels.md) |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 📄 许可证
|
|
109
|
+
|
|
110
|
+
本项目采用 [MIT](LICENSE) 许可证开源。
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 🤝 贡献
|
|
115
|
+
|
|
116
|
+
欢迎提交 Issue 和 Pull Request!
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
</div>
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Project Architecture
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
illusion-code/
|
|
5
|
+
├── src/illusion/ # Main source code
|
|
6
|
+
│ ├── api/ # API clients (Anthropic, OpenAI, etc.)
|
|
7
|
+
│ ├── auth/ # Authentication management
|
|
8
|
+
│ ├── commands/ # Slash command system (47 commands)
|
|
9
|
+
│ ├── config/ # Configuration system
|
|
10
|
+
│ ├── coordinator/ # Multi-agent coordinator
|
|
11
|
+
│ ├── engine/ # Core conversation engine
|
|
12
|
+
│ ├── hooks/ # Hook system
|
|
13
|
+
│ ├── mcp/ # MCP client
|
|
14
|
+
│ ├── memory/ # Memory system
|
|
15
|
+
│ ├── permissions/ # Permission system
|
|
16
|
+
│ ├── plugins/ # Plugin system
|
|
17
|
+
│ ├── prompts/ # Prompt system
|
|
18
|
+
│ ├── skills/ # Skill system
|
|
19
|
+
│ ├── tasks/ # Task management
|
|
20
|
+
│ ├── tools/ # Toolset (34 base tools)
|
|
21
|
+
│ ├── ui/ # User interface
|
|
22
|
+
│ │ ├── web/ # Web backend (FastAPI + WebSocket)
|
|
23
|
+
│ │ └── ...
|
|
24
|
+
│ └── cli.py # CLI entry point
|
|
25
|
+
├── frontend/
|
|
26
|
+
│ ├── terminal/ # React Ink TUI frontend
|
|
27
|
+
│ └── web/ # React Web frontend (Vite + Tailwind)
|
|
28
|
+
├── tests/ # Test suite
|
|
29
|
+
└── pyproject.toml # Project configuration
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Core Modules
|
|
35
|
+
|
|
36
|
+
### API Client Layer
|
|
37
|
+
|
|
38
|
+
Supports multiple AI providers:
|
|
39
|
+
|
|
40
|
+
| Provider | API Format | Authentication |
|
|
41
|
+
|----------|------------|----------------|
|
|
42
|
+
| Anthropic Claude | anthropic | API Key |
|
|
43
|
+
| OpenAI / Compatible | openai | API Key |
|
|
44
|
+
| GitHub Copilot | openai | OAuth Device Flow |
|
|
45
|
+
| OpenAI Codex | openai | External CLI (Codex CLI) |
|
|
46
|
+
| Custom Provider | anthropic / openai | API Key |
|
|
47
|
+
|
|
48
|
+
### Tool System
|
|
49
|
+
|
|
50
|
+
Provides 34 core tools, covering:
|
|
51
|
+
|
|
52
|
+
- **File Operations**: `file_read`, `file_write`, `file_edit`, `notebook_edit`
|
|
53
|
+
- **Command Execution**: `bash`, `powershell`, `repl`
|
|
54
|
+
- **Search**: `glob`, `grep`, `web_fetch`, `web_search`, `tool_search`
|
|
55
|
+
- **Task Management**: `task_create`, `task_get`, `task_list`, `task_update`, `task_output`, `task_stop`
|
|
56
|
+
- **Agent Collaboration**: `agent`, `send_message`, `team_create`, `team_delete`
|
|
57
|
+
- **Mode Switching**: `enter_plan_mode`, `exit_plan_mode`
|
|
58
|
+
- **Session Control**: `enter_worktree`, `exit_worktree`, `todo_write`, `sleep`
|
|
59
|
+
- **Config & Debug**: `config`, `lsp`, `mcp_auth`, `skill`, `structured_output`
|
|
60
|
+
- **Interaction**: `ask_user_question`
|
|
61
|
+
- **Scheduled Tasks**: `cron` (unified tool with status/list/add/update/remove/run actions)
|
|
62
|
+
|
|
63
|
+
### Permission System
|
|
64
|
+
|
|
65
|
+
Three permission modes:
|
|
66
|
+
|
|
67
|
+
| Mode | Description |
|
|
68
|
+
|------|-------------|
|
|
69
|
+
| `default` | Modification tools require user confirmation |
|
|
70
|
+
| `plan` | Block all modification tools |
|
|
71
|
+
| `full_auto` | Allow all operations |
|
|
72
|
+
|
|
73
|
+
### Multi-Agent Coordinator
|
|
74
|
+
|
|
75
|
+
Built-in 7 specialized Agents:
|
|
76
|
+
|
|
77
|
+
| Agent | Purpose |
|
|
78
|
+
|-------|---------|
|
|
79
|
+
| `general-purpose` | General research and multi-step tasks |
|
|
80
|
+
| `Explore` | File search and code exploration expert |
|
|
81
|
+
| `Plan` | Architecture design and implementation planning expert |
|
|
82
|
+
| `verification` | Adversarial verification expert |
|
|
83
|
+
| `worker` | Implementation-oriented Worker |
|
|
84
|
+
| `statusline-setup` | Shell PS1 converter |
|
|
85
|
+
| `illusion-guide` | Illusion Code / SDK / API documentation expert |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Frontend Tech Stack
|
|
90
|
+
|
|
91
|
+
### Terminal TUI (Ink)
|
|
92
|
+
|
|
93
|
+
| Technology | Version | Purpose |
|
|
94
|
+
|------------|---------|---------|
|
|
95
|
+
| React | 18.3.1 | UI framework |
|
|
96
|
+
| Ink | 5.1.0 | Terminal UI component library |
|
|
97
|
+
| TypeScript | 5.7.3 | Type safety |
|
|
98
|
+
|
|
99
|
+
### Web UI
|
|
100
|
+
|
|
101
|
+
| Technology | Version | Purpose |
|
|
102
|
+
|------------|---------|---------|
|
|
103
|
+
| React | 18.x | UI framework |
|
|
104
|
+
| Vite | 6.x | Build tool and dev server |
|
|
105
|
+
| Tailwind CSS | 3.x | Utility-first CSS framework |
|
|
106
|
+
| TypeScript | 5.x | Type safety |
|
|
107
|
+
| FastAPI | - | Backend API framework |
|
|
108
|
+
| WebSocket | - | Real-time bidirectional communication |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Main Dependencies
|
|
113
|
+
|
|
114
|
+
| Dependency | Purpose |
|
|
115
|
+
|------------|---------|
|
|
116
|
+
| anthropic | Anthropic SDK |
|
|
117
|
+
| openai | OpenAI SDK |
|
|
118
|
+
| rich | Rich text output |
|
|
119
|
+
| prompt-toolkit | Advanced input processing |
|
|
120
|
+
| textual | TUI framework |
|
|
121
|
+
| typer | CLI framework |
|
|
122
|
+
| pydantic | Data validation |
|
|
123
|
+
| httpx | HTTP client |
|
|
124
|
+
| mcp | MCP protocol |
|
|
125
|
+
| fastapi | Web backend API framework |
|
|
126
|
+
| uvicorn | ASGI server for Web backend |
|