vox-code 2.0.0__tar.gz → 2.0.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.
Files changed (89) hide show
  1. {vox_code-2.0.0 → vox_code-2.0.1}/PKG-INFO +2 -2
  2. {vox_code-2.0.0 → vox_code-2.0.1}/README.md +1 -1
  3. {vox_code-2.0.0 → vox_code-2.0.1}/pyproject.toml +1 -1
  4. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/__init__.py +1 -1
  5. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/cli/main.py +1 -1
  6. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/llm/openai_compatible.py +4 -1
  7. {vox_code-2.0.0 → vox_code-2.0.1}/.env.example +0 -0
  8. {vox_code-2.0.0 → vox_code-2.0.1}/.gitignore +0 -0
  9. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/__main__.py +0 -0
  10. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/__init__.py +0 -0
  11. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/agent.py +0 -0
  12. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/agent_budget.py +0 -0
  13. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/agent_orchestrator.py +0 -0
  14. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/plan_execute_agent.py +0 -0
  15. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/roles.py +0 -0
  16. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/agent/sub_agent.py +0 -0
  17. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/catalog.py +0 -0
  18. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/chat.py +0 -0
  19. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/cli/__init__.py +0 -0
  20. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/cli/parser.py +0 -0
  21. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/config.py +0 -0
  22. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/__main__.py +0 -0
  23. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/main.py +0 -0
  24. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/__init__.py +0 -0
  25. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/base.py +0 -0
  26. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/coordinator.py +0 -0
  27. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/data.py +0 -0
  28. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/widgets.py +0 -0
  29. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/windows.py +0 -0
  30. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet/workers.py +0 -0
  31. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/gui/pet_app.py +0 -0
  32. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/__init__.py +0 -0
  33. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/handler.py +0 -0
  34. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/policy.py +0 -0
  35. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/request.py +0 -0
  36. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/result.py +0 -0
  37. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/terminal_handler.py +0 -0
  38. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/hitl/tool_registry.py +0 -0
  39. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/llm/base.py +0 -0
  40. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/llm/factory.py +0 -0
  41. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/llm/ollama_client.py +0 -0
  42. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/base.py +0 -0
  43. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/budget.py +0 -0
  44. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/compressor.py +0 -0
  45. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/entry.py +0 -0
  46. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/long_term.py +0 -0
  47. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/manager.py +0 -0
  48. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/retriever.py +0 -0
  49. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/short_term.py +0 -0
  50. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/memory/tokenizer.py +0 -0
  51. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/plan/__init__.py +0 -0
  52. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/plan/execution_plan.py +0 -0
  53. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/plan/planner.py +0 -0
  54. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/plan/task.py +0 -0
  55. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/policy/audit_log.py +0 -0
  56. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/policy/command_guard.py +0 -0
  57. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/policy/exception.py +0 -0
  58. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/policy/path_guard.py +0 -0
  59. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/prompting/__init__.py +0 -0
  60. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/prompting/presenter.py +0 -0
  61. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/__init__.py +0 -0
  62. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/analyzer.py +0 -0
  63. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/chunk.py +0 -0
  64. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/chunker.py +0 -0
  65. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/embedding.py +0 -0
  66. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/formatter.py +0 -0
  67. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/index.py +0 -0
  68. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/relation.py +0 -0
  69. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/retriever.py +0 -0
  70. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/store.py +0 -0
  71. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/rag/tokenizer.py +0 -0
  72. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/runtime/__init__.py +0 -0
  73. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/runtime/session_controller.py +0 -0
  74. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/tool/__init__.py +0 -0
  75. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/tool/tool_registry.py +0 -0
  76. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/util/animation.py +0 -0
  77. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/util/ansi.py +0 -0
  78. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/util/markdown.py +0 -0
  79. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/__init__.py +0 -0
  80. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/base.py +0 -0
  81. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/extractor.py +0 -0
  82. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/factory.py +0 -0
  83. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/fetch_result.py +0 -0
  84. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/fetcher.py +0 -0
  85. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/network_policy.py +0 -0
  86. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/result.py +0 -0
  87. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/searxng.py +0 -0
  88. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/serpapi.py +0 -0
  89. {vox_code-2.0.0 → vox_code-2.0.1}/voxcli/web/zhipu.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vox-code
3
- Version: 2.0.0
3
+ Version: 2.0.1
4
4
  Summary: Web-aware Tool CLI - 支持 ReAct、Plan-and-Execute、Memory、RAG、Multi-Agent、HITL
5
5
  Project-URL: Homepage, https://github.com/faliang1129/vox-cli
6
6
  Project-URL: Repository, https://github.com/faliang1129/vox-cli
@@ -34,7 +34,7 @@ Description-Content-Type: text/markdown
34
34
  Vox Code 试图把“能聊天的模型”变成“能在本地开发环境里协作的助手”。
35
35
  它既可以作为纯终端工具使用,也可以作为桌面编程搭子运行。
36
36
 
37
- 当前版本:`2.0.0`
37
+ 当前版本:`2.0.1`
38
38
 
39
39
  ## Highlights
40
40
 
@@ -5,7 +5,7 @@
5
5
  Vox Code 试图把“能聊天的模型”变成“能在本地开发环境里协作的助手”。
6
6
  它既可以作为纯终端工具使用,也可以作为桌面编程搭子运行。
7
7
 
8
- 当前版本:`2.0.0`
8
+ 当前版本:`2.0.1`
9
9
 
10
10
  ## Highlights
11
11
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "vox-code"
7
- version = "2.0.0"
7
+ version = "2.0.1"
8
8
  description = "Web-aware Tool CLI - 支持 ReAct、Plan-and-Execute、Memory、RAG、Multi-Agent、HITL"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,3 +1,3 @@
1
1
  """Vox Code - Web-aware Tool CLI"""
2
2
 
3
- __version__ = "2.0.0"
3
+ __version__ = "2.0.1"
@@ -421,7 +421,7 @@ def main(argv: Optional[Sequence[str]] = None):
421
421
  def _animate_startup():
422
422
  """Claude Code 风格的启动动画"""
423
423
  print(heading("╭──────────────────────────────╮"))
424
- print(heading("│ Vox Code v2.0.0 │"))
424
+ print(heading("│ Vox Code v2.0.1 │"))
425
425
  print(heading("│ Web-aware Tool CLI │"))
426
426
  print(heading("╰──────────────────────────────╯"))
427
427
  dots = ProgressDots("Initializing")
@@ -88,7 +88,10 @@ class OpenAiCompatibleClient(LlmClient):
88
88
  "stream": True,
89
89
  "messages": [],
90
90
  }
91
- allow_reasoning_content = self._provider_name not in {"deepseek", "qwen"}
91
+ # DeepSeek thinking mode requires previous reasoning_content to be
92
+ # passed back on subsequent turns. Qwen compatible mode still works
93
+ # better without this field by default.
94
+ allow_reasoning_content = self._provider_name != "qwen"
92
95
  for msg in messages:
93
96
  m: dict = {"role": msg.role}
94
97
  content = self._build_message_content(msg)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes