AI PLAY玩法更新持续收录
← 回到更新流

2026-10-12 · 原文发布日

web-edit:手机浏览器直接改服务器文件

Simon Willison用手机上的Codex Remote干活时,不想让凭证文件经过模型中转,于是让Codex写了一个叫web-edit的Python小工具并发布0.1a0版:它在指定文件夹上起一个网页界面,能浏览和编辑文件,编辑器选了移动端体验更好的CodeMirror 6。典型用法是跑在Tailscale内网里,让agent启动后,你从手机浏览器直接改服务器上的配置或代码。对经常远程指挥agent干活的人,这补上了“绕开LLM直接动手改文件”这一环。

原文要点

Simon Willison于2026年10月12日发布web-edit 0.1a0:一个Python写的网页应用,在指定文件夹上提供文件浏览与编辑界面。起因是他用手机通过Codex Remote干活时,想改一个凭证文件却不想让凭证内容经过LLM中转,于是让Codex和GPT-6 Astra Extra High写出这个工具。编辑器选用CodeMirror 6而非Monaco,因为后者移动端体验不佳。设计场景是跑在Tailscale内网里,由agent启动后,用户从手机浏览器直接改服务器文件。

这次做成什么

在自己的服务器上部署web-edit这一类"文件夹网页编辑器",配好Tailscale内网访问,然后从手机浏览器直接修改服务器上的配置/凭证文件,全程不让敏感内容经过任何LLM对话。这是本站设计的独立练习,非原作者教程复刻。

准备什么

  • 一台有Python 3.x和pip的Linux服务器(或本地电脑),和一个已加入同一Tailscale网络的手机
  • 服务器与手机均已安装并登录同一Tailscale账号,能用100.x开头的内网地址互访
  • 准备一个练习用文件夹和虚构凭证文件(不要用真实生产凭据做首次练习)

具体怎么做

  1. 装Tailscale并确认互通

    服务器和手机上各自安装Tailscale并登录同一账号。在服务器运行 tailscale ip -4 记下100.x开头的地址,手机浏览器先确认能ping通或访问服务器上任意测试端口。

  2. 安装并启动web-edit

    原文只说明web-edit是Python网页应用,未给出安装方式。请先在PyPI搜索web-edit确认包名是否存在及对应安装命令(Python包通常为pip install 包名),安装后用 --help 或查阅README确认指定文件夹、端口等启动参数,再指向你的练习文件夹启动。

  3. 建练习文件并从手机打开

    在练习文件夹里放好下方材料的示例凭证文件。手机浏览器访问 http://服务器Tailscale地址:端口/ ,应看到文件夹内的文件列表界面,点进示例文件进入CodeMirror编辑器。

  4. 修改并验证落盘

    在手机上把示例文件里的令牌值改掉并保存,回到服务器用 cat 查看该文件,确认改动已直接写入磁盘——整个过程中文件内容从未出现在任何聊天窗口里。

可直接复制的材料

练习用虚构凭证文件 credentials.example.ini

本站虚构文件,令牌为占位假值;练习通过后请删除,真实凭据也用同样流程但不外发

[demo-service]
api_endpoint = https://api.example.invalid/v1
api_token = DEMO_TOKEN_REPLACE_ME_9f3a2c
retry_limit = 3
timeout_seconds = 30

[notes]
owner = 练习账号(非真人)
remark = 这是本站生成的假凭据,仅用于练习编辑流程

部署核对清单(JSON)

本站编写的自查配置,不含web-edit自身的真实配置项——该工具的具体设置项请以官方文档为准

{
  "checklist": [
    {"item": "服务器tailscale ip -4有100.x地址", "required": true},
    {"item": "手机与服务器同一tailnet", "required": true},
    {"item": "web-edit版本0.1a0属alpha,仅内网使用", "required": true},
    {"item": "启动参数已查README确认而非臆测", "required": true},
    {"item": "端口未对公网开放", "required": true},
    {"item": "练习用假凭据,流程跑通后再换真实文件", "required": true}
  ]
}

输入与输出示例

本站虚构演示,未实际运行web-edit;界面细节以0.1a0实际表现为准

输入

手机浏览器打开编辑器,把 credentials.example.ini 中的 api_token 从 DEMO_TOKEN_REPLACE_ME_9f3a2c 改为 DEMO_TOKEN_ROTATED_71be04,点保存。

对应输出

服务器上执行 cat credentials.example.ini 后关键行显示:api_token = DEMO_TOKEN_ROTATED_71be04,其余行不变;整个过程该令牌未出现在任何LLM对话记录中。

做完检查这些

  • 手机浏览器能看到练习文件夹的文件列表并能打开文件编辑
  • 手机保存后服务器上 cat 文件能看到对应改动,证明直接落盘
  • 练习全程使用假凭据,且文件内容没有粘贴进任何聊天/LLM工具
  • 确认服务只监听Tailscale内网可达的地址,公网扫描不到该端口

容易卡住的地方

  • 0.1a0是alpha版,原文未提认证机制,绝不要把它暴露到公网,仅限Tailscale内网
  • 原文未给出安装与启动命令细节,pip包名和参数须以PyPI/README核实,本站不提供臆造命令
  • 若服务器防火墙默认拦截,即便Tailscale互通也可能打不开端口,需单独放行
  • 用真实凭据练习有泄露风险,首次务必用本站示例的假凭据跑通流程
  • 原文选CodeMirror 6是因Monaco移动端体验差,若自研替代方案需保留这一移动端考量

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
web-edit 0.1a0
原作者
Simon Willison
原始发布日期
2026-10-12
来源
https://simonwillison.net/2026/Oct/12/web-edit/