Compare commits
3 Commits
e192d75a1c
...
9710bd904c
| Author | SHA1 | Date |
|---|---|---|
|
|
9710bd904c | |
|
|
b11819d765 | |
|
|
01e508a566 |
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.3 KiB |
|
|
@ -8,8 +8,8 @@ import { I18nProvider } from "@/core/i18n/context";
|
||||||
import { detectLocaleServer } from "@/core/i18n/server";
|
import { detectLocaleServer } from "@/core/i18n/server";
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "DeerFlow",
|
title: "XClaw",
|
||||||
description: "A LangChain-based framework for building super agents.",
|
description: "Desscriptions of XClawDesscriptions of XClawDesscriptions of XClaw",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default async function RootLayout({
|
export default async function RootLayout({
|
||||||
|
|
|
||||||
|
|
@ -752,6 +752,9 @@ export const PromptInput = ({
|
||||||
|
|
||||||
const handleSubmit: FormEventHandler<HTMLFormElement> = (event) => {
|
const handleSubmit: FormEventHandler<HTMLFormElement> = (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
if (disabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const form = event.currentTarget;
|
const form = event.currentTarget;
|
||||||
const text = usingProvider
|
const text = usingProvider
|
||||||
|
|
@ -1081,9 +1084,9 @@ export const PromptInputSubmit = ({
|
||||||
: false;
|
: false;
|
||||||
|
|
||||||
// 正在 streaming 时不允许发送
|
// 正在 streaming 时不允许发送
|
||||||
// const isStreaming = status === "streaming" || status === "submitted";
|
const isStreaming = status === "streaming" || status === "submitted";
|
||||||
|
|
||||||
// const isDisabled = disabled || !hasContent || isStreaming;
|
const isDisabled = disabled || !hasContent || isStreaming;
|
||||||
|
|
||||||
let Icon = <ArrowUpIcon className="size-4" />;
|
let Icon = <ArrowUpIcon className="size-4" />;
|
||||||
|
|
||||||
|
|
@ -1109,15 +1112,15 @@ export const PromptInputSubmit = ({
|
||||||
// 被button{bgc:#fff}覆盖了,只能加"!"
|
// 被button{bgc:#fff}覆盖了,只能加"!"
|
||||||
className={cn(
|
className={cn(
|
||||||
"h-[40px] w-[140px] rounded-[10px] border-0 font-bold transition-all",
|
"h-[40px] w-[140px] rounded-[10px] border-0 font-bold transition-all",
|
||||||
// isDisabled
|
isDisabled
|
||||||
// ? "cursor-not-allowed !bg-gray-200 text-gray-400":
|
? "cursor-not-allowed !bg-gray-200 text-gray-400":
|
||||||
"!bg-[#F0E8FB] text-[#8E47F0] hover:!bg-[#8E47F0] hover:text-[#FFFFFF]",
|
"!bg-[#F0E8FB] text-[#8E47F0] hover:!bg-[#8E47F0] hover:text-[#FFFFFF]",
|
||||||
className,
|
className,
|
||||||
)}
|
)}
|
||||||
size={size}
|
size={size}
|
||||||
type="submit"
|
type="submit"
|
||||||
variant={variant}
|
variant={variant}
|
||||||
// disabled={isDisabled}
|
disabled={isDisabled}
|
||||||
{...props}
|
{...props}
|
||||||
>
|
>
|
||||||
{/* {children ?? Icon} */}
|
{/* {children ?? Icon} */}
|
||||||
|
|
|
||||||
|
|
@ -515,7 +515,7 @@ export function ArtifactFilePreview({
|
||||||
if (language === "markdown") {
|
if (language === "markdown") {
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={cn("w-full mb-[207px] p-[20px]")}
|
className={cn("w-full bg-white mb-[207px] p-[20px]")}
|
||||||
style={{ "--zoom-scale": zoomScale } as React.CSSProperties}
|
style={{ "--zoom-scale": zoomScale } as React.CSSProperties}
|
||||||
>
|
>
|
||||||
<Streamdown
|
<Streamdown
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ export function DevTodoList({
|
||||||
if (hidden) {
|
if (hidden) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
console.log(todos);
|
|
||||||
return (
|
return (
|
||||||
<DropdownMenu>
|
<DropdownMenu>
|
||||||
<DropdownMenuTrigger asChild>{trigger}</DropdownMenuTrigger>
|
<DropdownMenuTrigger asChild>{trigger}</DropdownMenuTrigger>
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ export const zhCN: Translations = {
|
||||||
// Welcome
|
// Welcome
|
||||||
welcome: {
|
welcome: {
|
||||||
// TODO: 测试环境标识
|
// TODO: 测试环境标识
|
||||||
greeting: "轻办公 · XClaw Tag:v3.1.0fix: xclaw_used切换欢迎样式和对话样式",
|
greeting: "轻办公 · XClaw Tag:v3.1.0 build: 实现真正的执行一次脚本就部署的流程",
|
||||||
description:
|
description:
|
||||||
"欢迎使用 🦌 DeerFlow,一个完全开源的超级智能体。通过内置和自定义的 Skills,\nDeerFlow 可以帮你搜索网络、分析数据,还能为你生成幻灯片、\n图片、视频、播客及网页等,几乎可以做任何事情。",
|
"欢迎使用 🦌 DeerFlow,一个完全开源的超级智能体。通过内置和自定义的 Skills,\nDeerFlow 可以帮你搜索网络、分析数据,还能为你生成幻灯片、\n图片、视频、播客及网页等,几乎可以做任何事情。",
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,21 +8,21 @@ cd "$REPO_ROOT"
|
||||||
usage() {
|
usage() {
|
||||||
cat <<'EOF'
|
cat <<'EOF'
|
||||||
Usage:
|
Usage:
|
||||||
./scripts/deploy-frontend-standalone.sh <remote> <remote_app_dir> [--restart]
|
./scripts/deploy-frontend-standalone.sh <remote> <remote_app_dir>
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
remote SSH target, e.g. user@example.com
|
remote SSH target, e.g. user@example.com
|
||||||
remote_app_dir Remote deerflow2 root dir, e.g. /home/user/deerflow2
|
remote_app_dir Remote deerflow2 root dir, e.g. /home/user/deerflow2
|
||||||
|
|
||||||
Options:
|
|
||||||
--restart Run "make start" on the remote host after upload
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
./scripts/deploy-frontend-standalone.sh ubuntu@1.2.3.4 /opt/deerflow2 --restart
|
./scripts/deploy-frontend-standalone.sh ubuntu@1.2.3.4 /opt/deerflow2
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- Run this script on your local machine (build machine), not on the server.
|
- Run this script on your local machine (build machine), not on the server.
|
||||||
- Requires: pnpm, rsync, ssh
|
- Requires: pnpm, rsync, ssh
|
||||||
|
- Script will run:
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl restart deerflow.service
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -31,20 +31,13 @@ if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$#" -lt 2 ] || [ "$#" -gt 3 ]; then
|
if [ "$#" -ne 2 ]; then
|
||||||
usage
|
usage
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
REMOTE="$1"
|
REMOTE="$1"
|
||||||
REMOTE_APP_DIR="$2"
|
REMOTE_APP_DIR="$2"
|
||||||
RESTART="${3:-}"
|
|
||||||
|
|
||||||
if [ "$RESTART" != "" ] && [ "$RESTART" != "--restart" ]; then
|
|
||||||
echo "Unknown option: $RESTART"
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "==> Building frontend (standalone)..."
|
echo "==> Building frontend (standalone)..."
|
||||||
pnpm -C frontend build
|
pnpm -C frontend build
|
||||||
|
|
@ -64,9 +57,7 @@ rsync -azP --info=progress2 \
|
||||||
frontend/public/ \
|
frontend/public/ \
|
||||||
"$REMOTE:$REMOTE_APP_DIR/frontend/.next/standalone/public/"
|
"$REMOTE:$REMOTE_APP_DIR/frontend/.next/standalone/public/"
|
||||||
|
|
||||||
if [ "$RESTART" = "--restart" ]; then
|
echo "==> Reloading systemd and restarting deerflow.service on remote host..."
|
||||||
echo "==> Restarting DeerFlow on remote host..."
|
ssh "$REMOTE" "sudo systemctl daemon-reload && sudo systemctl restart deerflow.service"
|
||||||
ssh "$REMOTE" "cd '$REMOTE_APP_DIR' && make start"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "==> Done."
|
echo "==> Done."
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue