jarvis-ai-assistant 1.0.2__tar.gz → 1.0.9__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.
- {jarvis_ai_assistant-1.0.2/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-1.0.9}/PKG-INFO +273 -129
- jarvis_ai_assistant-1.0.9/README.md +573 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/pyproject.toml +4 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/setup.py +4 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/__init__.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/__init__.py +42 -44
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/agent_manager.py +1 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/builtin_input_handler.py +31 -30
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/event_bus.py +3 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/file_context_handler.py +12 -7
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/file_methodology_manager.py +20 -12
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/jarvis.py +14 -60
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/java_extractor.py +18 -9
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/javascript_extractor.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/typescript_extractor.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_support_info.py +3 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/main.py +3 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/memory_manager.py +8 -6
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/methodology_share_manager.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/prompt_manager.py +22 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/session_manager.py +2 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/share_manager.py +6 -9
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/stdio_redirect.py +5 -4
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/task_analyzer.py +10 -8
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/task_list.py +18 -16
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/task_manager.py +4 -4
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/tool_share_manager.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/utils.py +2 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/web_bridge.py +5 -6
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/web_output_sink.py +2 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/web_server.py +11 -12
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/cli.py +21 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/collector.py +3 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/library_replacer.py +2 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/library_replacer_llm.py +28 -21
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/llm_module_agent_executor.py +28 -11
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/loaders.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer.py +7 -12
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_clippy.py +3 -46
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_options.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_progress.py +7 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/scanner.py +10 -10
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler.py +173 -34
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_agents.py +14 -11
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_build.py +272 -32
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_codegen.py +70 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_executor.py +29 -26
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_generation.py +32 -16
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_mod_utils.py +3 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_modules.py +120 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_planning.py +25 -8
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_review.py +0 -21
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_symbols.py +4 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/builtin_rules.py +6 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent.py +98 -22
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent_diff.py +3 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent_rules.py +8 -6
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/java_maven.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/validator.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/context_manager.py +2 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/dependency_analyzer.py +3 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/language_registry.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/languages/c_cpp_language.py +2 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/languages/go_language.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/languages/java_language.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/languages/javascript_language.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/languages/python_language.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/languages/rust_language.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/languages/typescript_language.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/llm_context_recommender.py +6 -9
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/symbol_extractor.py +6 -6
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/tree_sitter_extractor.py +2 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/diff_visualizer.py +5 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/rule_share_manager.py +1 -1
- jarvis_ai_assistant-1.0.9/src/jarvis/jarvis_config/__init__.py +12 -0
- jarvis_ai_assistant-1.0.9/src/jarvis/jarvis_config/cli.py +140 -0
- jarvis_ai_assistant-1.0.9/src/jarvis/jarvis_config/schema_parser.py +618 -0
- jarvis_ai_assistant-1.0.9/src/jarvis/jarvis_config/web_app.py +1413 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_data/config_schema.json +19 -57
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_git_utils/git_commiter.py +8 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform/base.py +2 -2
- jarvis_ai_assistant-1.0.9/src/jarvis/jarvis_platform/claude.py +322 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform/openai.py +31 -6
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform/registry.py +51 -6
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform_manager/main.py +28 -4
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/__init__.py +8 -7
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/agents.py +5 -6
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/analysis.py +102 -90
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/checkers/c_checker.py +118 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/clustering.py +187 -162
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/file_manager.py +8 -8
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/parsers.py +5 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/report.py +13 -13
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/review.py +31 -31
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/status.py +9 -9
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/utils.py +24 -22
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/verification.py +39 -35
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/workflow.py +4 -9
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_stats/cli.py +11 -11
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_stats/stats.py +9 -9
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_stats/storage.py +7 -7
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/base.py +7 -8
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/clear_memory.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/cli/main.py +5 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/edit_file.py +6 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/execute_script.py +32 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/meta_agent.py +4 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/methodology.py +2 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/read_code.py +16 -10
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/read_symbols.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/registry.py +17 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/retrieve_memory.py +2 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/save_memory.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/search_web.py +7 -2
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/sub_agent.py +2 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/sub_code_agent.py +11 -4
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/task_list_manager.py +500 -130
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/virtual_tty.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/collections.py +7 -9
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/config.py +99 -68
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/dialogue_recorder.py +1 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/git_utils.py +3 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/globals.py +3 -1
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/http.py +5 -5
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/input.py +28 -29
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/jsonnet_compat.py +15 -12
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/methodology.py +16 -4
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/output.py +64 -3
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/utils.py +118 -267
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9/src/jarvis_ai_assistant.egg-info}/PKG-INFO +273 -129
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis_ai_assistant.egg-info/SOURCES.txt +5 -18
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis_ai_assistant.egg-info/entry_points.txt +2 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis_ai_assistant.egg-info/requires.txt +1 -0
- jarvis_ai_assistant-1.0.2/README.md +0 -430
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/code_agent_llm.py +0 -159
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/rules/clean_code.md +0 -144
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/rules/code_review.md +0 -115
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/rules/documentation.md +0 -165
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/rules/generate_rules.md +0 -52
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/rules/performance.md +0 -158
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/rules/refactoring.md +0 -139
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/rules/security.md +0 -160
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/rules/tdd.md +0 -78
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/test_rules/cpp_test.md +0 -118
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/test_rules/go_test.md +0 -98
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/test_rules/java_test.md +0 -99
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/test_rules/javascript_test.md +0 -113
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/test_rules/php_test.md +0 -117
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/test_rules/python_test.md +0 -91
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/test_rules/ruby_test.md +0 -102
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_code_agent/test_rules/rust_test.md +0 -86
- jarvis_ai_assistant-1.0.2/src/jarvis/jarvis_tools/file_analyzer.py +0 -116
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/LICENSE +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/MANIFEST.in +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/setup.cfg +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/config_editor.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/events.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/c_extractor.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/cpp_extractor.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/go_extractor.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/python_extractor.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/language_extractors/rust_extractor.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/output_handler.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/prompt_builder.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/prompts.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/protocols.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/run_loop.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/shell_input_handler.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/tool_executor.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_agent/user_interaction.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/constants.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/library_replacer_checkpoint.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/library_replacer_loader.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/library_replacer_output.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/library_replacer_prompts.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/library_replacer_utils.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/llm_module_agent.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/llm_module_agent_apply.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/llm_module_agent_loader.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/llm_module_agent_prompts.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/llm_module_agent_types.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/llm_module_agent_utils.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/llm_module_agent_validator.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/models.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_build_fix.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_config.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_docs.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_report.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_unsafe.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_utils.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/optimizer_visibility.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_compile.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_config.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_context.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/transpiler_git.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_c2rust/utils.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/after_change.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/build_validation_config.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent_build.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent_git.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent_impact.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent_lint.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent_postprocess.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_agent_prompts.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/base_language.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/base.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/cmake.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/detector.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/fallback.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/go.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/java_gradle.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/makefile.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/nodejs.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/python.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator/rust.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/build_validator.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/context_recommender.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/file_ignore.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/impact_analyzer.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/language_support.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/code_analyzer/languages/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/lint.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_agent/utils.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/c_cpp.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/csharp.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/data_format.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/devops.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/docs.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/go.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/infrastructure.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/java.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/javascript.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/kotlin.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/loader.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/php.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/python.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/ruby.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/rust.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/shell.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/sql.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/swift.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/checklists/web.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_code_analysis/code_review.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_data/tiktoken/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_git_squash/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_git_squash/main.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_mcp/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_mcp/sse_mcp_client.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_mcp/stdio_mcp_client.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_mcp/streamable_mcp_client.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_memory_organizer/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_memory_organizer/memory_organizer.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_methodology/main.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_multi_agent/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_multi_agent/main.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform/human.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform/kimi.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform/tongyi.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform/yuanbao.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform_manager/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_platform_manager/service.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/README_CONFIG.md +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/README_DYNAMIC_LOADING.md +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/README_ONLINE_MODELS.md +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/cache.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/cli.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embedding_interface.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embedding_manager.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embeddings/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embeddings/base.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embeddings/cohere.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embeddings/edgefn.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embeddings/local.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embeddings/openai.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/embeddings/registry.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/llm_interface.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/query_rewriter.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/rag_pipeline.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/reranker.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/reranker_interface.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/rerankers/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/rerankers/base.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/rerankers/cohere.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/rerankers/edgefn.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/rerankers/jina.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/rerankers/local.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/rerankers/registry.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_rag/retriever.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/checkers/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/checkers/rust_checker.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/cli.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/prompts.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_sec/types.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_smart_shell/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_smart_shell/main.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_stats/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_stats/visualizer.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/cli/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_tools/read_webpage.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/__init__.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/builtin_replace_map.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/clipboard.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/embedding.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/file_processors.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/fzf.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis/jarvis_utils/tag.py +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis_ai_assistant.egg-info/dependency_links.txt +0 -0
- {jarvis_ai_assistant-1.0.2 → jarvis_ai_assistant-1.0.9}/src/jarvis_ai_assistant.egg-info/top_level.txt +0 -0
{jarvis_ai_assistant-1.0.2/src/jarvis_ai_assistant.egg-info → jarvis_ai_assistant-1.0.9}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jarvis-ai-assistant
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.9
|
|
4
4
|
Summary: Jarvis: An AI assistant that uses tools to interact with the system
|
|
5
5
|
Home-page: https://github.com/skyfireitdiy/Jarvis
|
|
6
6
|
Author: skyfire
|
|
@@ -52,6 +52,7 @@ Requires-Dist: python-Levenshtein==0.25.1
|
|
|
52
52
|
Requires-Dist: tiktoken==0.7.0
|
|
53
53
|
Requires-Dist: pillow==10.2.0
|
|
54
54
|
Requires-Dist: openai==1.78.1
|
|
55
|
+
Requires-Dist: anthropic>=0.40.0
|
|
55
56
|
Requires-Dist: tabulate==0.9.0
|
|
56
57
|
Requires-Dist: pyte==0.8.2
|
|
57
58
|
Requires-Dist: pyyaml>=5.3.1
|
|
@@ -193,61 +194,88 @@ Dynamic: requires-python
|
|
|
193
194
|
|
|
194
195
|
[](https://www.python.org/downloads/)[](https://opensource.org/licenses/MIT)
|
|
195
196
|
|
|
196
|
-
|
|
197
|
+
_您的智能开发和系统交互助手_
|
|
197
198
|
|
|
198
199
|
[快速开始](#quick-start) • [核心功能](#core-features) • [配置说明](#configuration) • [Jarvis Book](#jarvis-book) • [Wiki文档](docs/jarvis_book/1.项目介绍.md) • [贡献指南](#contributing) • [许可证](#license)
|
|
200
|
+
|
|
199
201
|
</div>
|
|
200
202
|
|
|
201
203
|
---
|
|
202
204
|
|
|
203
205
|
## 🎯 定位与优势
|
|
204
206
|
|
|
205
|
-
Jarvis
|
|
207
|
+
Jarvis 的定位是**AI应用开发SDK**,提供强大而灵活的基础组件,帮助开发者快速构建专业的AI应用。与传统的`workflow`形式Agent平台(如Dify)不同,Jarvis以Python SDK的形式提供,强调可编程性和可扩展性,让开发者能够自由定制AI应用的行为和逻辑。
|
|
206
208
|
|
|
207
209
|
### Jarvis 的核心优势
|
|
208
210
|
|
|
209
|
-
1.
|
|
210
|
-
2.
|
|
211
|
-
3.
|
|
211
|
+
1. **强大而灵活的基础组件**: 提供 `Agent` 和 `CodeAgent` 等精心设计的基础组件,开发者可以快速基于这些组件构建专业的AI应用,无需从零开始。
|
|
212
|
+
2. **高度可编程的SDK**: 以纯Python SDK形式提供,开发者可以自由组合各种能力,编写符合自己业务逻辑的AI应用,而非受限于固定的工作流。
|
|
213
|
+
3. **开箱即用的工具生态**: 内置丰富的工具集(代码分析、文件操作、命令执行等),开发者可以直接使用,也可以轻松扩展自定义工具。
|
|
212
214
|
|
|
213
215
|
### 💡 Jarvis 的价值:工作流对比
|
|
214
216
|
|
|
215
|
-
####
|
|
217
|
+
#### 示例一:开发代码分析Agent
|
|
218
|
+
|
|
219
|
+
**传统开发方式 (没有 Jarvis SDK):**
|
|
220
|
+
|
|
221
|
+
1. **设计Agent架构**: 从零开始设计Agent的决策流程、工具调用机制、上下文管理等核心模块。
|
|
222
|
+
2. **实现工具系统**: 手动实现工具注册、参数解析、结果处理等基础设施。
|
|
223
|
+
3. **集成LLM**: 编写代码调用各种大模型API,处理流式输出、错误重试等复杂逻辑。
|
|
224
|
+
4. **开发特定能力**: 针对代码分析需求,实现代码解析、符号查找、编辑操作等专门功能。
|
|
225
|
+
5. **测试与调试**: 反复测试Agent行为,修复各种边界情况和错误场景。
|
|
226
|
+
|
|
227
|
+
> 这个过程需要大量时间和精力投入在基础设施开发上,而非核心业务逻辑。
|
|
228
|
+
|
|
229
|
+
**使用 Jarvis SDK 开发:**
|
|
230
|
+
|
|
231
|
+
```python
|
|
232
|
+
from jarvis import CodeAgent
|
|
233
|
+
|
|
234
|
+
# 创建CodeAgent实例,内置代码分析、编辑、执行等能力
|
|
235
|
+
agent = CodeAgent()
|
|
216
236
|
|
|
217
|
-
|
|
237
|
+
# 让Agent自主完成任务,自动使用内置工具
|
|
238
|
+
result = agent.run('为 user/service.py 添加用户profile接口')
|
|
218
239
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
240
|
+
# CodeAgent会自动:
|
|
241
|
+
# 1. 分析代码结构,定位相关文件
|
|
242
|
+
# 2. 使用read_code读取文件内容
|
|
243
|
+
# 3. 使用edit_file精确修改代码
|
|
244
|
+
# 4. 使用execute_script运行测试
|
|
245
|
+
# 5. 验证修改是否成功
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
> 通过 Jarvis SDK,开发者只需几行代码就能构建功能完善的AI应用,将精力集中在**业务逻辑和用户体验**等高价值活动上,而非重复造轮子。
|
|
224
249
|
|
|
225
|
-
|
|
250
|
+
#### 示例二:开发文档生成Agent
|
|
226
251
|
|
|
227
|
-
|
|
252
|
+
基于Jarvis SDK,您可以轻松构建文档生成Agent,自动维护项目文档。
|
|
228
253
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
* Jarvis 使用代码分析工具自动分析代码结构,通过符号名称快速定位相关文件 (`user/service.py`, `user/controller.py`, `tests/test_user.py`)。
|
|
232
|
-
* 使用代码编辑工具精确修改代码,自动生成新接口的代码、必要的单元测试,并提出修改方案。
|
|
233
|
-
* 自动检查依赖关系,确保修改不会破坏现有功能。
|
|
234
|
-
3. **人机协作与迭代**:
|
|
235
|
-
* 你审查 AI 生成的代码,并提出修改意见:`"字段名需要用驼峰式"` 或 `"增加一个输入校验"`。
|
|
236
|
-
* Jarvis 根据反馈快速迭代,更新代码。
|
|
237
|
-
4. **自动化提交**:
|
|
238
|
-
* 完成开发后,执行 `jgc` (Git 提交助理)。
|
|
239
|
-
* Jarvis 自动分析代码变更,生成一条规范的 Git Commit Message (例如: `feat(user): add user profile api with query and update`)。
|
|
254
|
+
```python
|
|
255
|
+
from jarvis import Agent
|
|
240
256
|
|
|
241
|
-
|
|
257
|
+
# 创建文档生成Agent,通过system_prompt定制行为
|
|
258
|
+
agent = Agent(
|
|
259
|
+
system_prompt="""你是一个专业的文档维护助手。
|
|
260
|
+
能够分析现有文档,并根据指令改进文档内容。
|
|
261
|
+
""",
|
|
262
|
+
name="DocGenerator"
|
|
263
|
+
)
|
|
242
264
|
|
|
243
|
-
|
|
265
|
+
# 让Agent自主完成文档维护任务
|
|
266
|
+
agent.run('分析README.md,补充用户群体和应用场景信息')
|
|
244
267
|
|
|
245
|
-
|
|
268
|
+
# 继续迭代文档
|
|
269
|
+
agent.run('在README中增加一个工作流对比示例')
|
|
270
|
+
|
|
271
|
+
# Agent会自动:
|
|
272
|
+
# 1. 使用read_code读取文档内容
|
|
273
|
+
# 2. 分析现有结构和风格
|
|
274
|
+
# 3. 使用edit_file精确修改文档
|
|
275
|
+
# 4. 确保格式和风格一致
|
|
276
|
+
```
|
|
246
277
|
|
|
247
|
-
|
|
248
|
-
2. **探索与学习**: Jarvis 使用 `fd` 和 `read_code` 工具,分析了 `docs/` 目录下的说明文档,快速学习了项目的核心定位和功能。
|
|
249
|
-
3. **迭代完善**: 根据 “补充用户群体”、“增加工作流对比”、“再增加一个例子” 等一系列追加指令,Jarvis 通过多次 `PATCH` 操作,逐步、精确地将新内容添加到本文档的指定位置。
|
|
250
|
-
4. **人机协作**: 在整个过程中,人类提供高层次的目标和方向,Jarvis 负责具体的探索、总结和代码(文档)修改任务,将一个模糊的想法快速落地为结构清晰的文档。
|
|
278
|
+
> 通过简单的SDK调用,就能构建出功能完善的文档生成Agent,将文档维护从手动操作转为自动化流程。
|
|
251
279
|
|
|
252
280
|
### Vibe Working: 一种更直觉的工作流
|
|
253
281
|
|
|
@@ -255,13 +283,13 @@ Jarvis 的核心理念与一种新兴的人机协作模式 **"Vibe Working"** (
|
|
|
255
283
|
|
|
256
284
|
这不再是传统的“指令-执行”模式,而是一种**对话式、迭代式**的共同创造过程。
|
|
257
285
|
|
|
258
|
-
|
|
286
|
+
- **从一个“感觉”开始**: 传统的自动化需要精确的输入和规则。而使用 Jarvis,你可以从一个模糊的目标开始,比如 `jca "给我写个脚本,监控这个网站的变化"` 或者 `jca "重构 'user' 模块,让它看起来更清爽"`。你提供的是方向和“感觉”,而不是详细的规格书。
|
|
259
287
|
|
|
260
|
-
|
|
288
|
+
- **迭代中逼近完美**: Jarvis (或其背后的LLM) 会提供一个初步的实现。这个版本可能不完美,但它是一个坚实的起点。接下来,你通过反馈来指导它,比如 `“这个地方的逻辑不对,应该先检查A再处理B”` 或者 `“变量名能再语义化一点吗?”`。通过这种快速的反馈循环,AI的产出将逐步逼近你的真实意图。
|
|
261
289
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
290
|
+
- **人与AI的角色转变**:
|
|
291
|
+
- **你 (人类)**: 扮演**创意总监、品味判断者和方向引领者**。你负责提供愿景、经验和高层次的判断力,确保最终结果的质量和方向。
|
|
292
|
+
- **Jarvis (AI)**: 扮演**强大的执行伙伴和灵感催化剂**。它负责处理所有繁重、重复和技术性的细节,并能提供意想不到的解决方案,激发你的新想法。
|
|
265
293
|
|
|
266
294
|
Jarvis 正是为这种工作流而设计的工具。它通过无缝的命令行集成和强大的本地交互能力,将 "Vibe Working" 从一个抽象概念,变为了开发者触手可及的日常生产力工具,让你能更专注于**高价值的创造性思考**,而非琐碎的实现细节。
|
|
267
295
|
|
|
@@ -269,14 +297,14 @@ Jarvis 正是为这种工作流而设计的工具。它通过无缝的命令行
|
|
|
269
297
|
|
|
270
298
|
**谁适合使用 Jarvis?**
|
|
271
299
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
300
|
+
- **个人开发者和极客**: 希望通过AI提升个人开发、学习和探索效率的用户。
|
|
301
|
+
- **需要处理碎片化任务的工程师**: 面对各种一次性、非标准化的技术任务,例如快速编写脚本、调试代码、搭建新环境等。
|
|
302
|
+
- **AI应用探索者**: 希望有一个灵活的本地框架来实验和集成不同的大语言模型和工具。
|
|
275
303
|
|
|
276
304
|
**谁可能不适合?**
|
|
277
305
|
|
|
278
|
-
|
|
279
|
-
|
|
306
|
+
- **寻求固定工作流自动化的人**: 如果您的需求是高度固定和重复的,例如“每天定时抓取数据并生成报告”,那么编写一个专门的、功能单一的脚本可能是更直接、更高效的解决方案。Jarvis 更擅长处理多变和探索性的任务。
|
|
307
|
+
- **企业级团队协作者**: Jarvis 被设计为个人工具,不包含团队管理、权限控制等面向企业级协作的功能。
|
|
280
308
|
|
|
281
309
|
总之,Jarvis 是为每一位开发者量身打造的个人助手,而非用于团队协作的集中式平台。
|
|
282
310
|
|
|
@@ -286,10 +314,10 @@ Jarvis 正是为这种工作流而设计的工具。它通过无缝的命令行
|
|
|
286
314
|
|
|
287
315
|
### 系统要求
|
|
288
316
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
317
|
+
- **操作系统**: Jarvis 的许多核心工具依赖于Linux环境,因此目前主要支持在 **Linux** 系统下使用。
|
|
318
|
+
- **Windows用户**: 虽然未经原生测试,但 Windows 10/11 用户可以通过 **WSL (Windows Subsystem for Linux)** 来完整地体验 Jarvis 的所有功能。
|
|
319
|
+
- **Python版本**: 需要 Python 3.9 或更高版本(支持 3.9-3.12)。
|
|
320
|
+
- **Docker**(可选): 支持通过 Docker 镜像使用,无需本地安装 Python/Rust 环境。
|
|
293
321
|
|
|
294
322
|
### 安装
|
|
295
323
|
|
|
@@ -356,8 +384,8 @@ uv pip install .
|
|
|
356
384
|
|
|
357
385
|
> **提示**: 安装完成后,建议将虚拟环境激活命令添加到您的 shell 配置文件中:
|
|
358
386
|
>
|
|
359
|
-
>
|
|
360
|
-
>
|
|
387
|
+
> - Bash/Zsh: 在 ~/.bashrc 或 ~/.zshrc 中添加 `source /path/to/Jarvis/.venv/bin/activate`
|
|
388
|
+
> - Fish: 在 ~/.config/fish/config.fish 中添加 `source /path/to/Jarvis/.venv/bin/activate.fish`
|
|
361
389
|
|
|
362
390
|
#### Docker 镜像安装 (推荐用于隔离环境)
|
|
363
391
|
|
|
@@ -375,9 +403,9 @@ docker pull ghcr.io/skyfireitdiy/jarvis:v1.0.0
|
|
|
375
403
|
|
|
376
404
|
> **提示**:
|
|
377
405
|
>
|
|
378
|
-
>
|
|
379
|
-
>
|
|
380
|
-
>
|
|
406
|
+
> - 镜像默认公开,无需登录即可拉取
|
|
407
|
+
> - 每次发布新版本时,会自动生成多个标签:`latest`、`v1.0.0`、`1.0`、`1` 等
|
|
408
|
+
> - 建议使用 `latest` 标签获取最新版本
|
|
381
409
|
|
|
382
410
|
**使用 Docker Compose(推荐):**
|
|
383
411
|
|
|
@@ -390,9 +418,9 @@ docker-compose run --rm jarvis
|
|
|
390
418
|
|
|
391
419
|
> **说明**:
|
|
392
420
|
>
|
|
393
|
-
>
|
|
394
|
-
>
|
|
395
|
-
>
|
|
421
|
+
> - 容器使用 jarvis 用户(UID 1000)运行,GID 可通过环境变量 `GID` 设置(默认 1000),建议设置为当前用户的组 ID 以避免文件权限问题
|
|
422
|
+
> - 容器内创建的文件将属于 jarvis 用户,如果 GID 匹配宿主机组,外部可以直接访问,无需调整权限
|
|
423
|
+
> - 配置文件(`.jarvis` 和 `.gitconfig`)会自动挂载到容器内用户的主目录
|
|
396
424
|
|
|
397
425
|
**直接使用 Docker 命令:**
|
|
398
426
|
|
|
@@ -401,13 +429,11 @@ docker-compose run --rm jarvis
|
|
|
401
429
|
```bash
|
|
402
430
|
# 使用当前用户运行(推荐)
|
|
403
431
|
docker run -it --rm \
|
|
404
|
-
|
|
432
|
+
--user "$(id -u):$(id -g)" \
|
|
405
433
|
-v $(pwd):/workspace \
|
|
406
|
-
-v $HOME/.jarvis:/home
|
|
407
|
-
-v $HOME/.gitconfig:/home
|
|
434
|
+
-v $HOME/.jarvis:/home/jarvis/.jarvis \
|
|
435
|
+
-v $HOME/.gitconfig:/home/jarvis/.gitconfig:ro \
|
|
408
436
|
-w /workspace \
|
|
409
|
-
-e USER=$(whoami) \
|
|
410
|
-
-e HOME=/home/$(whoami) \
|
|
411
437
|
ghcr.io/skyfireitdiy/jarvis:latest
|
|
412
438
|
```
|
|
413
439
|
|
|
@@ -440,13 +466,11 @@ docker build -t jarvis:latest .
|
|
|
440
466
|
|
|
441
467
|
# 运行容器(非 root 用户,推荐)
|
|
442
468
|
docker run -it --rm \
|
|
443
|
-
|
|
469
|
+
--user "$(id -u):$(id -g)" \
|
|
444
470
|
-v $(pwd):/workspace \
|
|
445
|
-
-v $HOME/.jarvis:/home
|
|
446
|
-
-v $HOME/.gitconfig:/home
|
|
471
|
+
-v $HOME/.jarvis:/home/jarvis/.jarvis \
|
|
472
|
+
-v $HOME/.gitconfig:/home/jarvis/.gitconfig:ro \
|
|
447
473
|
-w /workspace \
|
|
448
|
-
-e USER=$(whoami) \
|
|
449
|
-
-e HOME=/home/$(whoami) \
|
|
450
474
|
jarvis:latest
|
|
451
475
|
|
|
452
476
|
# 或使用 root 用户
|
|
@@ -460,52 +484,123 @@ docker run -it --rm \
|
|
|
460
484
|
|
|
461
485
|
> **提示**:
|
|
462
486
|
>
|
|
463
|
-
>
|
|
464
|
-
>
|
|
465
|
-
>
|
|
466
|
-
>
|
|
467
|
-
>
|
|
468
|
-
>
|
|
469
|
-
>
|
|
487
|
+
> - `$(pwd)` 可以替换为其他工程目录
|
|
488
|
+
> - `.gitconfig` 文件可以保留 Git 用户信息,方便在容器内使用 Git
|
|
489
|
+
> - `.jarvis` 文件可以保留主机 Jarvis 配置信息,方便在容器内使用 Jarvis
|
|
490
|
+
> - Docker 镜像已预装所有工具(Python 3.12、Rust、Clang、Fish shell 等),开箱即用
|
|
491
|
+
> - 容器启动后会自动进入 fish shell,虚拟环境已激活
|
|
492
|
+
> - 使用 `-v` 挂载目录可以方便地在容器内处理本地代码
|
|
493
|
+
> - **推荐使用非 root 用户**,避免文件权限问题,容器内创建的文件可直接在宿主机访问
|
|
494
|
+
> - 使用 Docker Compose 是最简单的方式,自动处理用户权限配置和文件挂载
|
|
495
|
+
> - 推荐直接使用 GHCR 上的预构建镜像,无需本地构建
|
|
470
496
|
|
|
471
497
|
### 基本使用
|
|
472
498
|
|
|
473
499
|
Jarvis 包含一系列专注于不同任务的工具。以下是主要命令及其快捷方式:
|
|
474
500
|
|
|
475
|
-
| 命令
|
|
476
|
-
|
|
477
|
-
| `jarvis`
|
|
478
|
-
| `jarvis-agent`
|
|
479
|
-
| `jarvis-code-agent`
|
|
480
|
-
| `jarvis-code-review`
|
|
481
|
-
| `jarvis-git-commit`
|
|
482
|
-
| `jarvis-git-squash`
|
|
483
|
-
| `jarvis-platform-manager` | `jpm`
|
|
484
|
-
| `jarvis-multi-agent`
|
|
485
|
-
| `jarvis-tool`
|
|
486
|
-
| `jarvis-methodology`
|
|
487
|
-
| `jarvis-rag`
|
|
488
|
-
| `jarvis-smart-shell`
|
|
489
|
-
| `jarvis-stats`
|
|
490
|
-
| `jarvis-memory-organizer` | `jmo`
|
|
491
|
-
| `jarvis-sec`
|
|
492
|
-
| `jarvis-c2rust`
|
|
501
|
+
| 命令 | 快捷方式 | 功能描述 |
|
|
502
|
+
| ------------------------- | -------- | ------------------------------------------------------------------------ |
|
|
503
|
+
| `jarvis` | `jvs` | 通用AI代理,适用于多种任务 |
|
|
504
|
+
| `jarvis-agent` | `ja` | AI代理基础功能,处理会话和任务 |
|
|
505
|
+
| `jarvis-code-agent` | `jca` | 专注于代码分析、修改和生成的代码代理,支持智能符号分析 |
|
|
506
|
+
| `jarvis-code-review` | `jcr` | 智能代码审查工具 |
|
|
507
|
+
| `jarvis-git-commit` | `jgc` | 自动化分析代码变更并生成规范的Git提交信息 |
|
|
508
|
+
| `jarvis-git-squash` | `jgs` | Git提交历史整理工具 |
|
|
509
|
+
| `jarvis-platform-manager` | `jpm` | 管理和测试不同的大语言模型平台 |
|
|
510
|
+
| `jarvis-multi-agent` | `jma` | 多智能体协作系统 |
|
|
511
|
+
| `jarvis-tool` | `jt` | 工具管理与调用系统 |
|
|
512
|
+
| `jarvis-methodology` | `jm` | 方法论知识库管理 |
|
|
513
|
+
| `jarvis-rag` | `jrg` | 构建和查询本地化的RAG知识库 |
|
|
514
|
+
| `jarvis-smart-shell` | `jss` | 实验性的智能Shell功能 |
|
|
515
|
+
| `jarvis-stats` | `jst` | 通用统计模块,支持记录和可视化任意指标数据 |
|
|
516
|
+
| `jarvis-memory-organizer` | `jmo` | 记忆管理工具,支持整理、合并、导入导出记忆 |
|
|
517
|
+
| `jarvis-sec` | `jsec` | 安全分析套件,结合启发式扫描和 AI 深度验证,支持 C/C++ 和 Rust 语言 |
|
|
518
|
+
| `jarvis-c2rust` | `jc2r` | C→Rust 迁移套件,支持渐进式迁移、断点续跑和智能库替代 |
|
|
519
|
+
| `jarvis-config` | `jcfg` | 配置管理工具,基于 JSON Schema 动态生成配置 Web 页面,提供可视化配置界面 |
|
|
493
520
|
|
|
494
521
|
更多详细用法和参数,请查阅我们的 [**使用指南**](docs/jarvis_book/4.使用指南.md)。
|
|
495
522
|
|
|
523
|
+
### SDK 快速开始
|
|
524
|
+
|
|
525
|
+
Jarvis SDK 可以轻松集成到您的 Python 项目中。以下是一些快速上手的示例:
|
|
526
|
+
|
|
527
|
+
#### 使用 CodeAgent 处理代码任务
|
|
528
|
+
|
|
529
|
+
```python
|
|
530
|
+
from jarvis import CodeAgent
|
|
531
|
+
|
|
532
|
+
# 创建 CodeAgent
|
|
533
|
+
agent = CodeAgent()
|
|
534
|
+
|
|
535
|
+
# 执行代码修改任务
|
|
536
|
+
agent.run('修复 user/service.py 中的登录验证 bug')
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
#### 使用 Agent 构建专用应用
|
|
540
|
+
|
|
541
|
+
```python
|
|
542
|
+
from jarvis import Agent
|
|
543
|
+
|
|
544
|
+
# 创建定制化的 Agent
|
|
545
|
+
agent = Agent(
|
|
546
|
+
system_prompt="你是一个数据分析师,专注于数据清洗和可视化。",
|
|
547
|
+
name="DataAnalyst"
|
|
548
|
+
)
|
|
549
|
+
|
|
550
|
+
# 执行数据分析任务
|
|
551
|
+
agent.run('分析 sales.csv 数据,生成月度销售趋势图')
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
#### 在 Python 脚本中使用
|
|
555
|
+
|
|
556
|
+
```python
|
|
557
|
+
from jarvis import CodeAgent
|
|
558
|
+
import os
|
|
559
|
+
|
|
560
|
+
# 设置工作目录
|
|
561
|
+
os.chdir('/path/to/your/project')
|
|
562
|
+
|
|
563
|
+
# 创建并运行 Agent
|
|
564
|
+
agent = CodeAgent()
|
|
565
|
+
result = agent.run('优化代码性能,减少数据库查询次数')
|
|
566
|
+
|
|
567
|
+
print(f"任务完成: {result}")
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
> 💡 更多 SDK 使用示例和高级用法,请参阅 [开发者文档](docs/jarvis_book/)
|
|
571
|
+
|
|
496
572
|
---
|
|
497
573
|
|
|
498
574
|
## 🌟 核心功能 <a id="core-features"></a>
|
|
499
575
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
576
|
+
Jarvis SDK 提供强大的基础组件和可扩展能力,帮助开发者快速构建专业的AI应用。
|
|
577
|
+
|
|
578
|
+
### 基础组件
|
|
579
|
+
|
|
580
|
+
- **Agent (通用AI代理)**: 提供完整的任务执行能力,支持工具调用、记忆管理、任务规划等核心功能。开发者只需通过 system_prompt 定义行为,即可快速定制专用Agent。
|
|
581
|
+
- **CodeAgent (代码专用代理)**: 继承自 Agent,专为代码任务优化。内置代码分析、符号查找、精确编辑、构建验证等专业能力,大幅简化代码类AI应用的开发。
|
|
582
|
+
|
|
583
|
+
### 工具系统
|
|
584
|
+
|
|
585
|
+
- **丰富内置工具**: SDK内置 `read_code`、`edit_file`、`execute_script` 等30+工具,覆盖文件操作、代码分析、命令执行等常见场景。
|
|
586
|
+
- **轻松扩展自定义工具**: 通过简单接口即可添加自定义工具,无缝集成到Agent的工具链中,实现个性化能力扩展。
|
|
587
|
+
|
|
588
|
+
### 能力模块
|
|
589
|
+
|
|
590
|
+
- **记忆系统**: 三层记忆架构(短期、项目长期、全局长期),支持知识持久化和智能检索,让Agent能够记住并复用关键信息。
|
|
591
|
+
- **RAG增强**: 内置RAG功能,可将本地文档作为知识库,实现精准的上下文增强和问答。
|
|
592
|
+
- **方法论系统**: 将成功经验沉淀为可复用的方法论,支持本地和中心化共享,提升任务执行效率。
|
|
593
|
+
|
|
594
|
+
### 可扩展性
|
|
595
|
+
|
|
596
|
+
- **多模型支持**: 支持腾讯元宝、Kimi、OpenAI等多种模型平台,可根据需求灵活切换。
|
|
597
|
+
- **自定义模型平台**: 提供统一的平台接口,开发者可轻松集成新的LLM提供商。
|
|
598
|
+
|
|
599
|
+
### 专业套件
|
|
600
|
+
|
|
601
|
+
- **安全分析**: 内置安全扫描套件(jsec),支持启发式扫描和AI深度验证,适用于C/C++和Rust语言。
|
|
602
|
+
- **代码迁移**: C→Rust迁移套件(jc2r),支持渐进式迁移和断点续跑。
|
|
603
|
+
- **代码审查**: 智能代码审查工具,自动化检查代码质量和潜在问题。
|
|
509
604
|
|
|
510
605
|
---
|
|
511
606
|
|
|
@@ -513,38 +608,75 @@ Jarvis 包含一系列专注于不同任务的工具。以下是主要命令及
|
|
|
513
608
|
|
|
514
609
|
Jarvis 的主要配置文件位于 `~/.jarvis/config.yaml`。您可以在此文件中配置模型、平台和其他行为。
|
|
515
610
|
|
|
516
|
-
|
|
611
|
+
**首次运行配置:**
|
|
517
612
|
|
|
518
|
-
|
|
519
|
-
# ~/.jarvis/config.yaml
|
|
520
|
-
|
|
521
|
-
# 使用的模型平台
|
|
522
|
-
platform: yuanbao
|
|
523
|
-
model: deep_seek_v3
|
|
613
|
+
首次运行任何 Jarvis 命令时,系统会检测是否缺少配置文件。如果未找到配置,Jarvis 将自动启动交互式配置向导,引导您完成所有必要设置。
|
|
524
614
|
|
|
525
|
-
|
|
615
|
+
**基本配置示例(推荐使用新的配置方式):**
|
|
526
616
|
|
|
527
|
-
|
|
528
|
-
#
|
|
617
|
+
```yaml
|
|
618
|
+
# yaml-language-server: $schema=https://raw.githubusercontent.com/skyfireitdiy/Jarvis/main/docs/schema/config.schema.json
|
|
619
|
+
|
|
620
|
+
# ====== 基础配置 ======
|
|
621
|
+
# 设置默认使用的模型组
|
|
622
|
+
llm_group: default
|
|
623
|
+
|
|
624
|
+
# ====== 模型组配置 ======
|
|
625
|
+
# 可以定义多个模型组,通过llm_group切换
|
|
626
|
+
llm_groups:
|
|
627
|
+
default: # 默认模型组
|
|
628
|
+
normal_llm: gpt-5 # 引用下面llms中定义的模型
|
|
629
|
+
# 可选配置廉价模型和智能模型
|
|
630
|
+
# cheap_llm: gpt-3.5-turbo
|
|
631
|
+
# smart_llm: gpt-5
|
|
632
|
+
|
|
633
|
+
# ====== 模型定义 ======
|
|
634
|
+
llms:
|
|
635
|
+
gpt-5:
|
|
636
|
+
platform: openai # 平台类型
|
|
637
|
+
model: gpt-5 # 模型名称
|
|
638
|
+
max_input_token_count: 128000 # 模型最大输入token数
|
|
639
|
+
|
|
640
|
+
# 模型特定配置 (llm_config)
|
|
641
|
+
llm_config:
|
|
642
|
+
openai_api_key: "your-api-key-here" # 替换为你的API密钥
|
|
643
|
+
openai_api_base: "https://api.openai.com/v1" # API基础地址,可用于代理
|
|
644
|
+
openai_extra_headers: '{"X-Source": "jarvis"}' # 额外的HTTP头(可选)
|
|
645
|
+
|
|
646
|
+
# ====== 环境变量配置 ======
|
|
647
|
+
# 旧版配置方式(仍支持,但推荐使用上面的 llm_config)
|
|
529
648
|
ENV:
|
|
649
|
+
# 腾讯元宝
|
|
530
650
|
YUANBAO_COOKIES: "在此处粘贴您的元宝Cookies"
|
|
651
|
+
|
|
652
|
+
# Kimi
|
|
653
|
+
KIMI_API_KEY: ""
|
|
654
|
+
|
|
655
|
+
# 通义千问
|
|
656
|
+
TONGYI_COOKIES: ""
|
|
657
|
+
|
|
658
|
+
# OpenAI
|
|
659
|
+
OPENAI_API_KEY: ""
|
|
660
|
+
OPENAI_API_BASE: ""
|
|
531
661
|
```
|
|
532
662
|
|
|
663
|
+
> **注意**: 新版本推荐使用 `llm_groups` 和 `llms` 配置方式,它提供了更灵活的模型管理能力。`ENV` 配置方式仍然支持,但建议迁移到新的配置方式。
|
|
664
|
+
|
|
533
665
|
提示:错误回溯输出控制
|
|
534
666
|
|
|
535
|
-
|
|
536
|
-
|
|
667
|
+
- 默认情况下,当 PrettyOutput 打印错误信息(OutputType.ERROR)时,不会自动打印回溯调用链。
|
|
668
|
+
- 如需全局启用错误回溯,请在配置中设置:
|
|
537
669
|
|
|
538
670
|
```yaml
|
|
539
671
|
print_error_traceback: true
|
|
540
672
|
```
|
|
541
673
|
|
|
542
|
-
|
|
674
|
+
- 也可以在单次调用时通过传入 `traceback=True` 临时开启回溯打印。
|
|
543
675
|
|
|
544
676
|
提示:AI 工具筛选阈值
|
|
545
677
|
|
|
546
|
-
|
|
547
|
-
|
|
678
|
+
- 当可用工具数量过多时,可能会干扰模型的决策。Jarvis 支持在可用工具数量超过阈值时,先让 AI 自动筛选相关工具再启动,以专注于本次任务。
|
|
679
|
+
- 默认阈值为 30,可在配置中调整:
|
|
548
680
|
|
|
549
681
|
```yaml
|
|
550
682
|
# ~/.jarvis/config.yaml
|
|
@@ -559,11 +691,22 @@ Jarvis 支持多种平台,包括 **Kimi**, **通义千问**, **OpenAI** 等。
|
|
|
559
691
|
|
|
560
692
|
## 🛠️ 扩展开发 <a id="extensions"></a>
|
|
561
693
|
|
|
562
|
-
Jarvis
|
|
694
|
+
Jarvis SDK 提供强大的可扩展能力,让您能够快速开发专业的AI应用。
|
|
695
|
+
|
|
696
|
+
### 快速开发专业Agent
|
|
697
|
+
|
|
698
|
+
基于 `Agent` 和 `CodeAgent` 基础组件,您可以快速构建各种专业Agent:
|
|
563
699
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
700
|
+
- **文档助手**: 基于 Agent 定制 system_prompt,实现文档生成、维护和优化
|
|
701
|
+
- **代码分析器**: 基于 CodeAgent,利用内置代码分析能力,快速构建代码审查、重构工具
|
|
702
|
+
- **自动化测试**: 集成测试工具,自动化执行测试用例并分析结果
|
|
703
|
+
- **数据处理**: 扩展数据处理工具,实现自动化数据清洗、转换和分析
|
|
704
|
+
|
|
705
|
+
### 扩展能力
|
|
706
|
+
|
|
707
|
+
- **自定义工具**: 在 `~/.jarvis/tools/` 目录下创建新的工具实现,无缝集成到Agent
|
|
708
|
+
- **集成新LLM平台**: 在 `~/.jarvis/platforms/` 目录下添加新的平台适配器
|
|
709
|
+
- **定义MCP**: 通过配置文件集成外部或自定义的命令协议
|
|
567
710
|
|
|
568
711
|
有关扩展开发的详细指南和[**技术细节**](docs/technical_documentation.md),请访问我们的 [**开发者文档**](docs/jarvis_book/5.功能扩展.md)。
|
|
569
712
|
|
|
@@ -573,15 +716,15 @@ Jarvis 被设计为高度可扩展的框架。您可以轻松地:
|
|
|
573
716
|
|
|
574
717
|
欢迎阅读 Jarvis 的官方文档,这本开源书籍旨在为您提供从入门到精通的全方位指南。
|
|
575
718
|
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
719
|
+
- **[第一章:项目介绍](docs/jarvis_book/1.项目介绍.md)**
|
|
720
|
+
- **[第二章:快速开始](docs/jarvis_book/2.快速开始.md)**
|
|
721
|
+
- **[第三章:核心概念与架构](docs/jarvis_book/3.核心概念与架构.md)**
|
|
722
|
+
- **[第四章:使用指南](docs/jarvis_book/4.使用指南.md)**
|
|
723
|
+
- **[第五章:功能扩展](docs/jarvis_book/5.功能扩展.md)**
|
|
724
|
+
- **[第六章:高级主题](docs/jarvis_book/6.高级主题.md)**
|
|
725
|
+
- **[第七章:参与贡献](docs/jarvis_book/7.参与贡献.md)**
|
|
726
|
+
- **[第八章:常见问题](docs/jarvis_book/8.常见问题.md)**
|
|
727
|
+
- **[第九章:附录](docs/jarvis_book/9.附录.md)**
|
|
585
728
|
|
|
586
729
|
---
|
|
587
730
|
|
|
@@ -599,8 +742,8 @@ Jarvis 被设计为高度可扩展的框架。您可以轻松地:
|
|
|
599
742
|
|
|
600
743
|
## ⚠️ 免责声明 <a id="disclaimer"></a>
|
|
601
744
|
|
|
602
|
-
|
|
603
|
-
|
|
745
|
+
- **模型使用风险**: 频繁使用通过非官方API(如腾讯元宝、Kimi、通义千问等)接入的模型可能会导致您的账户被平台封禁。请合理使用,并自行承担相应风险。
|
|
746
|
+
- **命令执行风险**: Jarvis具备执行系统命令的能力。请确保您了解将要执行的命令,并避免输入可能导致系统风险的指令。为了增强安全性,您可以在配置文件中启用工具执行确认(`execute_tool_confirm: true`),以便在执行每个工具前进行手动确认。
|
|
604
747
|
|
|
605
748
|
---
|
|
606
749
|
|
|
@@ -609,6 +752,7 @@ Jarvis 被设计为高度可扩展的框架。您可以轻松地:
|
|
|
609
752
|
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件。
|
|
610
753
|
|
|
611
754
|
---
|
|
755
|
+
|
|
612
756
|
<div align="center">
|
|
613
757
|
由 Jarvis 团队用 ❤️ 制作
|
|
614
758
|
</div>
|