agentstudio 0.1.7 → 0.1.9
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.
- package/README.md +481 -37
- package/README.zh-CN.md +525 -0
- package/{dist → backend/dist}/bin/agentstudio.js +7 -5
- package/backend/dist/bin/agentstudio.js.map +1 -0
- package/backend/dist/index.d.ts +3 -0
- package/backend/dist/index.d.ts.map +1 -0
- package/{dist → backend/dist}/index.js +9 -28
- package/{dist → backend/dist}/index.js.map +1 -1
- package/{dist → backend/dist}/routes/agents.js +3 -3
- package/{dist → backend/dist}/routes/agents.js.map +1 -1
- package/{dist → backend/dist}/routes/projects.js +2 -2
- package/{dist → backend/dist}/routes/projects.js.map +1 -1
- package/{dist → backend/dist}/routes/sessions.js +1 -1
- package/{dist → backend/dist}/routes/sessions.js.map +1 -1
- package/{dist → backend/dist}/routes/settings.js +2 -2
- package/{dist → backend/dist}/routes/settings.js.map +1 -1
- package/package.json +30 -50
- package/.env +0 -15
- package/dist/bin/agentstudio.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/frontend/dist/assets/AgentsPage-Dqb_aqAA.js +0 -1
- package/frontend/dist/assets/ChatPage-BvQmXfcP.css +0 -1
- package/frontend/dist/assets/ChatPage-L8Paywyc.js +0 -91
- package/frontend/dist/assets/CommandForm-DLl7EIMS.js +0 -7
- package/frontend/dist/assets/CommandsPage-Bzavq0Ec.js +0 -1
- package/frontend/dist/assets/DashboardPage-B3o4AYFT.js +0 -15
- package/frontend/dist/assets/FileBrowser-DL3ayaqb.js +0 -1
- package/frontend/dist/assets/GeneralSettingsPage-CBN_de-V.js +0 -1
- package/frontend/dist/assets/LandingPage-Dl4ioKos.js +0 -1
- package/frontend/dist/assets/LoginPage-4QqRdiSi.js +0 -12
- package/frontend/dist/assets/McpPage-CY3tYiqj.js +0 -39
- package/frontend/dist/assets/MemorySettingsPage-DGxrok5K.js +0 -1
- package/frontend/dist/assets/ProjectSelector-hgmGYVFh.js +0 -1
- package/frontend/dist/assets/ProjectsPage-D399IM0c.js +0 -14
- package/frontend/dist/assets/SettingsLayout-CL_K-lzJ.js +0 -1
- package/frontend/dist/assets/SubagentForm-DXtTTIKg.js +0 -7
- package/frontend/dist/assets/SubagentsPage-Chbhj8p2.js +0 -1
- package/frontend/dist/assets/ToastTestPage-DT4wuN5C.js +0 -1
- package/frontend/dist/assets/UnifiedToolSelector-CsM9qBvs.js +0 -1
- package/frontend/dist/assets/VersionSettingsPage-74Q-LVgA.js +0 -5
- package/frontend/dist/assets/agents-ClAzIJTw.js +0 -1
- package/frontend/dist/assets/agents-DwCY2K8p.css +0 -1
- package/frontend/dist/assets/authFetch-BATQyPG5.js +0 -1
- package/frontend/dist/assets/data-structures-DLJedtzx.js +0 -27
- package/frontend/dist/assets/dateFormat-CXa8VnEC.js +0 -1
- package/frontend/dist/assets/index-B9YHa7XT.css +0 -1
- package/frontend/dist/assets/index-B_CTNvca.js +0 -268
- package/frontend/dist/assets/monaco-editor-C7Z4sOhS.js +0 -19
- package/frontend/dist/assets/syntax-highlighting-YWvMU4Hm.js +0 -24
- package/frontend/dist/assets/tabManager-DV8urRBM.js +0 -30
- package/frontend/dist/assets/table-D6q1rytw.js +0 -1
- package/frontend/dist/assets/tools-C4EPanYi.js +0 -1
- package/frontend/dist/assets/ui-components-Cw21Epuw.js +0 -481
- package/frontend/dist/assets/useAgents-DwnOE1_k.js +0 -2
- package/frontend/dist/assets/useClaudeVersions-CQdGnCqv.js +0 -1
- package/frontend/dist/assets/useCommands-CCVaurbt.js +0 -1
- package/frontend/dist/cc-studio.png +0 -0
- package/frontend/dist/index.html +0 -70
- package/frontend/dist/vite.svg +0 -1
- package/shared/index.d.ts +0 -6
- package/shared/index.d.ts.map +0 -1
- package/shared/index.js +0 -7
- package/shared/types/agents.d.ts +0 -80
- package/shared/types/agents.d.ts.map +0 -1
- package/shared/types/agents.js +0 -145
- package/shared/types/claude-history.d.ts +0 -61
- package/shared/types/claude-history.d.ts.map +0 -1
- package/shared/types/claude-history.js +0 -2
- package/shared/types/claude-versions.d.ts +0 -40
- package/shared/types/claude-versions.d.ts.map +0 -1
- package/shared/types/claude-versions.js +0 -1
- package/shared/types/commands.d.ts +0 -48
- package/shared/types/commands.d.ts.map +0 -1
- package/shared/types/commands.js +0 -19
- package/shared/types/projects.d.ts +0 -35
- package/shared/types/projects.d.ts.map +0 -1
- package/shared/types/projects.js +0 -2
- package/shared/types/subagents.d.ts +0 -26
- package/shared/types/subagents.d.ts.map +0 -1
- package/shared/types/subagents.js +0 -1
- package/shared/utils/agentStorage.d.ts +0 -27
- package/shared/utils/agentStorage.d.ts.map +0 -1
- package/shared/utils/agentStorage.js +0 -392
- package/shared/utils/claudeVersionStorage.d.ts +0 -16
- package/shared/utils/claudeVersionStorage.d.ts.map +0 -1
- package/shared/utils/claudeVersionStorage.js +0 -230
- package/shared/utils/projectMetadataStorage.d.ts +0 -94
- package/shared/utils/projectMetadataStorage.d.ts.map +0 -1
- package/shared/utils/projectMetadataStorage.js +0 -422
- package/shared/utils/toolMapping.d.ts +0 -56
- package/shared/utils/toolMapping.d.ts.map +0 -1
- package/shared/utils/toolMapping.js +0 -71
- package/tsconfig.json +0 -27
- /package/{dist → backend/dist}/bin/agentstudio.d.ts +0 -0
- /package/{dist → backend/dist}/bin/agentstudio.d.ts.map +0 -0
- /package/{dist → backend/dist}/middleware/auth.d.ts +0 -0
- /package/{dist → backend/dist}/middleware/auth.d.ts.map +0 -0
- /package/{dist → backend/dist}/middleware/auth.js +0 -0
- /package/{dist → backend/dist}/middleware/auth.js.map +0 -0
- /package/{dist → backend/dist}/routes/agents.d.ts +0 -0
- /package/{dist → backend/dist}/routes/agents.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/auth.d.ts +0 -0
- /package/{dist → backend/dist}/routes/auth.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/auth.js +0 -0
- /package/{dist → backend/dist}/routes/auth.js.map +0 -0
- /package/{dist → backend/dist}/routes/commands.d.ts +0 -0
- /package/{dist → backend/dist}/routes/commands.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/commands.js +0 -0
- /package/{dist → backend/dist}/routes/commands.js.map +0 -0
- /package/{dist → backend/dist}/routes/files.d.ts +0 -0
- /package/{dist → backend/dist}/routes/files.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/files.js +0 -0
- /package/{dist → backend/dist}/routes/files.js.map +0 -0
- /package/{dist → backend/dist}/routes/mcp.d.ts +0 -0
- /package/{dist → backend/dist}/routes/mcp.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/mcp.js +0 -0
- /package/{dist → backend/dist}/routes/mcp.js.map +0 -0
- /package/{dist → backend/dist}/routes/media.d.ts +0 -0
- /package/{dist → backend/dist}/routes/media.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/media.js +0 -0
- /package/{dist → backend/dist}/routes/media.js.map +0 -0
- /package/{dist → backend/dist}/routes/projects.d.ts +0 -0
- /package/{dist → backend/dist}/routes/projects.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/sessions.d.ts +0 -0
- /package/{dist → backend/dist}/routes/sessions.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/settings.d.ts +0 -0
- /package/{dist → backend/dist}/routes/settings.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/slides.d.ts +0 -0
- /package/{dist → backend/dist}/routes/slides.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/slides.js +0 -0
- /package/{dist → backend/dist}/routes/slides.js.map +0 -0
- /package/{dist → backend/dist}/routes/subagents.d.ts +0 -0
- /package/{dist → backend/dist}/routes/subagents.d.ts.map +0 -0
- /package/{dist → backend/dist}/routes/subagents.js +0 -0
- /package/{dist → backend/dist}/routes/subagents.js.map +0 -0
- /package/{dist → backend/dist}/services/claudeSession.d.ts +0 -0
- /package/{dist → backend/dist}/services/claudeSession.d.ts.map +0 -0
- /package/{dist → backend/dist}/services/claudeSession.js +0 -0
- /package/{dist → backend/dist}/services/claudeSession.js.map +0 -0
- /package/{dist → backend/dist}/services/messageQueue.d.ts +0 -0
- /package/{dist → backend/dist}/services/messageQueue.d.ts.map +0 -0
- /package/{dist → backend/dist}/services/messageQueue.js +0 -0
- /package/{dist → backend/dist}/services/messageQueue.js.map +0 -0
- /package/{dist → backend/dist}/services/sessionManager.d.ts +0 -0
- /package/{dist → backend/dist}/services/sessionManager.d.ts.map +0 -0
- /package/{dist → backend/dist}/services/sessionManager.js +0 -0
- /package/{dist → backend/dist}/services/sessionManager.js.map +0 -0
- /package/{dist → backend/dist}/utils/jwt.d.ts +0 -0
- /package/{dist → backend/dist}/utils/jwt.d.ts.map +0 -0
- /package/{dist → backend/dist}/utils/jwt.js +0 -0
- /package/{dist → backend/dist}/utils/jwt.js.map +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{f as h,h as w,A as o}from"./agents-ClAzIJTw.js";import{a as i}from"./authFetch-BATQyPG5.js";const O=(s,e)=>h({queryKey:["agents",s,e],queryFn:async()=>{const t=new URL(`${o}/agents`),n=await i(t.toString());if(!n.ok)throw new Error("Failed to fetch agents");return n.json()}}),C=s=>h({queryKey:["agent",s],queryFn:async()=>{const e=await i(`${o}/agents/${s}`);if(!e.ok)throw new Error("Failed to fetch agent");return e.json()},enabled:!!s}),P=()=>w({mutationFn:async s=>{const e=await i(`${o}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!e.ok)throw new Error("Failed to create agent");return e.json()}}),R=()=>w({mutationFn:async({agentId:s,data:e})=>{const t=await i(`${o}/agents/${s}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error("Failed to update agent");return t.json()}}),x=()=>w({mutationFn:async s=>{const e=await i(`${o}/agents/${s}`,{method:"DELETE"});if(!e.ok)throw new Error("Failed to delete agent");return e.json()}}),N=(s,e,t)=>h({queryKey:["agent-sessions",s,e,t],queryFn:async()=>{const n=new URL(`${o}/sessions/${s}`);e&&e.trim()&&n.searchParams.append("search",e.trim()),t&&n.searchParams.set("projectPath",t);const r=await i(n.toString());if(!r.ok)throw new Error("Failed to fetch agent sessions");return r.json()},enabled:!!s}),D=(s,e,t)=>(console.log("🎣 useAgentSessionMessages hook called:",{agentId:s,sessionId:e,projectPath:t,enabled:!!s&&!!e}),h({queryKey:["agent-session-messages",s,e,t],queryFn:async()=>{if(console.log("🎣 Fetching session messages for:",{agentId:s,sessionId:e,projectPath:t}),!e)return{messages:[]};const n=new URL(`${o}/sessions/${s}/${e}/messages`);t&&n.searchParams.set("projectPath",t),console.log("🎣 Fetching from URL:",n.toString());const r=await i(n.toString());if(!r.ok)throw console.error("🎣 Fetch failed:",r.status,r.statusText),new Error("Failed to fetch agent session messages");const u=await r.json();console.log("🎣 Raw API response:",{messageCount:u.messages?.length});const p=u.messages.map(y=>({...y,timestamp:new Date(y.timestamp)}));return console.log("🎣 Converted messages:",{messageCount:p.length}),{...u,messages:p}},enabled:!!s&&!!e})),M=()=>({mutateAsync:async({agentId:s,message:e,images:t,context:n,sessionId:r,projectPath:u,mcpTools:p,permissionMode:y,model:m,claudeVersion:S,abortController:f,onMessage:E,onError:F})=>{try{console.log("🚀 Starting SSE request to:",`${o}/agents/chat`);const a=await i(`${o}/agents/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:s,message:e,images:t,context:n,sessionId:r,projectPath:u,mcpTools:p,permissionMode:y,model:m,claudeVersion:S}),signal:f?.signal});if(console.log("🚀 SSE response received:",{status:a.status,statusText:a.statusText,headers:Object.fromEntries(a.headers.entries())}),!a.ok)throw new Error(`Agent chat request failed: ${a.status} ${a.statusText}`);const d=a.body?.getReader(),j=new TextDecoder;if(!d)throw new Error("No response body");for(console.log("🚀 Starting SSE stream reading...");;){if(f?.signal.aborted)throw d.cancel(),new DOMException("Request aborted","AbortError");const{done:$,value:b}=await d.read();if($)break;const A=j.decode(b).split(`
|
|
2
|
-
`);for(const g of A)if(g.startsWith("data: "))try{const c=g.slice(6);console.log("🔄 Raw SSE data:",c.length>200?c.substring(0,200)+"...":c);const l=JSON.parse(c);console.log("🔄 Parsed SSE event:",{type:l.type,subtype:l.subtype,hasMessage:!!l.message,messageContentBlocks:l.message?.content?.length||0}),E?.(l)}catch(c){console.error("❌ Failed to parse SSE data:",g,"Error:",c)}else g.trim()&&console.log("🔄 Non-data SSE line:",g)}}catch(a){throw console.error("Agent SSE error:",a),F?.(a),a}}}),U=()=>w({mutationFn:async({agentId:s,projectName:e,parentDirectory:t})=>{const n=await i(`${o}/agents/projects/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:s,projectName:e,parentDirectory:t})});if(!n.ok){const r=await n.json();throw new Error(r.error||"Failed to create project")}return n.json()}}),v=s=>h({queryKey:["agent-projects",s],queryFn:async()=>{const e=await i(`${o}/projects/agents/${s}`);if(!e.ok)throw new Error("Failed to fetch agent projects");return e.json()},enabled:!!s}),J=()=>w({mutationFn:async s=>{const e=await i(`${o}/agents/sessions/${s}/interrupt`,{method:"POST"});if(!e.ok){const t=await e.json();throw new Error(t.error||"Failed to interrupt session")}return e.json()}});export{R as a,x as b,P as c,J as d,N as e,D as f,M as g,C as h,U as i,v as j,O as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as l,e as i,h as u,A as o}from"./agents-ClAzIJTw.js";import{a}from"./authFetch-BATQyPG5.js";import{u as y}from"./index-B_CTNvca.js";import{r as d}from"./monaco-editor-C7Z4sOhS.js";const w=t=>{const{currentServiceId:r}=y();d.useRef(!1);const e=!1,s=!0,n=l({queryKey:["claude-versions",r],queryFn:async()=>{const c=await a(`${o}/settings/claude-versions`);if(!c.ok)throw new Error("Failed to fetch Claude versions");return c.json()},enabled:s,retry:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1,staleTime:3e4});return d.useEffect(()=>{},[n.isError,n.isLoading,r,s,e]),n},h=()=>{const t=i();return u({mutationFn:async r=>{const e=await a(`${o}/settings/claude-versions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!e.ok){const s=await e.json();throw new Error(s.message||"Failed to create Claude version")}return e.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["claude-versions"]})}})},C=()=>{const t=i();return u({mutationFn:async({id:r,data:e})=>{const s=await a(`${o}/settings/claude-versions/${r}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!s.ok){const n=await s.json();throw new Error(n.message||"Failed to update Claude version")}return s.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["claude-versions"]})}})},g=()=>{const t=i();return u({mutationFn:async r=>{const e=await a(`${o}/settings/claude-versions/${r}`,{method:"DELETE"});if(!e.ok){const s=await e.json();throw new Error(s.message||"Failed to delete Claude version")}},onSuccess:()=>{t.invalidateQueries({queryKey:["claude-versions"]})}})},E=()=>{const t=i();return u({mutationFn:async r=>{const e=await a(`${o}/settings/claude-versions/${r}/set-default`,{method:"PUT"});if(!e.ok){const s=await e.json();throw new Error(s.message||"Failed to set default Claude version")}},onSuccess:()=>{t.invalidateQueries({queryKey:["claude-versions"]})}})};export{h as a,C as b,g as c,E as d,w as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as h,e as p,h as d,A as r,i as w}from"./agents-ClAzIJTw.js";import{a as s}from"./authFetch-BATQyPG5.js";const y=async(e={})=>{try{const o=new URLSearchParams;e.scope&&e.scope!=="all"&&o.append("scope",e.scope),e.namespace&&o.append("namespace",e.namespace),e.search&&o.append("search",e.search);const t=await s(`${r}/commands?${o}`);if(!t.ok)throw new Error("Failed to fetch commands");return t.json()}catch(o){if(w(o))return[];throw o}},f=async e=>{const o=await s(`${r}/commands`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!o.ok){const t=await o.json();throw new Error(t.error||"Failed to create command")}return o.json()},l=async(e,o)=>{const t=await s(`${r}/commands/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!t.ok){const a=await t.json();throw new Error(a.error||"Failed to update command")}return t.json()},C=async e=>{const o=await s(`${r}/commands/${encodeURIComponent(e)}`,{method:"DELETE"});if(!o.ok){const t=await o.json();throw new Error(t.error||"Failed to delete command")}},D=e=>h({queryKey:["commands",e],queryFn:()=>y(e),staleTime:1e3*60*5,retry:!1}),U=()=>{const e=p();return d({mutationFn:f,onSuccess:()=>{e.invalidateQueries({queryKey:["commands"]})}})},R=()=>{const e=p();return d({mutationFn:({id:o,updates:t})=>l(o,t),onSuccess:o=>{e.invalidateQueries({queryKey:["commands"]}),e.setQueryData(["commands",o.id],o)}})},k=()=>{const e=p();return d({mutationFn:C,onSuccess:(o,t)=>{e.invalidateQueries({queryKey:["commands"]}),e.removeQueries({queryKey:["commands",t]})}})},P=async(e,o={})=>{if(!e)return[];let t;if(e.startsWith("/"))t=e;else{const m=await s(`${r}/projects`);if(!m.ok)throw new Error("Failed to fetch project info");const n=(await m.json()).projects.find(u=>u.id===e);if(!n)throw new Error("Project not found");t=n.path}const a=new URLSearchParams;a.append("scope","project"),a.append("projectPath",t),o.namespace&&a.append("namespace",o.namespace),o.search&&a.append("search",o.search);const c=await s(`${r}/commands?${a}`);if(!c.ok)throw new Error("Failed to fetch project commands");return c.json()},Q=e=>h({queryKey:["commands","project",e.projectId,e.search],queryFn:()=>P(e.projectId,{search:e.search}),staleTime:1e3*60*5}),E=async(e,o)=>{const t=await s(`${r}/agents/projects`);if(!t.ok)throw new Error("Failed to fetch project info");const c=(await t.json()).projects.find(n=>n.id===e);if(!c)throw new Error("Project not found");const m=new URLSearchParams;m.append("projectPath",c.path);const i=await s(`${r}/commands?${m}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!i.ok){const n=await i.json();throw new Error(n.error||"Failed to create command")}return i.json()},F=async(e,o)=>{const t=await s(`${r}/agents/projects`);if(!t.ok)throw new Error("Failed to fetch project info");const c=(await t.json()).projects.find(j=>j.id===e);if(!c)throw new Error("Project not found");const{id:m,updates:i}=o,n=new URLSearchParams;n.append("projectPath",c.path);const u=await s(`${r}/commands/${encodeURIComponent(m)}?${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!u.ok){const j=await u.json();throw new Error(j.error||"Failed to update command")}return u.json()},$=async(e,o)=>{const t=await s(`${r}/agents/projects`);if(!t.ok)throw new Error("Failed to fetch project info");const c=(await t.json()).projects.find(n=>n.id===e);if(!c)throw new Error("Project not found");const m=new URLSearchParams;m.append("projectPath",c.path);const i=await s(`${r}/commands/${encodeURIComponent(o)}?${m}`,{method:"DELETE"});if(!i.ok){const n=await i.json();throw new Error(n.error||"Failed to delete command")}},T=e=>{const o=p();return d({mutationFn:t=>E(e,t),onSuccess:()=>{o.invalidateQueries({queryKey:["commands","project",e]})}})},K=e=>{const o=p();return d({mutationFn:t=>F(e,t),onSuccess:t=>{o.invalidateQueries({queryKey:["commands","project",e]}),o.setQueryData(["commands",t.id],t)}})},v=e=>{const o=p();return d({mutationFn:t=>$(e,t),onSuccess:(t,a)=>{o.invalidateQueries({queryKey:["commands","project",e]}),o.removeQueries({queryKey:["commands",a]})}})};export{Q as a,v as b,k as c,T as d,U as e,K as f,R as g,D as u};
|
|
Binary file
|
package/frontend/dist/index.html
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="zh-CN">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/png" href="/cc-studio.png" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
|
|
8
|
-
<!-- Primary Meta Tags -->
|
|
9
|
-
<title>AgentStudio - 智能体工作平台 | Claude Code 驱动的 AI 助手</title>
|
|
10
|
-
<meta name="title" content="AgentStudio - 智能体工作平台 | Claude Code 驱动的 AI 助手" />
|
|
11
|
-
<meta name="description" content="基于 Claude Code SDK 的现代化个人智能体工作平台。通过直观的 Web 界面,轻松访问强大的 AI 能力,支持多种大语言模型,提升工作效率。" />
|
|
12
|
-
<meta name="keywords" content="AI助手,智能体,Agent,Claude Code,大语言模型,LLM,工作平台,效率工具,人工智能,聊天机器人" />
|
|
13
|
-
<meta name="author" content="AgentStudio Team" />
|
|
14
|
-
<meta name="robots" content="index, follow" />
|
|
15
|
-
|
|
16
|
-
<!-- Open Graph / Facebook -->
|
|
17
|
-
<meta property="og:type" content="website" />
|
|
18
|
-
<meta property="og:url" content="https://agentstudio.cc/" />
|
|
19
|
-
<meta property="og:title" content="AgentStudio - 智能体工作平台 | Claude Code 驱动的 AI 助手" />
|
|
20
|
-
<meta property="og:description" content="基于 Claude Code SDK 的现代化个人智能体工作平台。通过直观的 Web 界面,轻松访问强大的 AI 能力,支持多种大语言模型,提升工作效率。" />
|
|
21
|
-
<meta property="og:image" content="https://agentstudio.cc/cc-studio.png" />
|
|
22
|
-
<meta property="og:site_name" content="AgentStudio" />
|
|
23
|
-
<meta property="og:locale" content="zh_CN" />
|
|
24
|
-
|
|
25
|
-
<!-- Twitter -->
|
|
26
|
-
<meta property="twitter:card" content="summary_large_image" />
|
|
27
|
-
<meta property="twitter:url" content="https://agentstudio.cc/" />
|
|
28
|
-
<meta property="twitter:title" content="AgentStudio - 智能体工作平台 | Claude Code 驱动的 AI 助手" />
|
|
29
|
-
<meta property="twitter:description" content="基于 Claude Code SDK 的现代化个人智能体工作平台。通过直观的 Web 界面,轻松访问强大的 AI 能力,支持多种大语言模型,提升工作效率。" />
|
|
30
|
-
<meta property="twitter:image" content="https://agentstudio.cc/cc-studio.png" />
|
|
31
|
-
|
|
32
|
-
<!-- Additional SEO -->
|
|
33
|
-
<link rel="canonical" href="https://agentstudio.cc/" />
|
|
34
|
-
<meta name="theme-color" content="#2563eb" />
|
|
35
|
-
|
|
36
|
-
<!-- Structured Data -->
|
|
37
|
-
<script type="application/ld+json">
|
|
38
|
-
{
|
|
39
|
-
"@context": "https://schema.org",
|
|
40
|
-
"@type": "SoftwareApplication",
|
|
41
|
-
"name": "AgentStudio",
|
|
42
|
-
"description": "基于 Claude Code SDK 的现代化个人智能体工作平台",
|
|
43
|
-
"url": "https://agentstudio.cc/",
|
|
44
|
-
"applicationCategory": "ProductivityApplication",
|
|
45
|
-
"operatingSystem": "Web Browser",
|
|
46
|
-
"offers": {
|
|
47
|
-
"@type": "Offer",
|
|
48
|
-
"price": "0",
|
|
49
|
-
"priceCurrency": "USD"
|
|
50
|
-
},
|
|
51
|
-
"author": {
|
|
52
|
-
"@type": "Organization",
|
|
53
|
-
"name": "AgentStudio Team"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
</script>
|
|
57
|
-
<script type="module" crossorigin src="/assets/index-B_CTNvca.js"></script>
|
|
58
|
-
<link rel="modulepreload" crossorigin href="/assets/monaco-editor-C7Z4sOhS.js">
|
|
59
|
-
<link rel="modulepreload" crossorigin href="/assets/syntax-highlighting-YWvMU4Hm.js">
|
|
60
|
-
<link rel="modulepreload" crossorigin href="/assets/data-structures-DLJedtzx.js">
|
|
61
|
-
<link rel="modulepreload" crossorigin href="/assets/ui-components-Cw21Epuw.js">
|
|
62
|
-
<link rel="modulepreload" crossorigin href="/assets/tools-C4EPanYi.js">
|
|
63
|
-
<link rel="modulepreload" crossorigin href="/assets/agents-ClAzIJTw.js">
|
|
64
|
-
<link rel="stylesheet" crossorigin href="/assets/agents-DwCY2K8p.css">
|
|
65
|
-
<link rel="stylesheet" crossorigin href="/assets/index-B9YHa7XT.css">
|
|
66
|
-
</head>
|
|
67
|
-
<body>
|
|
68
|
-
<div id="root"></div>
|
|
69
|
-
</body>
|
|
70
|
-
</html>
|
package/frontend/dist/vite.svg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
package/shared/index.d.ts
DELETED
package/shared/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC"}
|
package/shared/index.js
DELETED
package/shared/types/agents.d.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
export interface AgentTool {
|
|
2
|
-
name: string;
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
permissions?: {
|
|
5
|
-
requireConfirmation?: boolean;
|
|
6
|
-
allowedPaths?: string[];
|
|
7
|
-
blockedPaths?: string[];
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export interface AgentConfig {
|
|
11
|
-
id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
version: string;
|
|
15
|
-
systemPrompt: string;
|
|
16
|
-
maxTurns: number;
|
|
17
|
-
permissionMode: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan';
|
|
18
|
-
model: string;
|
|
19
|
-
allowedTools: AgentTool[];
|
|
20
|
-
ui: {
|
|
21
|
-
icon: string;
|
|
22
|
-
headerTitle: string;
|
|
23
|
-
headerDescription: string;
|
|
24
|
-
welcomeMessage?: string;
|
|
25
|
-
componentType: 'slides' | 'chat' | 'documents' | 'code' | 'custom';
|
|
26
|
-
customComponent?: string;
|
|
27
|
-
};
|
|
28
|
-
workingDirectory?: string;
|
|
29
|
-
dataDirectory?: string;
|
|
30
|
-
fileTypes?: string[];
|
|
31
|
-
author: string;
|
|
32
|
-
homepage?: string;
|
|
33
|
-
tags: string[];
|
|
34
|
-
createdAt: string;
|
|
35
|
-
updatedAt: string;
|
|
36
|
-
enabled: boolean;
|
|
37
|
-
projects?: string[];
|
|
38
|
-
}
|
|
39
|
-
export interface AgentSession {
|
|
40
|
-
id: string;
|
|
41
|
-
agentId: string;
|
|
42
|
-
title: string;
|
|
43
|
-
createdAt: number;
|
|
44
|
-
lastUpdated: number;
|
|
45
|
-
messages: AgentMessage[];
|
|
46
|
-
claudeVersionId?: string;
|
|
47
|
-
customData?: Record<string, unknown>;
|
|
48
|
-
}
|
|
49
|
-
export interface AgentMessage {
|
|
50
|
-
id: string;
|
|
51
|
-
role: 'user' | 'assistant';
|
|
52
|
-
content: string;
|
|
53
|
-
timestamp: number;
|
|
54
|
-
messageParts?: MessagePart[];
|
|
55
|
-
agentId: string;
|
|
56
|
-
}
|
|
57
|
-
export interface MessagePart {
|
|
58
|
-
id: string;
|
|
59
|
-
type: 'text' | 'tool' | 'command' | 'compactSummary' | 'image';
|
|
60
|
-
content?: string;
|
|
61
|
-
toolData?: {
|
|
62
|
-
id: string;
|
|
63
|
-
toolName: string;
|
|
64
|
-
toolInput: Record<string, unknown>;
|
|
65
|
-
toolResult?: string;
|
|
66
|
-
isExecuting: boolean;
|
|
67
|
-
isError?: boolean;
|
|
68
|
-
claudeId?: string;
|
|
69
|
-
};
|
|
70
|
-
imageData?: {
|
|
71
|
-
id: string;
|
|
72
|
-
data: string;
|
|
73
|
-
mediaType: string;
|
|
74
|
-
filename?: string;
|
|
75
|
-
};
|
|
76
|
-
order: number;
|
|
77
|
-
originalContent?: string;
|
|
78
|
-
}
|
|
79
|
-
export declare const BUILTIN_AGENTS: Partial<AgentConfig>[];
|
|
80
|
-
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":"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"}
|
package/shared/types/agents.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
// Built-in agent templates
|
|
2
|
-
export const BUILTIN_AGENTS = [
|
|
3
|
-
{
|
|
4
|
-
id: 'ppt-editor',
|
|
5
|
-
name: 'PPT编辑助手',
|
|
6
|
-
description: '专门用于创建和编辑HTML演示文稿的AI助手',
|
|
7
|
-
systemPrompt: `You are an AI assistant specialized in helping users create and edit HTML presentations.
|
|
8
|
-
You can help with:
|
|
9
|
-
- Content creation and editing
|
|
10
|
-
- Design suggestions
|
|
11
|
-
- Structure improvements
|
|
12
|
-
- HTML/CSS modifications
|
|
13
|
-
- Presentation flow optimization
|
|
14
|
-
- File operations for slide management
|
|
15
|
-
|
|
16
|
-
The presentation uses HTML slides with embedded CSS styling. Each slide should be self-contained with a 1280x720 viewport.
|
|
17
|
-
Slides are stored in the ../slides/ directory relative to the backend.
|
|
18
|
-
|
|
19
|
-
Always provide helpful, specific suggestions and when possible, include code examples.
|
|
20
|
-
Please respond in Chinese.`,
|
|
21
|
-
allowedTools: [
|
|
22
|
-
{ name: 'Write', enabled: true },
|
|
23
|
-
{ name: 'Read', enabled: true },
|
|
24
|
-
{ name: 'Edit', enabled: true },
|
|
25
|
-
{ name: 'Glob', enabled: true },
|
|
26
|
-
{ name: 'MultiEdit', enabled: true },
|
|
27
|
-
{ name: 'Bash', enabled: true }
|
|
28
|
-
],
|
|
29
|
-
ui: {
|
|
30
|
-
icon: '🎯',
|
|
31
|
-
headerTitle: 'AI PPT助手',
|
|
32
|
-
headerDescription: '与AI聊天来编辑你的演示文稿',
|
|
33
|
-
welcomeMessage: '你好!我是你的AI PPT助手,可以帮你创建、编辑和优化HTML演示文稿。有什么需要帮助的吗?',
|
|
34
|
-
componentType: 'slides'
|
|
35
|
-
},
|
|
36
|
-
workingDirectory: '../slides',
|
|
37
|
-
dataDirectory: '.ai-sessions',
|
|
38
|
-
fileTypes: ['.html', '.css', '.js'],
|
|
39
|
-
tags: ['presentation', 'html', 'css', 'slides'],
|
|
40
|
-
enabled: true
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
id: 'code-assistant',
|
|
44
|
-
name: '代码助手',
|
|
45
|
-
description: '通用代码开发和审查助手',
|
|
46
|
-
systemPrompt: `You are a professional software development assistant. You can help with:
|
|
47
|
-
- Code review and optimization
|
|
48
|
-
- Bug fixing and debugging
|
|
49
|
-
- Architecture design
|
|
50
|
-
- Best practices implementation
|
|
51
|
-
- Documentation writing
|
|
52
|
-
- Testing strategies
|
|
53
|
-
|
|
54
|
-
You have access to file system operations and can directly modify code files.
|
|
55
|
-
Always follow coding best practices and maintain clean, readable code.
|
|
56
|
-
Please respond in Chinese.`,
|
|
57
|
-
allowedTools: [
|
|
58
|
-
{ name: 'Write', enabled: true },
|
|
59
|
-
{ name: 'Read', enabled: true },
|
|
60
|
-
{ name: 'Edit', enabled: true },
|
|
61
|
-
{ name: 'Glob', enabled: true },
|
|
62
|
-
{ name: 'MultiEdit', enabled: true },
|
|
63
|
-
{ name: 'Bash', enabled: true },
|
|
64
|
-
{ name: 'Task', enabled: true }
|
|
65
|
-
],
|
|
66
|
-
ui: {
|
|
67
|
-
icon: '💻',
|
|
68
|
-
headerTitle: '代码助手',
|
|
69
|
-
headerDescription: '专业的软件开发和代码审查助手',
|
|
70
|
-
welcomeMessage: '你好!我是专业的代码助手,可以帮你进行代码开发、审查、调试和优化。请告诉我你想要解决的编程问题!',
|
|
71
|
-
componentType: 'code'
|
|
72
|
-
},
|
|
73
|
-
tags: ['coding', 'development', 'review', 'debugging'],
|
|
74
|
-
enabled: false
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
id: 'document-writer',
|
|
78
|
-
name: '文档助手',
|
|
79
|
-
description: '专注于文档创建和编辑的助手',
|
|
80
|
-
systemPrompt: `You are a professional document writing assistant. You can help with:
|
|
81
|
-
- Creating and editing documentation
|
|
82
|
-
- Technical writing
|
|
83
|
-
- Content structuring
|
|
84
|
-
- Markdown formatting
|
|
85
|
-
- Research and information gathering
|
|
86
|
-
- Proofreading and editing
|
|
87
|
-
|
|
88
|
-
You work primarily with text files and markdown documents.
|
|
89
|
-
Focus on clarity, accuracy, and professional presentation.
|
|
90
|
-
Please respond in Chinese.`,
|
|
91
|
-
allowedTools: [
|
|
92
|
-
{ name: 'Write', enabled: true },
|
|
93
|
-
{ name: 'Read', enabled: true },
|
|
94
|
-
{ name: 'Edit', enabled: true },
|
|
95
|
-
{ name: 'Glob', enabled: true },
|
|
96
|
-
{ name: 'WebFetch', enabled: true },
|
|
97
|
-
{ name: 'WebSearch', enabled: true }
|
|
98
|
-
],
|
|
99
|
-
ui: {
|
|
100
|
-
icon: '📝',
|
|
101
|
-
headerTitle: '文档助手',
|
|
102
|
-
headerDescription: '专业的文档创建和编辑助手',
|
|
103
|
-
welcomeMessage: '你好!我是文档助手,专门帮助你创建、编辑和优化各种文档。无论是技术文档还是普通文档,我都能为你提供专业建议!',
|
|
104
|
-
componentType: 'documents'
|
|
105
|
-
},
|
|
106
|
-
fileTypes: ['.md', '.txt', '.rst', '.adoc'],
|
|
107
|
-
tags: ['documentation', 'writing', 'markdown', 'content'],
|
|
108
|
-
enabled: true
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
id: 'general-chat',
|
|
112
|
-
name: '通用聊天助手',
|
|
113
|
-
description: '通用的AI聊天助手,适用于各种对话和咨询',
|
|
114
|
-
systemPrompt: `You are a general-purpose AI assistant. You can help with:
|
|
115
|
-
- General questions and conversations
|
|
116
|
-
- Problem-solving and brainstorming
|
|
117
|
-
- Information and explanations
|
|
118
|
-
- Creative tasks and writing
|
|
119
|
-
- Analysis and research
|
|
120
|
-
- File operations when needed
|
|
121
|
-
|
|
122
|
-
You are helpful, harmless, and honest. Always strive to provide accurate and useful information.
|
|
123
|
-
Please respond in Chinese unless the user specifically requests another language.`,
|
|
124
|
-
allowedTools: [
|
|
125
|
-
{ name: 'Write', enabled: true },
|
|
126
|
-
{ name: 'Read', enabled: true },
|
|
127
|
-
{ name: 'Edit', enabled: true },
|
|
128
|
-
{ name: 'Glob', enabled: true },
|
|
129
|
-
{ name: 'MultiEdit', enabled: true },
|
|
130
|
-
{ name: 'Bash', enabled: true },
|
|
131
|
-
{ name: 'Task', enabled: true },
|
|
132
|
-
{ name: 'WebFetch', enabled: true },
|
|
133
|
-
{ name: 'WebSearch', enabled: true }
|
|
134
|
-
],
|
|
135
|
-
ui: {
|
|
136
|
-
icon: '💬',
|
|
137
|
-
headerTitle: '通用聊天',
|
|
138
|
-
headerDescription: '与AI进行自由对话和咨询',
|
|
139
|
-
welcomeMessage: '你好!我是通用AI助手,可以帮你解答问题、进行对话、处理各种任务。有什么我可以帮助你的吗?',
|
|
140
|
-
componentType: 'chat'
|
|
141
|
-
},
|
|
142
|
-
tags: ['general', 'chat', 'conversation', 'assistant'],
|
|
143
|
-
enabled: true
|
|
144
|
-
}
|
|
145
|
-
];
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
export interface ClaudeMessageContent {
|
|
2
|
-
type: string;
|
|
3
|
-
text?: string;
|
|
4
|
-
content?: string | any[];
|
|
5
|
-
id?: string;
|
|
6
|
-
name?: string;
|
|
7
|
-
input?: any;
|
|
8
|
-
tool_use_id?: string;
|
|
9
|
-
is_error?: boolean;
|
|
10
|
-
signature?: string;
|
|
11
|
-
thinking?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface ClaudeMessage {
|
|
14
|
-
role: 'user' | 'assistant';
|
|
15
|
-
content: string | any[];
|
|
16
|
-
id?: string;
|
|
17
|
-
model?: string;
|
|
18
|
-
type?: string;
|
|
19
|
-
stop_reason?: string | null;
|
|
20
|
-
stop_sequence?: string | null;
|
|
21
|
-
usage?: {
|
|
22
|
-
input_tokens: number;
|
|
23
|
-
output_tokens: number;
|
|
24
|
-
cache_read_input_tokens?: number;
|
|
25
|
-
cache_creation_input_tokens?: number;
|
|
26
|
-
service_tier?: string;
|
|
27
|
-
cache_creation?: {
|
|
28
|
-
ephemeral_1h_input_tokens?: number;
|
|
29
|
-
ephemeral_5m_input_tokens?: number;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
export interface ClaudeHistoryMessage {
|
|
34
|
-
type: 'summary' | 'user' | 'text' | 'assistant' | 'message' | 'thinking' | 'tool_use' | 'tool_result';
|
|
35
|
-
uuid: string;
|
|
36
|
-
timestamp: string;
|
|
37
|
-
sessionId: string;
|
|
38
|
-
summary?: string;
|
|
39
|
-
leafUuid?: string;
|
|
40
|
-
message?: ClaudeMessage;
|
|
41
|
-
parentUuid?: string | null;
|
|
42
|
-
isSidechain?: boolean;
|
|
43
|
-
isMeta?: boolean;
|
|
44
|
-
cwd?: string;
|
|
45
|
-
gitBranch?: string;
|
|
46
|
-
version?: string;
|
|
47
|
-
userType?: string;
|
|
48
|
-
requestId?: string;
|
|
49
|
-
toolUseResult?: any;
|
|
50
|
-
isCompactSummary?: boolean;
|
|
51
|
-
isCompactCommand?: boolean;
|
|
52
|
-
isVisibleInTranscriptOnly?: boolean;
|
|
53
|
-
}
|
|
54
|
-
export interface ClaudeHistorySession {
|
|
55
|
-
id: string;
|
|
56
|
-
title: string;
|
|
57
|
-
createdAt: string;
|
|
58
|
-
lastUpdated: string;
|
|
59
|
-
messages: ClaudeHistoryMessage[];
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=claude-history.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-history.d.ts","sourceRoot":"","sources":["../../src/types/claude-history.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE;YACf,yBAAyB,CAAC,EAAE,MAAM,CAAC;YACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;SACpC,CAAC;KACH,CAAC;CACH;AAGD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;IACtG,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,EAAE,aAAa,CAAC;IAGxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,aAAa,CAAC,EAAE,GAAG,CAAC;IAGpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export interface ModelConfig {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
|
-
isVision: boolean;
|
|
5
|
-
description?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface ClaudeVersion {
|
|
8
|
-
id: string;
|
|
9
|
-
name: string;
|
|
10
|
-
alias: string;
|
|
11
|
-
description?: string;
|
|
12
|
-
executablePath?: string;
|
|
13
|
-
isDefault: boolean;
|
|
14
|
-
isSystem: boolean;
|
|
15
|
-
environmentVariables?: Record<string, string>;
|
|
16
|
-
models: ModelConfig[];
|
|
17
|
-
createdAt: string;
|
|
18
|
-
updatedAt: string;
|
|
19
|
-
}
|
|
20
|
-
export interface ClaudeVersionCreate {
|
|
21
|
-
name: string;
|
|
22
|
-
alias: string;
|
|
23
|
-
description?: string;
|
|
24
|
-
executablePath?: string;
|
|
25
|
-
environmentVariables?: Record<string, string>;
|
|
26
|
-
models?: ModelConfig[];
|
|
27
|
-
}
|
|
28
|
-
export interface ClaudeVersionUpdate {
|
|
29
|
-
name?: string;
|
|
30
|
-
alias?: string;
|
|
31
|
-
description?: string;
|
|
32
|
-
executablePath?: string;
|
|
33
|
-
environmentVariables?: Record<string, string>;
|
|
34
|
-
models?: ModelConfig[];
|
|
35
|
-
}
|
|
36
|
-
export interface ClaudeVersionResponse {
|
|
37
|
-
versions: ClaudeVersion[];
|
|
38
|
-
defaultVersionId: string | null;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=claude-versions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-versions.d.ts","sourceRoot":"","sources":["../../src/types/claude-versions.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export interface SlashCommand {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
|
-
description: string;
|
|
5
|
-
content: string;
|
|
6
|
-
scope: 'project' | 'user';
|
|
7
|
-
namespace?: string;
|
|
8
|
-
argumentHint?: string;
|
|
9
|
-
allowedTools?: string[];
|
|
10
|
-
model?: string;
|
|
11
|
-
createdAt: Date;
|
|
12
|
-
updatedAt: Date;
|
|
13
|
-
}
|
|
14
|
-
export interface SlashCommandCreate {
|
|
15
|
-
name: string;
|
|
16
|
-
description: string;
|
|
17
|
-
content: string;
|
|
18
|
-
scope: 'project' | 'user';
|
|
19
|
-
namespace?: string;
|
|
20
|
-
argumentHint?: string;
|
|
21
|
-
allowedTools?: string[];
|
|
22
|
-
model?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface SlashCommandUpdate {
|
|
25
|
-
description?: string;
|
|
26
|
-
content?: string;
|
|
27
|
-
argumentHint?: string;
|
|
28
|
-
allowedTools?: string[];
|
|
29
|
-
model?: string;
|
|
30
|
-
namespace?: string;
|
|
31
|
-
}
|
|
32
|
-
export interface SlashCommandFilter {
|
|
33
|
-
scope?: 'project' | 'user' | 'all';
|
|
34
|
-
namespace?: string;
|
|
35
|
-
search?: string;
|
|
36
|
-
}
|
|
37
|
-
export declare const COMMAND_SCOPES: readonly [{
|
|
38
|
-
readonly value: "project";
|
|
39
|
-
readonly label: "项目命令";
|
|
40
|
-
readonly description: "存储在项目中,与团队共享";
|
|
41
|
-
}, {
|
|
42
|
-
readonly value: "user";
|
|
43
|
-
readonly label: "个人命令";
|
|
44
|
-
readonly description: "存储在用户配置中,仅个人使用";
|
|
45
|
-
}];
|
|
46
|
-
export declare const DEFAULT_MODELS: readonly ["claude-3-5-sonnet-20241022", "claude-3-5-haiku-20241022", "claude-3-opus-20240229"];
|
|
47
|
-
export declare const COMMON_TOOLS: readonly ["Read", "Write", "Edit", "Bash", "Grep", "Glob", "WebFetch", "WebSearch"];
|
|
48
|
-
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,cAAc;;;;;;;;EAGjB,CAAC;AAEX,eAAO,MAAM,cAAc,gGAIjB,CAAC;AAEX,eAAO,MAAM,YAAY,qFASf,CAAC"}
|
package/shared/types/commands.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export const COMMAND_SCOPES = [
|
|
2
|
-
{ value: 'project', label: '项目命令', description: '存储在项目中,与团队共享' },
|
|
3
|
-
{ value: 'user', label: '个人命令', description: '存储在用户配置中,仅个人使用' }
|
|
4
|
-
];
|
|
5
|
-
export const DEFAULT_MODELS = [
|
|
6
|
-
'claude-3-5-sonnet-20241022',
|
|
7
|
-
'claude-3-5-haiku-20241022',
|
|
8
|
-
'claude-3-opus-20240229'
|
|
9
|
-
];
|
|
10
|
-
export const COMMON_TOOLS = [
|
|
11
|
-
'Read',
|
|
12
|
-
'Write',
|
|
13
|
-
'Edit',
|
|
14
|
-
'Bash',
|
|
15
|
-
'Grep',
|
|
16
|
-
'Glob',
|
|
17
|
-
'WebFetch',
|
|
18
|
-
'WebSearch'
|
|
19
|
-
];
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export interface ProjectAgentConfig {
|
|
2
|
-
enabled: boolean;
|
|
3
|
-
lastUsed: string;
|
|
4
|
-
sessionCount: number;
|
|
5
|
-
customConfig: Record<string, any>;
|
|
6
|
-
}
|
|
7
|
-
export interface ProjectMetadata {
|
|
8
|
-
id: string;
|
|
9
|
-
name: string;
|
|
10
|
-
description?: string;
|
|
11
|
-
path: string;
|
|
12
|
-
createdAt: string;
|
|
13
|
-
lastAccessed: string;
|
|
14
|
-
agents: Record<string, ProjectAgentConfig>;
|
|
15
|
-
defaultAgent: string;
|
|
16
|
-
tags: string[];
|
|
17
|
-
metadata: Record<string, any>;
|
|
18
|
-
}
|
|
19
|
-
export interface ProjectWithAgentInfo {
|
|
20
|
-
id: string;
|
|
21
|
-
name: string;
|
|
22
|
-
dirName: string;
|
|
23
|
-
path: string;
|
|
24
|
-
realPath?: string;
|
|
25
|
-
description?: string;
|
|
26
|
-
createdAt: string;
|
|
27
|
-
lastAccessed: string;
|
|
28
|
-
agents: string[];
|
|
29
|
-
defaultAgent: string;
|
|
30
|
-
defaultAgentName: string;
|
|
31
|
-
defaultAgentIcon: string;
|
|
32
|
-
tags: string[];
|
|
33
|
-
metadata: Record<string, any>;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=projects.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/types/projects.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IAGrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IAGrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IAGrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B"}
|
package/shared/types/projects.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export interface Subagent {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
|
-
description: string;
|
|
5
|
-
content: string;
|
|
6
|
-
scope: 'user' | 'project';
|
|
7
|
-
tools?: string[];
|
|
8
|
-
createdAt: Date;
|
|
9
|
-
updatedAt: Date;
|
|
10
|
-
}
|
|
11
|
-
export interface SubagentCreate {
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
content: string;
|
|
15
|
-
scope: 'user' | 'project';
|
|
16
|
-
tools?: string[];
|
|
17
|
-
}
|
|
18
|
-
export interface SubagentUpdate {
|
|
19
|
-
description?: string;
|
|
20
|
-
content?: string;
|
|
21
|
-
tools?: string[];
|
|
22
|
-
}
|
|
23
|
-
export interface SubagentFilter {
|
|
24
|
-
search?: string;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=subagents.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subagents.d.ts","sourceRoot":"","sources":["../../src/types/subagents.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|