Repository navigation
Releases: LiStudioorg/licode
Releases · LiStudioorg/licode
Release list
v0.5.0 — 前端重写为 Vite + Vue 3 SPA
前端整体重写为 Vite + Vue 3 单页应用,并修复若干权限与可靠性缺陷。
⚠️ 升级前请读
前端已从 Nuxt 换成 Vite + Vue 3 SPA,nuxtweb/ 目录已删除。 如果你是
从源码构建且曾修改过 nuxtweb/**,这些改动的落点已变为 web/**。
未设置密码时不启用登录。 若你用 --host 0.0.0.0 且没有 --password,
同网段任何人都能操作这个可执行 Shell 命令的 Agent。本次是首次发布带
明确提示的版本,请务必配合 --password 使用:
./licode --host 0.0.0.0 --port 8080 --password 你的密码配置与数据目录 ~/.licode/ 格式未变,可直接沿用旧目录,无需迁移。
前端重写
- 技术栈:Nuxt 3 → Vite 7 + Vue 3.5 + Pinia 3 + vue-router 4.6 + Tailwind v4 + TypeScript strict。构建产物仍以
go:embed all:dist嵌入二进制,发布链路保持纯 Go,不依赖 Node.js。 - 三栏布局:宽屏 ≥1280px 为「会话列表 / 对话 / 文件树」三栏常驻;1024–1280 左栏常驻、右栏浮层;768–1024 左右皆抽屉;<768 单列抽屉。
- 删除顶栏:导航、连接状态、主题切换移至左侧栏底部,界面左上角品牌统一为小写
licode。 - 状态栏:底部固定,格式统一为
N轮 N步 · N tok/s · N tok · 缓存 N%,三段可点开详情(会话统计 / Token 用量 / 上下文已用)。token 用量以 M/K 英文单位显示。 - 移除「信息」页:会话统计归入状态栏,排障信息归入诊断页;旧书签
/info保留重定向,不会落到空白页。 - 首 tok 耗时、输出速度等指标由前端打点计算(服务端未提供),刷新页面后归零并显示
-。 - 响应式与移动端:修复了此前移动端无输入框的问题(输入区曾被条件渲染限制在「会话就绪」状态,导致新会话无法发消息);底部布局改用 flex +
100dvh自然布局,软键盘弹出时输入框不再被遮挡;抽屉收起时补齐visibility,不再拦截点击。
安全修复
- 权限旁路:未经
Agent.Run注入运行钩子的调用会拿到零值并按默认allow放行,等于任何持有 runtime 引用的代码都能绕过deny/ask/plan门禁。现在区分「配置为空(显式允许)」与「未注入(旁路调用)」,后者只放行只读工具,副作用工具一律拒绝。 - 备份导入:备份包中的 MCP stdio 条目会在下次构建 Agent 时 spawn 任意命令,静默落盘等于「导入即获得开机自启任意命令」。导入时剥离并报告降级动作。
修复
- 输出长度上限:
Settings.MaxTokens的语义是上下文字符预算(默认 1e6),并非单次输出上限,原样透传会被服务端以 400 拒绝,导致新装默认配置不可用。现在按厂商钳到保守上限(Claude 32000 / OpenAI 16384 / Gemini 8192),仍超限时减半重试。 - DNS 配置判空:公开 API 直接构造
Settings时s.DNS可能为 nil,补判空避免 HostIP 注入路径 panic。 - 消息裁剪的孤儿
tool_call不变量测试(裁剪历史时若留下带tool_calls的 assistant 消息却删掉对应结果,部分模型会以 400 拒绝整轮请求)。
下载
| 平台 | 文件 |
|---|---|
| Linux | licode-linux-amd64 / licode-linux-arm64 / licode-linux-386 |
| macOS | licode-darwin-amd64 / licode-darwin-arm64 |
| Windows | licode-windows-amd64.exe / licode-windows-arm64.exe / licode-windows-386.exe |
| FreeBSD | licode-freebsd-amd64 |
VERSION=v0.5.0
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
curl -L -O "https://github.com/LiStudioorg/licode/releases/download/${VERSION}/licode-${OS}-${ARCH}"
chmod +x licode-${OS}-${ARCH} && ./licode-${OS}-${ARCH}校验完整性(checksums.txt 按原始文件名匹配,故上面用 -O 保留原名):
curl -L -O https://github.com/LiStudioorg/licode/releases/download/v0.5.0/checksums.txt
sha256sum -c checksums.txt --ignore-missing # macOS 用 shasum -a 256 -c单二进制约 12 MB,纯静态编译(CGO_ENABLED=0),不依赖 glibc。
完整变更:v0.4.0...v0.5.0
v0.0.0.74
v0.0.0.73
Full Changelog: v0.0.0.72...v0.0.0.73
v0.0.0.72
Full Changelog: v0.0.0.70...v0.0.0.72
v0.0.0.70
Full Changelog: v0.0.0.69...v0.0.0.70
v0.0.0.69
Full Changelog: v0.5.0...v0.0.0.69
v0.0.0.67
Full Changelog: v0.0.0.66...v0.0.0.67
v0.0.0.66
本次更新
插件系统(进程插件)
- 任意语言写的独立进程插件:stdio JSON-RPC,可贡献工具、斜杠命令、提示词、设置界面、只读面板与钩子
- 目录热加载(子目录监听 + 周期兜底)、版本变更自动重启、zip 安装、删除移入
.trash - 安全:新插件默认未启用;启用需确认权限(文件/网络/命令/环境变量);插件工具默认「询问」;默认不继承宿主环境变量
- 管理界面:设置 → 插件(安装、启停、重载、删除、设置表单、面板、日志);工具管理页展示插件工具
- 钩子:user_message / before_tool / after_tool / done,可改写或拒绝,超时失败不阻断
- 开发文档:
docs/plugins.md(清单字段、RPC 协议、面板格式、Python 最小示例)
其他修复
- 新增 internal/procutil:规避 Android/Termux seccomp 对
exec.LookPath的 SIGSYS(插件、MCP stdio、Shell 共用)
下载
| 平台 | 文件 |
|---|---|
| Linux x86_64 | licode-linux-amd64 |
| Linux arm64 | licode-linux-arm64 |
| Linux 386 | licode-linux-386 |
| Windows x86_64 | licode-windows-amd64.exe |
| Windows arm64 | licode-windows-arm64.exe |
| Windows 386 | licode-windows-386.exe |
| macOS Intel | licode-darwin-amd64 |
| macOS Apple Silicon | licode-darwin-arm64 |
| FreeBSD x86_64 | licode-freebsd-amd64 |
v0.0.0.65
修复
- 全新环境(无 ~/.licode)启动失败:读取/生成 config.toml 发生在数据目录创建之前,直接报 no such file or directory;现在会先创建配置目录(
-c自定义深层路径同样自动创建) - 数据目录初始化失败不再被忽略,返回明确错误
- config.toml 权限 0644 → 0600(可能含明文登录密码)
下载
| 平台 | 文件 |
|---|---|
| Linux x86_64 | licode-linux-amd64 |
| Linux arm64 | licode-linux-arm64 |
| Linux 386 | licode-linux-386 |
| Windows x86_64 | licode-windows-amd64.exe |
| Windows arm64 | licode-windows-arm64.exe |
| Windows 386 | licode-windows-386.exe |
| macOS Intel | licode-darwin-amd64 |
| macOS Apple Silicon | licode-darwin-arm64 |
| FreeBSD x86_64 | licode-freebsd-amd64 |
v0.0.0.64
本次更新
修复
- 停止按钮无效:Agent 运行期间停止/工具确认消息被排队丢弃,改为独立 goroutine 执行,中断即时生效且不再弹错误
- 会话持久化:连接时加载磁盘会话(原来只写不读),按最近修改排序并默认选中最近一条;会话 ID 以文件名为准,避免旧数据互相覆盖;删除会话改为移入
.trash/并记录日志,防误删 - 取模型列表不再临时切换激活厂商,不会再把设置页正在编辑的内容重置;保存设置时自动合并厂商弹窗内的修改,模型不再丢失
- 静态资源缺失返回 404(避免把 index.html 当 JS/CSS 返回)
新功能
- 思考过程显示:支持 DeepSeek
reasoning_content、Claudethinking_delta、Geminithought,对话区展示「思考过程」折叠块(不写入历史) - AI 工作目录可配置:设置 → 高级 →「AI 工作目录」,或文件面板「工作目录」按钮;相对路径、读写边界、Shell 默认目录与系统提示词统一跟随
其他
- 厂商「激活」改为「设为当前」,对话输入框可直接切换厂商/模型
- 设置页工具管理内嵌、窄屏适配、液态玻璃细节修复(v0.0.0.63 起)
下载
| 平台 | 文件 |
|---|---|
| Linux x86_64 | licode-linux-amd64 |
| Linux arm64 | licode-linux-arm64 |
| Linux 386 | licode-linux-386 |
| Windows x86_64 | licode-windows-amd64.exe |
| Windows arm64 | licode-windows-arm64.exe |
| Windows 386 | licode-windows-386.exe |
| macOS Intel | licode-darwin-amd64 |
| macOS Apple Silicon | licode-darwin-arm64 |
| FreeBSD x86_64 | licode-freebsd-amd64 |