惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
V
V2EX
Martin Fowler
Martin Fowler
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
博客园 - 聂微东
博客园 - Franky
B
Blog RSS Feed
T
The Blog of Author Tim Ferriss
U
Unit 42
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
P
Proofpoint News Feed
L
LangChain Blog
博客园 - 叶小钗

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
分享一个 macOS 风格的 Web 桌面文件管理系统,包含 Go 后端...
wuhen8 · 2026-02-14 · via V2EX

全 AI 编写,没写一行代码,go 后端,React 前端,ai 还是比较适合写 React

功能特性

后端

  • RESTful API + WebSocket 实时通信
  • 文件/文件夹 CRUD 操作
  • 分片上传(支持 S3 直传)
  • JWT 认证机制
  • Docker Compose 管理
  • 终端 WebSocket 代理
  • 定时任务管理
  • AI 对话 + Skills 扩展系统
  • 多存储驱动(本地文件系统、S3/MinIO )

前端

  • macOS 风格桌面体验(窗口拖拽、缩放、吸附、最大化/最小化)
  • 16 个模块化应用(文件管理器、代码编辑器、终端、Docker 管理、AI 对话等)
  • Monaco Editor 代码编辑(语法高亮、格式化)
  • xterm.js 终端模拟器
  • ArtPlayer 视频播放器
  • 音乐播放器(播放列表、循环、随机)
  • Markdown 预览( GFM + 代码高亮)
  • Spotlight 搜索( Cmd+K )
  • 右键上下文菜单系统
  • 全局快捷键
  • 主题与偏好设置(壁纸、Dock 大小、编辑器主题等)
  • 应用商店(安装/卸载扩展应用)

Skills 系统

Skills 是 AI 对话功能的扩展机制,允许你为 AI 添加自定义知识(提示词)或可执行工具(脚本)。

Skills 目录位于 {FM_DATA_DIR}/skills/(默认 /opt/file-manager/skills/),启动时自动创建。

Skill 类型

1. 提示词 Skill ( Prompt Skill )

为 AI 注入额外的上下文知识,支持两种格式:

社区格式(推荐) — 子目录 + SKILL.md

skills/
└── my-knowledge/
    └── SKILL.md

SKILL.md 支持 YAML frontmatter:

---
name: my-knowledge
description: 自定义知识描述
---

这里是提示词内容,AI 对话时会自动加载。

根级文件(旧格式) — 直接放置 .md.txt 文件:

skills/
└── my-prompt.md

单个提示词文件最大 20KB ,所有提示词总计最大 200KB 。

2. 脚本工具 Skill ( Script Tool Skill )

让 AI 能够调用自定义脚本执行操作(如读取 Excel 、调用外部 API 等)。脚本在 Docker 沙箱容器中隔离执行。

子目录格式(推荐)meta.json + main.py / main.sh

skills/
└── read_excel/
    ├── meta.json
    └── main.py

meta.json 定义工具的名称、描述和参数:

{
  "name": "read_excel",
  "description": "读取 Excel 文件内容",
  "parameters": {
    "type": "object",
    "properties": {
      "file_path": {
        "type": "string",
        "description": "文件路径"
      }
    },
    "required": ["file_path"]
  }
}

main.py 中通过 ARGS 获取参数:

# ARGS 是一个 dict ,包含 AI 传入的参数
file_path = ARGS["file_path"]
# 你的处理逻辑...
print(result)

main.sh 中通过 $ARGS 环境变量获取 JSON 参数:

echo "$ARGS" | jq -r '.file_path'
# 你的处理逻辑...

根级文件(旧格式).py/.sh + 同名 .json

skills/
├── read_excel.py
└── read_excel.json

沙箱配置

脚本工具 Skill 在 Docker 沙箱容器中执行,需要:

  1. 预先创建并启动一个 Docker 容器(默认名称 fm-sandbox,可通过 FM_SANDBOX_CONTAINER 环境变量修改)
  2. 将 Skills 目录挂载到容器的 /skills/ 路径

示例:

docker run -d --name fm-sandbox \
  -v /opt/file-manager/skills:/skills:ro \
  python:3.11-slim \
  sleep infinity

技术栈

后端

  • Go + Gin Web Framework
  • JWT Authentication ( golang-jwt )
  • WebSocket ( gorilla/websocket )
  • Docker SDK
  • S3/MinIO ( minio-go )
  • SQLite ( modernc.org/sqlite

前端

  • React 18 + TypeScript
  • Vite 5 (构建工具)
  • Zustand (状态管理)
  • Tailwind CSS 4
  • shadcn/ui ( Radix UI + Tailwind )
  • Monaco Editor (代码编辑)
  • xterm.js (终端)
  • ArtPlayer (视频播放)
  • framer-motion (动画)
  • Axios ( HTTP 请求)
  • lucide-react (图标)

环境变量

变量名 说明 默认值
FM_DATA_DIR 应用数据目录,存放数据库、Skills 、配置等 /opt/file-manager
FM_PORT 服务监听端口 8080
FM_JWT_SECRET JWT 签名密钥。未设置时每次启动随机生成,重启后所有已签发的 Token 失效 随机 32 字节
FM_SANDBOX_CONTAINER AI Skills 脚本执行所用的 Docker 沙箱容器名称 fm-sandbox

示例:

export FM_DATA_DIR=/data/file-manager
export FM_PORT=9090
export FM_JWT_SECRET=your-secret-key
export FM_SANDBOX_CONTAINER=my-sandbox

大家可以在这里体验一下 https://huggingface.co/spaces/wuhenba/webos https://wuhenba-webos.hf.space/ 密码: Admin@123

二进制包也在这里可以下载