whosellm 0.2.3__tar.gz → 0.2.4__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.
- {whosellm-0.2.3 → whosellm-0.2.4}/.bumpversion.toml +7 -1
- {whosellm-0.2.3 → whosellm-0.2.4}/CHANGELOG.md +1 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/PKG-INFO +1 -1
- {whosellm-0.2.3 → whosellm-0.2.4}/pyproject.toml +1 -1
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_anthropic.py +88 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/uv.lock +1 -1
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/__init__.py +1 -1
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/anthropic.py +44 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/commands/interview.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/projects/-Users-jqq-PycharmProjects-llmeta/memory/MEMORY.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/projects/-Users-jqq-PycharmProjects-llmeta/memory/feedback_use_uv.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/settings.json +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/code-review/SKILL.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/create-skill/SKILL.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/e2e-metadata/SKILL.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/evolve/SKILL.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/fix-review/SKILL.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/release/SKILL.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/SKILL.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/alibaba.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/anthropic.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/deepseek.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/gemini.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/openai.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/others.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/vidu.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/zhipu.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/update-provider-model/SKILL.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/update-provider-model/testing.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.coveragerc +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.github/workflows/publish.yml +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.github/workflows/tests.yml +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.gitignore +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.windsurf/workflows/addmodel.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.windsurf/workflows/arch.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/.windsurf/workflows/testllmeta.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/CLAUDE.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/LICENSE +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/README.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/docs/add_new_model_family.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/docs/refactor_proposal.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/docs/spec_model_family_redesign.md +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/examples/advanced_usage.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/examples/basic_usage.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/mypy.ini +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/pytest.ini +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/ruff.toml +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/__init__.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/e2e/__init__.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/e2e/conftest.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/e2e/test_anthropic.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/e2e/test_google.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/e2e/test_openai.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/e2e/test_zhipu.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/__init__.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/__init__.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_deepseek.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_deepseek_tencent.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_gemini.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_glm45.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_glm45v.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_glm46.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_glm46v.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_glm5.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_gpt3_5.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_gpt4_1.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_gpt4o.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_gpt5.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_o1.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_o3.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_o4.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_qwen.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_qwen3_vl_models.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_qwen_ollama.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/models/families/test_qwen_plus.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/test_auto_register.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/test_claude_4x_versions.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/test_llmeta.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/test_model_version.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/test_provider.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/test_registry_merge.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/test_specific_patterns.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/tests/test_variant_priority_config.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/capabilities.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/model_version.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/__init__.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/base.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/config.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/dynamic_enum.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/__init__.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/alibaba.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/deepseek/__init__.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/deepseek/deepseek_official.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/deepseek/tencent.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/gemini.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/__init__.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_3_5.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_4.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_4_1.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_4o.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_5.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_5_1.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_5_2.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_5_3.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_gpt_5_4.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_o1.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_o3.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/openai/openai_o4.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/others.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/vidu.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/families/zhipu.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/patterns.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/models/registry.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/provider.py +0 -0
- {whosellm-0.2.3 → whosellm-0.2.4}/whosellm/py.typed +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# 文档 / Documentation: https://callowayproject.github.io/bump-my-version/
|
|
3
3
|
|
|
4
4
|
[tool.bumpversion]
|
|
5
|
-
current_version = "0.2.
|
|
5
|
+
current_version = "0.2.4"
|
|
6
6
|
parse = """(?x)
|
|
7
7
|
(?P<major>0|[1-9]\\d*)\\.
|
|
8
8
|
(?P<minor>0|[1-9]\\d*)\\.
|
|
@@ -45,6 +45,12 @@ filename = "whosellm/__init__.py"
|
|
|
45
45
|
search = "__version__ = \"{current_version}\""
|
|
46
46
|
replace = "__version__ = \"{new_version}\""
|
|
47
47
|
|
|
48
|
+
# uv.lock 中项目自身的版本号(锚定到 whosellm 包块,避免误改其他依赖的 version)
|
|
49
|
+
[[tool.bumpversion.files]]
|
|
50
|
+
filename = "uv.lock"
|
|
51
|
+
search = "name = \"whosellm\"\nversion = \"{current_version}\""
|
|
52
|
+
replace = "name = \"whosellm\"\nversion = \"{new_version}\""
|
|
53
|
+
|
|
48
54
|
[tool.bumpversion.parts.pre_l]
|
|
49
55
|
values = ["a", "b", "rc"]
|
|
50
56
|
|
|
@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
## [0.2.3] - Unreleased
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
|
+
- 新增 Claude Mythos-class 模型配置(2026-06-09 发布,官方规格核实):`claude-fable-5`(公开版)、`claude-mythos-5`(Project Glasswing 受邀版,能力同 Fable 5)。均为 1M 上下文、128K 最大输出、结构化输出 + computer use,自适应思考常开。引入全新顶级变体层级,优先级高于 opus(`haiku=0 < sonnet=3 < opus=5 < fable=6 < mythos=7`),因此 `claude-fable-5 > claude-opus-4-8`(版本 5.0 > 4.8)。新增父模式 `claude-{variant}-{major}@{snapshot}` 以支持单版本号模型的 `@` 日期快照形式
|
|
8
9
|
- 新增 Claude Opus 4.x 模型配置(官方规格核实):`claude-opus-4-8`、`claude-opus-4-7`(1M 上下文,128K 最大输出,结构化输出 + computer use)、`claude-opus-4-5`(200K 上下文,64K 最大输出)
|
|
9
10
|
|
|
10
11
|
### Fixed
|
|
@@ -5,6 +5,7 @@ Anthropic Claude 模型家族测试 / Anthropic Claude model family tests
|
|
|
5
5
|
|
|
6
6
|
import pytest
|
|
7
7
|
|
|
8
|
+
from whosellm.model_version import LLMeta
|
|
8
9
|
from whosellm.models.base import ModelFamily
|
|
9
10
|
from whosellm.models.registry import get_default_capabilities, get_specific_model_config, match_model_pattern
|
|
10
11
|
from whosellm.provider import Provider
|
|
@@ -108,6 +109,93 @@ class TestClaudeSonnet46:
|
|
|
108
109
|
assert matched["_from_specific_model"] == "claude-sonnet-4-6"
|
|
109
110
|
|
|
110
111
|
|
|
112
|
+
class TestClaudeFable5:
|
|
113
|
+
"""Claude Fable 5 测试(Mythos-class,2026-06-09 GA) / Claude Fable 5 tests"""
|
|
114
|
+
|
|
115
|
+
def test_specific_model_config(self):
|
|
116
|
+
"""验证 claude-fable-5 配置 / Validate claude-fable-5 config"""
|
|
117
|
+
config = get_specific_model_config("claude-fable-5")
|
|
118
|
+
assert config is not None
|
|
119
|
+
version, variant, capabilities = config
|
|
120
|
+
assert version == "5.0"
|
|
121
|
+
assert variant == "fable"
|
|
122
|
+
assert capabilities is not None
|
|
123
|
+
assert capabilities.supports_vision is True
|
|
124
|
+
assert capabilities.supports_thinking is True
|
|
125
|
+
assert capabilities.supports_function_calling is True
|
|
126
|
+
assert capabilities.supports_streaming is True
|
|
127
|
+
assert capabilities.supports_structured_outputs is True
|
|
128
|
+
assert capabilities.supports_computer_use is True
|
|
129
|
+
assert capabilities.max_tokens == 128000
|
|
130
|
+
assert capabilities.context_window == 1000000
|
|
131
|
+
|
|
132
|
+
def test_pattern_match(self):
|
|
133
|
+
"""验证 claude-fable-5 模式匹配 / Validate claude-fable-5 pattern match"""
|
|
134
|
+
matched = match_model_pattern("claude-fable-5")
|
|
135
|
+
assert matched is not None
|
|
136
|
+
assert matched["family"] == ModelFamily.CLAUDE
|
|
137
|
+
assert matched["variant"] == "fable"
|
|
138
|
+
assert matched["provider"] == Provider.ANTHROPIC
|
|
139
|
+
|
|
140
|
+
@pytest.mark.parametrize("model_name", ["claude-fable-5-20260609", "claude-fable-5@20260609"])
|
|
141
|
+
def test_pattern_with_snapshot(self, model_name: str):
|
|
142
|
+
"""验证带 snapshot 的解析(- 与 @ 两种格式,版本号不被吞) / Validate snapshot forms keep version 5.0"""
|
|
143
|
+
meta = LLMeta(model_name)
|
|
144
|
+
assert meta.family == ModelFamily.CLAUDE
|
|
145
|
+
assert meta.version == "5.0"
|
|
146
|
+
assert meta.variant == "fable"
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class TestClaudeMythos5:
|
|
150
|
+
"""Claude Mythos 5 测试(Glasswing 受邀版) / Claude Mythos 5 tests"""
|
|
151
|
+
|
|
152
|
+
def test_specific_model_config(self):
|
|
153
|
+
"""验证 claude-mythos-5 配置 / Validate claude-mythos-5 config"""
|
|
154
|
+
config = get_specific_model_config("claude-mythos-5")
|
|
155
|
+
assert config is not None
|
|
156
|
+
version, variant, capabilities = config
|
|
157
|
+
assert version == "5.0"
|
|
158
|
+
assert variant == "mythos"
|
|
159
|
+
assert capabilities is not None
|
|
160
|
+
assert capabilities.supports_vision is True
|
|
161
|
+
assert capabilities.supports_thinking is True
|
|
162
|
+
assert capabilities.supports_structured_outputs is True
|
|
163
|
+
assert capabilities.supports_computer_use is True
|
|
164
|
+
assert capabilities.max_tokens == 128000
|
|
165
|
+
assert capabilities.context_window == 1000000
|
|
166
|
+
|
|
167
|
+
def test_pattern_match(self):
|
|
168
|
+
"""验证 claude-mythos-5 模式匹配 / Validate claude-mythos-5 pattern match"""
|
|
169
|
+
matched = match_model_pattern("claude-mythos-5")
|
|
170
|
+
assert matched is not None
|
|
171
|
+
assert matched["family"] == ModelFamily.CLAUDE
|
|
172
|
+
assert matched["variant"] == "mythos"
|
|
173
|
+
assert matched["provider"] == Provider.ANTHROPIC
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
class TestClaudeMythosClassOrdering:
|
|
177
|
+
"""Mythos-class 版本比较:mythos > fable > opus > sonnet / Mythos-class ordering"""
|
|
178
|
+
|
|
179
|
+
def test_fable5_outranks_opus48(self):
|
|
180
|
+
"""fable-5 (v5.0) 高于 opus-4-8 (v4.8) / fable-5 outranks opus-4-8 by version"""
|
|
181
|
+
assert LLMeta("claude-fable-5") > LLMeta("claude-opus-4-8")
|
|
182
|
+
|
|
183
|
+
def test_mythos5_outranks_fable5(self):
|
|
184
|
+
"""同版本下 mythos 变体优先级高于 fable / mythos outranks fable on variant priority"""
|
|
185
|
+
assert LLMeta("claude-mythos-5") > LLMeta("claude-fable-5")
|
|
186
|
+
|
|
187
|
+
def test_mythos5_is_top(self):
|
|
188
|
+
"""mythos-5 为当前最高 / mythos-5 is the highest among current Claude models"""
|
|
189
|
+
models = [
|
|
190
|
+
LLMeta("claude-mythos-5"),
|
|
191
|
+
LLMeta("claude-fable-5"),
|
|
192
|
+
LLMeta("claude-opus-4-8"),
|
|
193
|
+
LLMeta("claude-sonnet-4-6"),
|
|
194
|
+
LLMeta("claude-haiku-4-5"),
|
|
195
|
+
]
|
|
196
|
+
assert max(models).variant == "mythos"
|
|
197
|
+
|
|
198
|
+
|
|
111
199
|
class TestClaudeExistingModels:
|
|
112
200
|
"""验证现有模型未受影响 / Validate existing models are not affected"""
|
|
113
201
|
|
|
@@ -27,6 +27,7 @@ CLAUDE = ModelFamilyConfig(
|
|
|
27
27
|
"claude-{variant:variant}-{major:d}-{minor:d}-{snapshot:snapshot}",
|
|
28
28
|
"claude-{variant:variant}-{major:d}-{minor:d}",
|
|
29
29
|
"claude-{variant:variant}-{major:d}-{snapshot:snapshot}",
|
|
30
|
+
"claude-{variant:variant}-{major:d}@{snapshot:snapshot}",
|
|
30
31
|
"claude-{variant:variant}-{major:d}",
|
|
31
32
|
"claude-{major:d}-{minor:d}-{variant:variant}-{snapshot:snapshot}",
|
|
32
33
|
"claude-{major:d}-{minor:d}-{variant:variant}",
|
|
@@ -42,6 +43,49 @@ CLAUDE = ModelFamilyConfig(
|
|
|
42
43
|
context_window=200000,
|
|
43
44
|
),
|
|
44
45
|
specific_models={
|
|
46
|
+
# Mythos-class(2026-06-09 发布):全新顶级层级,优先级高于 opus
|
|
47
|
+
# Mythos-class (released 2026-06-09): new top tier, ranks above opus
|
|
48
|
+
# Fable 5 为公开版,Mythos 5 为 Glasswing 受邀版(能力相同,去掉安全分类器)
|
|
49
|
+
"claude-fable-5": SpecificModelConfig(
|
|
50
|
+
version_default="5.0",
|
|
51
|
+
variant_default="fable",
|
|
52
|
+
variant_priority=(6,),
|
|
53
|
+
capabilities=ModelCapabilities(
|
|
54
|
+
supports_vision=True,
|
|
55
|
+
supports_thinking=True, # 自适应思考常开 / adaptive thinking always on
|
|
56
|
+
supports_function_calling=True,
|
|
57
|
+
supports_streaming=True,
|
|
58
|
+
supports_structured_outputs=True,
|
|
59
|
+
supports_computer_use=True,
|
|
60
|
+
max_tokens=128000,
|
|
61
|
+
context_window=1000000,
|
|
62
|
+
),
|
|
63
|
+
patterns=[
|
|
64
|
+
"claude-fable-5-{snapshot:snapshot}",
|
|
65
|
+
"claude-fable-5",
|
|
66
|
+
"claude-fable-5@{snapshot:snapshot}",
|
|
67
|
+
],
|
|
68
|
+
),
|
|
69
|
+
"claude-mythos-5": SpecificModelConfig(
|
|
70
|
+
version_default="5.0",
|
|
71
|
+
variant_default="mythos",
|
|
72
|
+
variant_priority=(7,),
|
|
73
|
+
capabilities=ModelCapabilities(
|
|
74
|
+
supports_vision=True,
|
|
75
|
+
supports_thinking=True, # 自适应思考常开 / adaptive thinking always on
|
|
76
|
+
supports_function_calling=True,
|
|
77
|
+
supports_streaming=True,
|
|
78
|
+
supports_structured_outputs=True,
|
|
79
|
+
supports_computer_use=True,
|
|
80
|
+
max_tokens=128000,
|
|
81
|
+
context_window=1000000,
|
|
82
|
+
),
|
|
83
|
+
patterns=[
|
|
84
|
+
"claude-mythos-5-{snapshot:snapshot}",
|
|
85
|
+
"claude-mythos-5",
|
|
86
|
+
"claude-mythos-5@{snapshot:snapshot}",
|
|
87
|
+
],
|
|
88
|
+
),
|
|
45
89
|
"claude-opus-4-8": SpecificModelConfig(
|
|
46
90
|
version_default="4.8",
|
|
47
91
|
variant_default="opus",
|
|
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
|
{whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/anthropic.md
RENAMED
|
File without changes
|
{whosellm-0.2.3 → whosellm-0.2.4}/.claude/skills/review-provider-model/providers/deepseek.md
RENAMED
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|