集中运行监控并远程控制本地或服务器上的编码代理
33.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dat-lequoc/codesk该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 69 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包codesk(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/24 17:57:37
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令发起外部网络请求
查看扫描证据(共 42 处,展示前 18 条)
- 发起网络请求bin/codesk.mjs:17
const response = await fetch(`${url}/api/health`, { signal: AbortSignal.timeout(600) }) - 执行外部命令来自配置/变量bin/codesk.mjs:29
const child = spawn(pnpm, ['run', 'start:web'], { - 发起网络请求server/drafts.mjs:5
const run = await gateway.request(draft.hostId, '/v1/runs', { method: 'POST', body: JSON.stringify(input), timeout: 30000 }) - 执行外部命令来自配置/变量server/gateway.mjs:104
const child = spawn(binary, [], { cwd: process.cwd(), env: { ...process.env, CODESK_PORT: String(host.daemonPort), CODESK_OWNER_PID: String(process.pi - 发起网络请求server/gateway.mjs:139
const response = await fetch(`${this.endpoint(host)}/v1/health`, { signal: AbortSignal.timeout(2500) }) - 执行外部命令固定命令server/gateway.mjs:270
const child = spawn('ssh', args, { stdio: ['ignore', 'ignore', 'pipe'] }) - 发起网络请求server/gateway.mjs:531
const response = await fetch(`${this.endpoint(host)}${daemonPath}`, { ...options, headers: { 'content-type': 'application/json', ...this.authHeaders(h - 发起网络请求server/routes.mjs:38
app.post('/api/projects', async (req, res) => { try { const project = await gateway.request(req.body.hostId, '/v1/projects', { method: 'POST', body: J - 发起网络请求server/routes.mjs:39
app.delete('/api/projects/:hostId/:projectId', async (req, res) => { try { const result = await gateway.request(req.params.hostId, `/v1/projects/${enc - 发起网络请求server/routes.mjs:63
app.get('/api/hosts/:hostId/files', async (req,res)=>{try{res.json(await gateway.request(req.params.hostId,`/v1/files?path=${encodeURIComponent(req.qu - 发起网络请求server/routes.mjs:64
app.get('/api/hosts/:hostId/file', async (req,res)=>{try{res.json(await gateway.request(req.params.hostId,`/v1/file?path=${encodeURIComponent(req.quer - 发起网络请求server/routes.mjs:65
app.post('/api/hosts/:hostId/projects/discover', async (req,res)=>{try{res.json(await gateway.request(req.params.hostId,'/v1/projects/discover',{metho - 发起网络请求server/routes.mjs:66
app.get('/api/hosts/:hostId/agents', async (req,res)=>{try{res.json((await gateway.request(req.params.hostId,'/v1/agents/discover')).map((item)=>mapAg - 执行外部命令来自配置/变量server/routes.mjs:94
app.post('/api/open-path', async (req,res)=>{try{const host=store.state.hosts.find((item)=>item.id===req.body.hostId);if(!host)throw new Error('Host n - 发起网络请求server/state-cache.mjs:18
const [hostProjects, hostRuns, capabilities, discoveredAgents] = await Promise.all([gateway.request(host.id, '/v1/projects'), gateway.request(host.id, - 发起网络请求server/state-cache.mjs:21
try { return await gateway.request(host.id, `/v1/projects/${project.id}/sessions?limit=${SESSION_PAGE_SIZE}`, { timeout: 12000 }) } - 发起网络请求server/state-cache.mjs:133
const hostRuns = await gateway.request(hostId, '/v1/runs') - 发起网络请求src/api.ts:24
const response = await fetch(`${gatewayOrigin}${path}`, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 集中运行监控
- 远程控制编码代理
- 管理本地或远程智能体
开源控制平面,管理本地或远程的编码智能体。
README
由 DeepSeek 最新模型翻译生成Codesk
面向编码代理的开源控制平面,支持本地或远程。
Codesk 是一款桌面应用,用于在一个地方运行、监控、检查和控制编码代理框架。代理保留在项目所在的机器上——你的笔记本电脑、工作站或 VPS——而 Codesk 通过本地或 SSH 进行连接。
平台支持
Web UI 模式(Linux、VPS、Tailscale、macOS)
直接从你的服务器、VPS 或本地机器运行 Web UI 模式:
git clone https://github.com/dat-lequoc/codesk.git
cd codesk
pnpm install
pnpm run build
pnpm run start:web
或通过 CLI 二进制文件运行:
codesk web
然后打开 http://127.0.0.1:4000。
网关绑定到回环地址,且自身没有身份验证——它持有守护进程令牌并代理到守护进程,因此任何能访问该端口的东西都可以启动代理。
要从另一台机器访问它,请在前面放置一个进行身份验证的东西。
Tailscale 是预期的选择:
tailscale serve --bg 4000
这会将 UI 通过 HTTPS 发布到你的 tailnet,而不会发布给其他任何人。
展开完整文档(README 剩余 1 节)
Codesk 面向编码代理的开源控制平面,支持本地或远程。 Codesk 是一款桌面应用,用于在一个地方运行、监控、检查和控制编码代理框架。代理保留在项目所在的机器上——你的笔记本电脑、工作站或 VPS——而 Codesk 通过本地或 SSH 进行连接。 平台支持 Web UI 模式(Linux、VPS、Tailscale、macOS) 直接从你的服务器、VPS 或本地机器运行 Web UI 模式: git clone https://github.com/dat-lequoc/codesk.git cd codesk pnpm install pnpm run build pnpm run start:web 或通过 CLI 二进制文件运行: codesk web 然后打开 http://127.0.0.1:4000。 网关绑定到回环地址,且自身没有身份验证——它持有守护进程令牌并代理到守护进程,因此任何能访问该端口的东西都可以启动代理。 要从另一台机器访问它,请在前面放置一个进行身份验证的东西。 Tailscale 是预期的选择: tailscale serve --bg 4000 这会将 UI 通过 HTTPS 发布到你的 tailnet,而不会发布给其他任何人。浏览器还会被限制在页面所服务的来源上;如果你用一个 tailnet 之外的名字作为前端,请设置 CODESK_WEB_ORIGINS=host[,host]。HOST=0.0.0.0 会绑定所有网络接口,只有在防火墙后面才是安全的。 macOS — 桌面应用 从源码构建并运行桌面应用: git clone https://github.com/dat-lequoc/codesk.git cd codesk pnpm install pnpm run desktop:build -- --debug --bundles app open target/debug/bundle/macos/Codesk.app Linux — 执行主机守护进程 Linux 支持作为本地或远程执行主机。将守护进程构建并安装为用户服务: git clone https://github.com/dat-lequoc/codesk.git cd codesk cargo build --release -p codeskd ./target/release/codeskd install 4243 桌面客户端或 Web 网关通过本地或 SSH 连接到守护进程。 Windows Windows 桌面和执行主机打包尚不支持。Codesk 目前依赖 macOS/Linux 的服务和进程管理原语。 支持的框架 Codesk 将 Codex、Claude Code、OpenCode、Kiro CLI、Pi、Antigravity、DeepSeek Harness 以及通用命令行代理整合到一个界面中。 Codex 通过其应用服务器获得一等支持:持久会话、实时控制、排队轮次、审批和输入请求、中断、恢复、分叉以及对话回溯。 你可以做什么 - 在一个地方监控每个框架。 无需切换终端即可跟踪运行中、空闲和历史会话。 - 查看智能体轨迹。 按时间顺序检查推理过程、命令、工具调用、文件变更、结果、用量以及原始提供方事件。 - 简洁的对话视图。 为运行时上下文注入、生成的文件、工具/bash 输出、结构化任务清单(todo_write)以及进行中的目标提供紧凑、可折叠的卡片。 - 即时尾页分页历史。 在毫秒内打开庞大的会话日志,并支持平滑分页以查看更早的历史记录,以及一个浮动的滚动到底部操作。 - 附件与媒体。 通过 + 按钮、拖放或剪贴板粘贴直接添加图片和文本文件。 - 在智能体工作时进行交互。 启动或恢复会话、引导当前轮次、排队下一条指令、响应请求,以及中断或终止运行。 - 通过 SSH 工作。 远程项目通过 codeskd 在其自己的主机上执行;Codesk 通过自动重建的 SSH 隧道进行连接,因此工具和文件始终靠近项目。 - 保持工作隔离。 在当前检出中运行,或使用可在应用中检查和清理的托管 Git 工作树。 核心规则很简单:执行跟随项目。Codesk 是查看器和控制器;智能体在代码所在之处运行。 为什么 Codesk 使用 tmux 交互式编码工具是终端应用程序,只有一个实时输入流。它们的记录文件非常适合渲染对话,但并不是发送新输入的安全方式。针对同一会话启动另一个 CLI 进程还可能产生相互竞争的写入者、提供方锁,或者出现对话看似已连接而输入却流向别处的情况。 因此,Codesk 使用 tmux 作为交互式会话的控制传输通道: - 单一稳定的终端写入者。 工具在 tmux 内拥有一个伪终端,Codesk 将 Steer 和 Queue 输入发送到该终端,而不是启动第二个提供方进程。 - 在 UI 和 SSH 重连后仍能存活。 当桌面应用、网关或 SSH 隧道重新连接时,工具会在执行主机上继续运行。 - 本地和远程均可工作。 同一模型既适用于笔记本电脑,也适用于 SSH 服务器;执行和 tmux 始终位于项目旁边。 - 保持对话解析为提供方原生方式。 Codesk 仍从 Codex、Claude、Kiro、Pi 及其他会话的真实提供方记录中渲染它们。tmux 仅用于进程生命周期和终端输入。 - 明确的所有权。 新的 Codesk 运行使用 Codesk 拥有的隔离 tmux 套接字。现有用户 tmux 会话仅在选择 Enable control 后才会被控制,而普通终端会话仅在当前轮次空闲后才会迁移到 tmux。 - 可恢复的访问。 Environment 面板会显示 tmux 会话名称以及确切的本地或 SSH 附加命令,因此同一工具仍可直接从终端访问。 这让 Codesk 获得持久控制权,而无需替换 harness、发明并行的对话协议,或隐藏进程实际运行的位置。Enter 发送 Steer,Tab 添加一个持久的 Queue 项,Shift+Enter 插入换行。 Codesk 发送的每条提示都会保存在 shell 风格的历史记录中。在任何输入框中按 Up 可回溯已提交的内容,按 Down 可再次前进,包括回到输入框中原本的草稿。被 steer 的提示会进入一个可能将其丢弃的 harness TUI,因此这是将其找回的方式。 Kiro CLI 命令 Codesk 直接从 ACP 读取 Kiro 的命令目录,并在输入框中提供键盘优先的补全。输入 / 浏览命令,使用方向键选择一条命令,然后按 Tab 或 Enter 补全。/model 使用 Kiro 的实时模型列表,而 /effort 提供 low、medium、high、xhigh 和 max。当活动的 Kiro 对话足够大时,/compact 会对其进行压缩。 /usage 需要特殊处理,因为 Kiro 将其绘制为一个全屏终端面板,永远不会进入会话记录。在 tmux 控制的会话中,Codesk 读取该面板,将其作为使用情况快照报告到对话中(计划、已用额度与计划的对比,以及重置日期),然后关闭该面板,以便下一次 Enter 仍然 steer 同一个窗格。通过 ACP 驱动的会话则改为从 Kiro 的计费响应中报告相同的快照。 实时回归检查覆盖 Kiro 的 ACP 命令协议(pnpm run test:kiro-live)和真实的 tmux 终端路径(pnpm run test:kiro-tmux-live)。tmux 检查断言完整的 /usage 契约:一轮完成后会话仍保持连接到其窗格,使用情况快照携带真实额度数据到达,并且之后正常的 steer 仍然生效。 状态 桌面客户端目前在 macOS 上开发和测试。执行主机可以是 macOS 或 Linux,包括通过 SSH 访问的远程主机。 开发 pnpm install cargo build -p codeskd pnpm run dev 运行前端测试套件: pnpm test # vitest pnpm run check # tsc --noEmit && eslint src 运行守护进程和网关集成套件: pnpm run test:backend 重新构建、安全替换并重新启动本地安装的应用: pnpm run desktop:redeploy 远程守护进程 在已构建的 macOS 或 Linux 执行主机上: codeskd install 4243 守护进程绑定到回环地址,并通过 SSH 转发访问。除 /v1/health 外的每条路由都需要它写入其数据目录、权限模式为 0600 的令牌,因此 API 访问权限取决于能否读取该文件——参见安全。 更多 - 架构 - 需求 - 路线图 - 性能基准 - 贡献 - 安全策略 - 许可证
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
dat-lequoc/codesk
集中运行监控并远程控制本地或服务器上的编码代理
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目