feat: Add expert source selector UI

- Add expert source dropdown in TransformationInputPanel
  - Options: LLM 生成, Wikidata, ConceptNet
  - Shows description for each source
- Pass expertSource through App -> TransformationPanel -> hook -> API
- Default source remains 'llm'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-04 14:59:27 +08:00
parent 43785db595
commit 8777e27cbb
4 changed files with 48 additions and 4 deletions

View File

@@ -10,7 +10,7 @@ import { useAttribute } from './hooks/useAttribute';
import { getModels } from './services/api';
import type { MindmapDAGRef } from './components/MindmapDAG';
import type { TransformationDAGRef } from './components/TransformationDAG';
import type { CategoryMode } from './types';
import type { CategoryMode, ExpertSource } from './types';
const { Header, Sider, Content } = Layout;
const { Title } = Typography;
@@ -44,6 +44,7 @@ function App() {
custom_experts: undefined,
});
const [customExpertsInput, setCustomExpertsInput] = useState('');
const [expertSource, setExpertSource] = useState<ExpertSource>('llm');
const [shouldStartTransform, setShouldStartTransform] = useState(false);
const [transformLoading, setTransformLoading] = useState(false);
@@ -186,6 +187,7 @@ function App() {
model={transformModel}
temperature={transformTemperature}
expertConfig={expertConfig}
expertSource={expertSource}
shouldStartTransform={shouldStartTransform}
onTransformComplete={() => setShouldStartTransform(false)}
onLoadingChange={setTransformLoading}
@@ -226,10 +228,12 @@ function App() {
temperature={transformTemperature}
expertConfig={expertConfig}
customExpertsInput={customExpertsInput}
expertSource={expertSource}
onModelChange={setTransformModel}
onTemperatureChange={setTransformTemperature}
onExpertConfigChange={setExpertConfig}
onCustomExpertsInputChange={setCustomExpertsInput}
onExpertSourceChange={setExpertSource}
availableModels={availableModels}
/>
)}