by shuyu-labs
WebCode is a browser-based AI coding platform that lets you remotely run CLI assistants like Claude Code and Codex. Code anywhere with just a web browser. We’re also adding an office-assistant mode for planning, research/summaries, meeting notes, and drafting docs/emails—connected to your project context.
# Add to your Claude Code skills
git clone https://github.com/shuyu-labs/WebCodeNo comments yet. Be the first to share your thoughts!
/goal 快速目标能力cc-switch 托管模型WebCode 是一个基于 Blazor Server + .NET 10 的 AI CLI 工作平台。它不是单机聊天壳,而是把本地或服务器上的 AI CLI 包装成一个可管理、可部署、可协作、可远程访问的工作系统。
当前仓库已经覆盖这些核心场景:
Claude Code、Codex、OpenCode 本地会话cc-switch 作为受管 CLI 的唯一 Provider 权威源如果你需要的是“可部署的 AI CLI 控制台”,而不是单机本地包装器,这个仓库就是为这个目标设计的。
当前已适配或直接支持:
| 工具 | 说明 | 状态 |
|------|------|------|
| Claude Code | 会话管理、流式输出、Transcript 恢复 | 可用 |
| Codex CLI | JSONL 输出、沙箱/审批模式、会话执行 | 可用 |
| OpenCode | 多模型工作流、会话导入与执行 | 可用 |
| 自定义 CLI | 可继续按适配器模式扩展 | 可扩展 |
相关实现主要位于 WebCodeCli.Domain/Domain/Service/Adapters。
image/file 消息先生成“待提交附件”卡片,补充说明后再发送给 CLIpost 消息中的“粘贴图片 + 文本”直接把图片和文本一起提交给 CLI下表用于快速说明三类主要入口当前各自覆盖的能力范围:
| 能力 | 桌面 Web | 移动端 | 飞书 |
|------|----------|--------|------|
| 创建、切换、关闭会话 | 支持 | 支持 | 支持 |
| 导入本地 CLI 会话 | 支持 | 支持 | 支持 |
| 会话级 Provider 同步 | 支持 | 支持 | 支持 |
| 工作区浏览与文件操作 | 支持最完整 | 支持常用操作 | 以会话/卡片操作为主 |
| 流式输出查看 | 支持最完整 | 支持 | 支持卡片流式回显 |
| /goal 快捷目标 | 支持 | 支持 | 支持 |
| Superpowers 快捷工作流 | 支持 | 支持 | 支持 |
| 多用户管理与系统配置 | 支持最完整 | 适合轻量查看/操作 | 不作为主要入口 |
| 安装与部署维护 | 主要依赖文档和本地脚本 | 不作为主要入口 | 不作为主要入口 |
补充说明:
飞书当前不是“只做消息通知”,而是已经覆盖一条可直接工作的会话与卡片交互链路:
/goal、Superpowers 等快捷动作post 消息,直接把内嵌图片和文字一并提交给 CLIcc-switch 当前激活状态适合的飞书使用场景包括:
外部 CLI 会话导入当前具备这些约束:
(ToolId, CliThreadId) 只能被一个 WebCode 用户占用/goal 快速目标能力当前版本已经补齐 Codex /goal 相关能力,覆盖 Web 端、移动端和飞书卡片场景:
goals feature 是否可用.codex/config.toml 中自动注入 goals = true/goal .../goal 能力按会话生效,不要求手工长期维护全局 config.toml说明:
0.128.0codex.exe、codex.cmd、codex.bat、codex.ps1 等入口,避免因包装脚本导致版本探测失败goals feature,WebCode 不会强行注入该配置当前仓库已经接入 Superpowers 工作流增强能力,用来把普通 CLI 会话提升为“带策略和快捷动作的执行流”:
Superpowers 与现有 Claude Code、Codex、OpenCode 会话流结合使用当前文档和实现已经覆盖的典型工作流包括:
plan、ralplanralphdeep-interviewteam、ultrawork说明:
Superpowers 不是单独的 Web 页面,而是叠加在现有会话、快捷动作、飞书卡片交互之上的工作流层仓库已经内置 Windows 安装包构建脚本,可直接生成:
WebCode-Setup-vX.Y.Z-win-x64.exeWebCode-vX.Y.Z-win-x64-portable.zipSHA256SUMS.txtRELEASE_NOTES.mdtts-bundle/https://github.com/lusile2024/WebCode/releasescc-switch 托管模型从当前版本开始,Claude Code、Codex、OpenCode 这三类受管助手遵循同一套规则:
cc-switch 是唯一 Provider 权威源。cc-switch 中完成。cc-switch 的当前状态和 live config。WebCode 会读取这些来源:
~/.cc-switch/settings.json~/.cc-switch/cc-switch.dbcc-switch 写出的各工具 live 配置文件WebCode 现在遵循“像终端窗口一样”的会话语义:
cc-switch 里切换了 Provider 而自动跟着变cc-switch 当前激活的 Provider这个同步入口当前已经补齐到:
如果会话快照丢失或损坏,WebCode 会阻止继续执行,并提示你显式同步,而不是悄悄回退到机器当前 live 配置。
OpenCode 和 Claude Code、Codex 一样受 cc-switch 管理。
cc-switch 当前是否已经为该工具准备好可启动的 Provider 和 live config适合试用、内网部署和小团队使用。
git clone https://github.com/lusile2024/WebCode.git
cd WebCode
docker compose up -d
启动后访问:
http://localhost:5000更多部署细节可查看:
适合直接在 Windows 机器上运行 WebCode,不需要预装 .NET SDK。
下载入口:
https://github.com/lusile2024/WebCode/releases当前 Windows 发布资产包括:
WebCode-Setup-vX.Y.Z-win-x64.exeWebCode-vX.Y.Z-win-x64-portable.zipSHA256SUMS.txtRELEASE_NOTES.md安装版与便携版都使用 win-x64 自包含运行时。默认首次启动后访问:
http://localhost:6021程序目录下默认会准备:
data/logs/workspaces/安装版升级时会保留已有的 appsettings.json。
适合调试、二次开发和本地联调。
.NET 10 SDKcc-switch 已正确安装并已为目标受管工具完成配置claude、codex、opencode 等目标 CLIgit clone https://github.com/lusile2024/WebCode.git
cd WebCode
dotnet restore
dotnet run --project WebCodeCli
默认访问地址:
http://localhost:6021如果你修改了根目录 appsettings.json 或 WebCodeCli/appsettings.json 中的 urls 配置,请以实际监听端口为准。
当前初始化流程建议按这个顺序完成:
cc-switch 就绪状态,并确保所选助手都已经可启动初始化向导不再承担这些职责:
这些动作现在都必须在 cc-switch 中完成。
对 Claude Code、Codex、OpenCode 来说:
cc-switch 里做cc-switch 状态,不能手动编辑环境变量cc-switch 管理 Providercc-switch 激活状态复制到指定会话,不会改写 cc-switch如果你要接入非 cc-switch 受管的自定义 CLI,仍然可以通过 CliTools.Tools 扩展工具定义。相关文档可参考:
docker-compose.yml 默认会挂载这些目录:
./webcodecli-data:数据库与运行数据./webcodecli-workspaces:工作区目录./webcodecli-logs:日志默认数据库为 SQLite:
WebCodeCli.db本地开发默认连接字符串来自根目录 appsettings.json。
仓库内置安装包构建脚本:
powershell -ExecutionPolicy Bypass -File .\tools\build-windows-installer.ps1
如果你要生成“包含 Reply TTS / Kokoro 能力”的本地 Windows 安装包,应该优先走这条脚本,而不是单独 dotnet publish。原因是安装包脚本除了发布主程序外,还会额外处理这些内容:
appsettings.jsontools/sherpa-kokoro-servicetts-bundle脚本会读取 Directory.Build.props 中的版本号,并在 artifacts/windows-installer/vX.Y.Z/ 下生成:
publish/WebCode-vX.Y.Z-win-x64-portable.zipinstaller/WebCode-Setup-vX.Y.Z-win-x64.exeSHA256SUMS.txtRELEASE_NOTES.mdtts-bundle/在 Windows 机器上,如果默认输出目录存在旧文件锁定,或者 Inno Setup 遇到长路径问题,可以显式指定一个较短的输出目录,例如:
powershell -ExecutionPolicy Bypass -File .\tools\build-windows-installer.ps1 -OutputRoot D:\wci
这种方式同样会生成完整的安装版、便携版和 TTS 资源目录,适合本地快速出包。
构建机要求:
.NET 10 SDKInno Setup 6WebCode/
├── WebCodeCli/ # Web 应用(Blazor Server)
├── WebCodeCli.Domain/ # 领域服务、仓储、CLI/飞书适配
├── WebCodeCli.Domain.Tests/ # 领域层测试
├── tests/WebCodeCli.Tests/ # Web / 集成相关测试
├── cli/ # CLI 使用说明
├── docs/ # 额外文档
├── docker-compose.yml # Docker 部署入口
└── README.md
当前实际项目名为:
WebCodeCliWebCodeCli.Domain如果你在旧文档或历史笔记里看到 WebCode / WebCode.Domain 这样的旧路径描述,请以仓库真实目录为准。
| 类别 | 技术 | |------|------| | Web 框架 | Blazor Server | | 运行时 | .NET 10 | | 编辑器 | Monaco Editor | | 数据访问 | SqlSugar | | 默认数据库 | SQLite | | 反向代理 | YARP | | Markdown | Markdig | | AI CLI 集成 | Claude Code / Codex / OpenCode |