gongzhiyong and Claude Opus 4.6
3eb70fec59
fix: coder agent must always call code_execute, never return plain text code
...
Deploy LangGraph Server to Azure Web App / build-and-deploy (push) Failing after 20s
Deploy LangGraph UI to Azure Static Web Apps / build-and-deploy (push) Failing after 39s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-11 11:03:50 +08:00
gongzhiyong and Claude Opus 4.6
e4760ca66e
fix: CanvasPanel returns null when no doc, no longer occupies space
...
Deploy LangGraph Server to Azure Web App / build-and-deploy (push) Failing after 23s
Deploy LangGraph UI to Azure Static Web Apps / build-and-deploy (push) Failing after 44s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-11 02:24:11 +08:00
gongzhiyong and Claude Opus 4.6
8a5d1c0ea9
fix: router coder/writer distinction + writer must use doc_create tool
...
Deploy LangGraph Server to Azure Web App / build-and-deploy (push) Failing after 26s
Deploy LangGraph UI to Azure Static Web Apps / build-and-deploy (push) Failing after 42s
- Router prompt now clearly distinguishes "写代码" (execute code → coder)
from "写文档" (create document → writer)
- Writer prompt strengthened to always use doc_create, never plain text
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-11 02:20:22 +08:00
gongzhiyong and Claude Opus 4.6
77e64d945e
feat: Phase 2 - Deep Search, Code Interpreter, Writer agents + CanvasPanel
...
Deploy LangGraph Server to Azure Web App / build-and-deploy (push) Failing after 22s
Deploy LangGraph UI to Azure Static Web Apps / build-and-deploy (push) Failing after 43s
- Add searcher agent with Jina deep search + KB search tools
- Add coder agent with Daytona sandbox code execution
- Add writer agent with canvas document creation/editing tools
- Integrate all sub-agents into supervisor router
- Add CanvasPanel drawer UI component for document rendering
- Refactor enterprise tools into shared soc-client module
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-11 01:52:10 +08:00
gongzhiyong and Claude Sonnet 4.6
08add81409
feat: Phase 2 - CanvasPanel drawer + sidebar search & date groups
...
- Add CanvasPanel.tsx: right-side 480px drawer, renders markdown via
MessageBubble or code via SyntaxHighlighter, with Copy/Download/Close
header; listens to window 'open-canvas' CustomEvent dispatched by Gen-UI cards
- Update ThreadSidebar.tsx: add search input below new-chat button with
live filtering; group filtered threads by date (今天/昨天/本周/更早)
with section headings; internal state only, Props interface unchanged
- Update main.tsx: import CanvasPanel, add canvasDoc state, register
open-canvas event listener on mount, render CanvasPanel alongside
the main chat column inside a flex-row wrapper
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-11 01:48:25 +08:00
gongzhiyong and Claude Opus 4.6
251c6586f4
feat: Phase 1 — ReAct loop + Markdown rendering + Docker deployment
...
Deploy LangGraph Server to Azure Web App / build-and-deploy (push) Failing after 26s
Deploy LangGraph UI to Azure Static Web Apps / build-and-deploy (push) Failing after 1m52s
Backend:
- Enterprise Agent refactored from single-round to ReAct multi-turn loop
- New agent.ts (LLM decision node) + tool-executor.ts (tool execution + Gen-UI)
- tool-defs.ts extracted for shared tool schemas
- MAX_ITERATIONS=6 safeguard against infinite loops
Frontend:
- MessageBubble: Markdown + code highlighting + LaTeX + tables
- ThemeToggle: light/dark/system theme cycling
- chart-result Gen-UI card: recharts bar/line/pie/area charts
Infrastructure:
- Docker Compose (lightweight): only LangGraph + Frontend, Azure cloud for PG/Redis/Blob
- Dockerfiles for dev (hot reload) and prod
- Makefile with dev/prod/down/logs commands
- Updated CLAUDE.md and agent definitions for LangGraph.js architecture
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-11 01:29:56 +08:00
gongzhiyong and Claude Sonnet 4.6
3263b15554
perf(deploy): pre-install node_modules in CI and enable always-on to fix slow cold start
...
- CI now runs pnpm install and includes node_modules in the zip artifact
- startup.sh simplified: removed pnpm install fallback, uses direct bin path instead of npx
- Azure Web App always-on enabled to prevent cold starts
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 15:55:38 +08:00
gongzhiyong and Claude Sonnet 4.6
370726c811
fix(deploy): use Azure-injected PORT instead of hardcoded 2024
...
- startup.sh now reads ${PORT:-8080} so Azure App Service can inject
the correct port via its PORT environment variable
- Removed obsolete deploy-backend.yml and deploy-frontend.yml workflows
(old Python backend and Next.js frontend pipelines)
- Removed WEBSITES_PORT=2024 from soc-langgraph Azure config
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 15:49:56 +08:00
gongzhiyong and Claude Opus 4.6
b30cb0e758
fix: add .npmrc and CUSTOM_BUILD_COMMAND to resolve Oryx npm peer dep conflict
...
Oryx runs `npm install` which fails on peer dependency conflicts between
@assistant-ui/react@^0.8.0 and @assistant-ui/react-syntax-highlighter@^0.7.2.
Adding .npmrc with legacy-peer-deps=true and CUSTOM_BUILD_COMMAND for pnpm.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 13:36:30 +08:00
gongzhiyong and Claude Opus 4.6
45685e8b4a
fix: resolve Web App startup timeout — exclude node_modules from zip, add startup.sh, increase timeout to 600s
...
- Remove node_modules from deploy zip (302MB -> ~1MB), let Oryx build on Azure
- Add startup.sh: creates .env/.langgraph_api prereqs, installs pnpm, runs langgraphjs dev
- Azure config: WEBSITES_CONTAINER_START_TIME_LIMIT=600, SCM_DO_BUILD_DURING_DEPLOYMENT=true, ENABLE_ORYX_BUILD=true, PRE_BUILD_COMMAND="npm install -g pnpm@10"
- Delete auto-generated main_soc-langgraph.yml (conflicts with deploy-langgraph.yml)
- Enable Always On to avoid cold starts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 06:17:47 +08:00
gongzhiyong and Claude Opus 4.6
32f83d714e
refactor: migrate LangGraph server from Container App to Azure Web App
...
## Changes
- Delete Dockerfile and .dockerignore (no longer needed)
- Rewrite deploy-langgraph.yml: zip deploy to Web App (not ACR build)
- Update deploy-langgraph-ui.yml: VITE_LANGGRAPH_URL → soc-langgraph.azurewebsites.net
## Azure Resources
- CREATED: soc-langgraph Web App (Node.js 20, B1 Linux, southeastasia)
- CREATED: soc-langgraph-plan (App Service Plan, B1, southeastasia)
- DELETED: soc-langgraph Container App
- DELETED: soc-cae Container App Environment
- DELETED: socsocacr ACR
- All env vars migrated to Web App
- Startup: npx langgraphjs dev --host 0.0.0.0 --port 2024 --no-browser
- WEBSITES_PORT=2024
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 05:47:32 +08:00
gongzhiyong
4a485a9c5b
fix(dockerfile): pre-create .langgraph_api to prevent tsx watch restart loop
2026-04-10 05:23:07 +08:00
gongzhiyong
3d35ca43be
fix(dockerfile): create empty .env file — langgraphjs dev requires it to exist
2026-04-10 05:05:17 +08:00
gongzhiyong
df2b72c53c
fix(dockerfile): explicit port binding for Container App health probe
2026-04-10 04:54:47 +08:00
gongzhiyong
f43d239e6c
fix(main.tsx): cast message prop to any in LoadExternalComponent
2026-04-10 04:37:21 +08:00
gongzhiyong
8d30e0cca0
fix(main.tsx): rename UIMessage→UIMsgLocal to avoid SDK type conflict
2026-04-10 04:35:15 +08:00
gongzhiyong
4f75b65d52
fix(main.tsx): add type field to local UIMessage type
2026-04-10 04:32:06 +08:00
gongzhiyong
844aaa8dcc
fix(main.tsx): resolve TypeScript errors — UIMessage type, role→type, ComponentMap cast
2026-04-10 04:28:28 +08:00
gongzhiyong and Claude Sonnet 4.6
7a3cc140b0
refactor: replace SOC system with LangGraph.js gen-ui — full cleanup
...
## Removed (old SOC system)
- backend/ — Python FastAPI + LangGraph Python ReAct agent
- frontend/ — Next.js Gemini-style UI
- config/, doc/ — old documentation
- .github/workflows/deploy-backend.yml
- .github/workflows/deploy-frontend.yml
## Added (new LangGraph.js system)
- langgraph/src/agent/enterprise/ — enterprise agent with 6 tools
- kb_search → KnowledgeResultCard
- ticket_list/detail → TicketSummaryCard / TicketDetailCard
- web_search (Jina Search+Reader) → SearchResultCard
- sandbox_run (Daytona REST) → SandboxResultCard
- langgraph/src/agent-uis/enterprise/ — UI card components
- .github/workflows/deploy-langgraph-ui.yml — Vite SPA → Azure Static Web App
## Azure Resources
- soc-backend webapp: DELETED
- soc-frontend Static Web App (eastasia): DELETED
- soc-langgraph-ui Static Web App (eastasia): CREATED
URL: salmon-mushroom-0d8872e00.7.azurestaticapps.net
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 04:23:51 +08:00
gongzhiyong and Claude Sonnet 4.6
645f1ecaae
feat(langgraph): add enterprise UI card components and implement main.tsx Chat entry
...
- Create 5 enterprise UI card components under src/agent-uis/enterprise/:
knowledge-result, ticket-summary, ticket-detail, search-result, sandbox-result
- Update ComponentMap in src/agent-uis/index.tsx to replace () => null placeholders
with real component imports
- Implement src/main.tsx with useStream + LoadExternalComponent for full Chat UI,
connecting to LangGraph agent with VITE_LANGGRAPH_URL env var
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 04:23:32 +08:00
gongzhiyong
b621fbae92
fix(langgraph): add missing pnpm-lock.yaml for Docker build
2026-04-10 04:04:27 +08:00
gongzhiyong and Claude Sonnet 4.6
ac388b3c07
feat: add langgraph/ — LangGraph.js gen-ui server with CI/CD to Azure Container App
...
## Azure Resources Created
- ACR: socsocacr.azurecr.io (Operation, southeastasia)
- Container App Environment: soc-cae (Operation, southeastasia)
- Container App: soc-langgraph (Operation, southeastasia, port 2024)
- Scale: 0-2 replicas, 0.5 vCPU / 1GB
- Registry: socsocacr.azurecr.io (system-assigned managed identity)
- OIDC: oidc-msi-8ac6 granted Contributor on Operation resource group
## What's included
- Full langgraphjs-gen-ui-examples codebase under langgraph/
- Dockerfile: node:20-slim + pnpm, exposes port 2024
- .dockerignore, .gitignore
- GitHub Actions: .github/workflows/deploy-langgraph.yml
- Trigger: push to main, paths langgraph/**
- Uses az acr build (cloud build, no local Docker needed)
- Deploys to soc-langgraph Container App
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 04:01:06 +08:00