40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
|
|
import { Button } from "@douyinfe/semi-ui-19";
|
||
|
|
import type { ToolCardProps } from "../ai/types";
|
||
|
|
export function ResearchToolCard({ call, onAction }: ToolCardProps) {
|
||
|
|
const result = call.result || {};
|
||
|
|
return (
|
||
|
|
<div>
|
||
|
|
<p>
|
||
|
|
{typeof result.name === "string" ? result.name : "研究资料"}
|
||
|
|
{typeof result.version === "number" ? ` · v${result.version}` : ""}
|
||
|
|
</p>
|
||
|
|
{typeof result.id === "string" && (
|
||
|
|
<Button
|
||
|
|
onClick={() =>
|
||
|
|
onAction(
|
||
|
|
result.content
|
||
|
|
? {
|
||
|
|
type: "open_template",
|
||
|
|
asset_id: result.id as string,
|
||
|
|
version: result.version as number,
|
||
|
|
nonce: Date.now(),
|
||
|
|
}
|
||
|
|
: {
|
||
|
|
type: "open_experiment",
|
||
|
|
experiment_id: result.id as string,
|
||
|
|
nonce: Date.now(),
|
||
|
|
},
|
||
|
|
)
|
||
|
|
}
|
||
|
|
>
|
||
|
|
打开研究记录
|
||
|
|
</Button>
|
||
|
|
)}
|
||
|
|
<details>
|
||
|
|
<summary>查看资料与校验依据</summary>
|
||
|
|
<pre>{JSON.stringify(result, null, 2)}</pre>
|
||
|
|
</details>
|
||
|
|
</div>
|
||
|
|
);
|
||
|
|
}
|