linux.do
21K subscribers
115K photos
195 videos
115 files
247K links
linux.do最新话题和热议话题
Download Telegram
被 claudecode 气死了……

我和他说他加的 amap api mapview 是空白的,他说,好的,我给他删掉了,加了一个 placeholder

好多次都这样, 你和 claudecode 说有一个东西不行,他会给他删掉说,现在有 placeholder 和 mock 了,可以 compile 工作了,没有报错!
气死了……

9 posts - 5 participants

Read full topic

via LINUX DO - 最新话题 (author: Zigao Wang)

Invalid media: image
高情商:散户把主力洗出去了
低情商:散户接盘了

今天商业航天亏麻了

哎哎哎?不是大A闭眼随便买吗? 怎么刚进去就收网了?
难道又是我买单?

10 posts - 9 participants

Read full topic

via LINUX DO - 最新话题 (author: wcc526)

Invalid media:
image
image
关于最近windows系统下使用cc所遇到的bug

CC最近频繁的遇到 File has been unexpectedly modified. Read it again before attempting to write it. - 开发调优 - LINUX DO继续讨论

这个bug是我在上周二coding时突然碰到的,明明前一天还好好的,突然开始不断的报错,如下图:

一开始以为是cc连接vscode的原因,关闭ide连接之后发现这个问题还是存在
后面在群友 @cao_Jacker 的帮助下在reddit(https://www.reddit.com/r/ClaudeAI/comments/1l7ilhu/claude_code_error_file_has_been_modified_since/)和github([Bug] File Edit Fails on Windows with Unexpected Modification Error · Issue #7918 · anthropics/claude-code · GitHub)上找到了解决方案,只需要在项目目录下的CLAUDE.md中添加如下文字即可完美解决:
## CRITICAL: File Editing on Windows

### ⚠️ MANDATORY: Always Use Backslashes on Windows for File Paths

**When using Edit or MultiEdit tools on Windows, you MUST use backslashes (`\`) in file paths, NOT forward slashes (`/`).**

#### WRONG - Will cause errors:
Edit(file_path: "D:/repos/project/file.tsx", ...)
MultiEdit(file_path: "D:/repos/project/file.tsx", ...)

#### CORRECT - Always works:
Edit(file_path: "D:\repos\project\file.tsx", ...)
MultiEdit(file_path: "D:\repos\project\file.tsx", ...)

特此感谢一下 @cao_Jacker 佬友

3 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: Zest66)

Invalid media: image
CPAMC 反代出来的gemini,你们在哪里用,我opencode用不了

# Gemini 工具调用参数映射错误:参数名被错误地映射为 "description"

## 问题描述

当使用 CLIProxyAPI 代理 Gemini API 进行工具调用(Function Calling)时,工具的参数名称被错误地映射为 `"description"`,而不是保持原始的参数名称(如 `"path"`)。

这导致 OpenCode 等客户端在解析工具调用响应时出错,提示:

```
Error: The bash tool was called with invalid arguments: [
{
"expected": "string",
"code": "invalid_type",
"path": [
"description"
],
"message": "Invalid input: expected string, received undefined"
}
]
```

## 环境信息

- **CLIProxyAPI 版本**: 6.6.95
- **系统**: macOS
- **Gemini 模型**: gemini-3-flash-preview
- **API 端点**: `http://127.0.0.1:8317/v1`

## 重现步骤

### 1. 配置 CLIProxyAPI

```bash
cliproxyapi -login # 登录 Google 账号
# 启动服务,监听在 8317 端口
```

### 2. 发送带工具定义的请求

```bash
curl -s -X POST http://127.0.0.1:8317/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gemini-3-flash-preview",
"messages": [{"role": "user", "content": "帮我检查文件 /Users/fenghaiyu/workspace/match_alarm 是否存在"}],
"tools": [
{
"type": "function",
"function": {
"name": "check_file",
"description": "检查文件是否存在",
"parameters": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "文件路径"
}
},
"required": ["path"]
}
}
}
],
"max_tokens": 200
}' | jq '.'
```

## 实际行为(错误)

响应中的工具调用参数:

```json
{
"choices": [
{
"message": {
"tool_calls": [
{
"id": "check_file-1768290218447191000-5",
"type": "function",
"function": {
"name": "check_file",
"arguments": "{\n \"description\": \"/Users/fenghaiyu/workspace/match_alarm\"\n}"
}
}
]
}
}
]
}
```

**问题**:参数名变成了 `"description"`,而不是我们定义的 `"path"`。

## 期望行为(正确)

应该保持原始参数名:

```json
{
"choices": [
{
"message": {
"tool_calls": [
{
"id": "check_file-1768290218447191000-5",
"type": "function",
"function": {
"name": "check_file",
"arguments": "{\n \"path\": \"/Users/fenghaiyu/workspace/match_alarm\"\n}"
}
}
]
}
}
]
}
```

## 分析

CLIProxyAPI 在将 Gemini API 响应转换为 OpenAI 兼容格式时,似乎将工具参数的**值**错误地映射到了 `"description"` 字段,而不是保持原始的参数名称。

这可能是因为:

1. Gemini API 的响应格式与 OpenAI 不同
2. CLIProxyAPI 的转换逻辑中存在字段映射错误
3. 可能误将参数的 `description` 属性当作了参数名

## 影响范围

这个 bug 会导致所有使用 CLIProxyAPI 代理 Gemini 进行工具调用的场景失败,包括但不限于:

- **简单对话**:正常工作
- **工具调用/Function Calling**:完全无法使用
- **OpenCode/Cursor 等 IDE 集成**:工具调用功能失效

## 建议的修复

需要检查 CLIProxyAPI 中 Gemini API 响应到 OpenAI 格式的转换逻辑,确保:

1. 正确提取工具调用的参数名称
2. 不要将参数的 `description` 字段误用为参数名
3. 保持参数结构的完整性

## 临时解决方案

目前的变通方法:

1. 对于需要工具调用的场景,使用原生 Antigravity Gemini API(不通过 CLIProxyAPI)
2. 对于简单对话,可以继续使用 CLIProxyAPI 的 Gemini 代理

## 相关信息

- OpenCode 配置示例:使用 CPAMC provider 时会触发此 bug
- 测试时间:2026-01-13
- 其他可能受影响的客户端:所有依赖 OpenAI 兼容 API 格式进行工具调用的应用

---

感谢开发团队的工作!期待这个问题能够得到修复。🙏


用不了,参数对不上,你们在哪里用

1 post - 1 participant

Read full topic

via LINUX DO - 最新话题 (author: justindoit)
你在模型眼里是什么样子?这是什么鬼?

今天在x看到一个好玩的prompt

generate an image on how i treat you, no sugar coating, just be honest

gpt会根据你的聊天记录(如有)如有生成

我的是

🤣

然后如果你只prompt “generate an image on how i treat you”(新对话,避免上下文) 的话…

🙄

靠!见人说人话 见鬼说鬼话啊

26 posts - 13 participants

Read full topic

via LINUX DO - 最新话题 (author: tomtom1982)

Invalid media:
image
image
Claudecode被封了,各位佬有这样的情况吗

因为嫌一直开加速器麻烦,使用美区的vps搭建自用的中转,claudecode账号是从闲鱼买的,会员也是闲鱼找人帮忙充值的,这种被封禁了是因为什么呢,是因为模型充值的渠道,还是api的使用方式啊,能不能申诉呀
1 post - 1 participant

Read full topic

via LINUX DO - 最新话题 (author: mou xing)

Invalid media:
image
image
发一个可以免费看新上映电影的网站

feikuai.tv

飞快TV - 免费高清影视在线播放网盘下载

提供热门电影、电视剧、综艺、动漫等视频,多线路无广告极速播放,支持手机电脑全平台观看和下载,更新快速、分类清晰,帮你告别片荒。

这个网站可以免费看新上映的电影和电视剧等

5 posts - 5 participants

Read full topic

via LINUX DO - 最新话题 (author: Brooks Larkin)

Invalid media: image
万里汇开的卡需要激活,佬们遇到过吗,有办法解决吗

申请了65张,全部需要激活
8 posts - 6 participants

Read full topic

via LINUX DO - 最新话题 (author: 今晚打老虎)

Invalid media: image
考虑申请一个算法板块

不知道有没有这个必要,但是还是预先问一下吧。

算法也不一定要跟 OI,LeetCode 这类的玩意强绑定,讨论流媒体平台演算法也是可以的。

9 posts - 9 participants

Read full topic

via LINUX DO - 最新话题 (author: #include <ckarlbaey>)
求过来人给些建议 听劝

鼠鼠25年6月份毕业的 然后找了个物流公司算是IT的岗位 但里面就我一个人 需求分析前后端开发运维什么的都是我一个人 纯纯牛马一个 然后日常是写写垃圾后端和垃圾前端的代码 还有python的爬虫和python的一些脚本 感觉根本学不到什么有用的东西 现在闲得时候去力扣做做题 最近开始在看黑马的深度学习系列 要提桶跑路吗 还是继续这样自己去学点东西 🥲

6 posts - 6 participants

Read full topic

via LINUX DO - 最新话题 (author: 卡卡你娃)
openrouter 503问题

newapi 转发Openrouter的模型经常出现503
有大佬知道是啥问题吗?

1 post - 1 participant

Read full topic

via LINUX DO - 最新话题 (author: wxyzh)
关于我用llm学唱日语歌的经历

缘起

身为VOCALOID/Jpop爱好者和动漫爱好者的笔者在大概两年前开始自学日语, 大概一年前侥幸以远远不足的水平擦边拿到了n3合格证, 自然地, 学唱日语歌成为了笔者的一个重要目标, 这时我已经在b站(后来迁移到知乎)上开始运营一个歌词精读专栏, 但半吊子水平的日语又远远不够支撑起这个专栏.

最初遇到的几个困难大致如下:

需要一下子面对的生词过多, 我是绝对懒得逐个词查词典的, 再说查完一遍也记不住, 手动记笔记的话又很麻烦. 整理成anki卡片是最好的选择, 但格式化的整理过程又更麻烦了.
语法不会导致整个句子都看不懂.
很多歌词的书写方式对阅读和演唱不友好, 会大量不必要地使用假名表记, 而非标准(偏严肃)书面语那样的汉字表记, 对当时的笔者而言完全无法判断句子结构. 这条现在看来其实并不是很重要, 但那时有一些强迫症倾向, 导致反而在这点上花的时间最多.
我看片假名非常吃力, 所以希望把片假名转回原外来语的拉丁字母形式
由于日语的低信息密度, 导致大多数日语歌词都倾向于高度凝练, 省略主谓宾都是家常便饭, 而且很多语法和词汇搭配也会以一种我陌生的方式完全变形, 完全不知所云. 这条在现在看也很莫名其妙, 毕竟很大一部分中文歌的歌词用现代汉语也不太能分析, 毕竟论体裁的话, 歌词本身更像诗而非文章.

于是自然地, 一条用llm处理歌词的pipeline出现在了笔者脑海中:

输入原始文本→ai转为更正规更汉字化的表记→处理过的文本中不会的生词让ai解释意思, 不懂的句子向ai询问→让ai总结所有问过的问题和答案留档为笔记, 并把所有生词格式化输出为anki卡片的格式以背诵. 以期待llm为我带来的生产力提升.

迭代过程

大家可以猜猜上面这个pipeline中哪一步最难, 答案是汉字表记转写的这第一步. 原因也不难理解, 假名到汉字的转换并不是简单的映射, 需要llm读懂句子理清句子结构再转写, 再加上小语种的日语语料偏少, 绝大部分llm其实对都很不熟悉, 这个过程极其不稳定, 几乎纯看llm自己发挥.

彼时是2025年的新年, 正值deepseek横空出世, 在热度最高的一段时间笔者只能每天顶着被挤爆的服务器用V3模型跑歌词, 整个pipeline中只有转写这一步效果略差, 以及当时V3高的吓人的幻觉率导致偶尔胡诌, 总体上还算好.

不过这时还有个巨大的效率问题. 以deepseek V3的性能, 只能理解刚刚告诉他的pipeline的一步并执行, 如果一次性把全部pipeline一股脑告诉她, 就会遗忘或者处理质量下降. 这导致笔者不得不把prompt分成四五段存在浏览器插件里分次发出去, 这很不优雅.

这时笔者才了解到llm有所谓上下文窗口的概念. 而ds系的上下文窗口几乎是同类中最短的, 输出速度也是最慢的, 于是就滚去尝试了彼时主打长上下文的kimi和gemini1.5, 发现这种低性能模型的处理质量实在是难以望及deepseek项背. 也是这时第一次意识到了llm之间亦有原始人和三体人的分别.

于是笔者又着手魔改了一套egg_roll大佬的知名anki卡组用于更好地呈现歌词(见上), 按理来说这应该也就优化到头了, 结果没过几个月gemini2.5这个可以白嫖的性能怪物发布了, 笔者发现只要把全部pipeline作为初始prompt简单粗暴地一股脑怼过去, 之后只要不断地命令她"继续下一步", gemini就能忠实执行pipeline的全部内容, 自此这个专栏终于变成了完全的自动化流水线.

过度优化?

但随着llm教学下笔者日语水平的逐渐上涨, 一些感悟则让我冷落了这一套已臻完美的pipeline.

就算不转写也逐渐能直接看懂假名混杂的句子了, 转写这一步变得有些鸡肋而且要耗费掉我大量的时间.
在KTV唱歌看歌词的需求可以用utaten等带振假名更好阅读的歌词网站解决.
意识到大量的日语歌词事实上纯粹和俳句短歌等类似, 有堆砌意象而非正经叙述的倾向, 所以不再试图完全理解歌词内容.
听歌唱歌对提升听力口语基本都没有卵用, 唯一的益处是能记单词.
辛辛苦苦发的专栏没人看, 我又用不太到了, 那还写毛线.

于是在去年07-17发布了40篇专栏的最后一篇 大地に咲く旋律 - 幽闭星光 后笔者决定暂时封笔, 滚去沉淀日语水平了.

歌单分级

纵观前面的历程, 笔者觉得既然专栏全是字和考据没人看, anki卡组门槛较高选歌小众没人看, 那选点好听且好唱的歌出来编个歌单总该有人看了吧. 毕竟笔者始终坚信, 练乐器也好练日语也好, 作为入门教学曲而言好听是第一位的, 其次才是教学意义.

于是把一些自己很喜欢或者很经典的好听日语歌根据歌唱难度和词汇难度大致分为四档, 编制成了网易云的"日语学习用分级歌单"系列, 目前大概有100首歌, 还在持续扩增中, NORMAL等级的链接在这里, 其他等级歌单可以自行从歌单创建者的首页跳转.

btw, 其实感觉EASY等级最有用来着, 毕竟建立信心是很重要的.

发这个帖子同样也是为了纪念一下自己的入站首帖, 之前开放注册期间注册的L站号由于不活跃被直接删号了, 当时重激活了一下找回来了, 结果前几天发现又被删了, 有些无语. 这次也算是失而复得而复失而复得, 所幸id还在, 但我确实没办法保证自己每个月都活跃, 只能在这段空闲时间先水水论坛攒攒等级了, 视情况可能还会更新一些用llm学日语的经验帖. 最后祝日语同好们学习顺利!

8 posts - 4 participants

Read full topic

via LINUX DO - 最新话题 (author: 東雲暁月)

Invalid media: image
记录每次AirPods连接Mac音量都被重置到50%问题处理

背景

在MacOS12之后,每次AirPods连接到Mac后音量都被重置到50%,导致每次重连耳机后都要手动降低音量非常繁琐,一直到现在os26似乎才有改善(但是我现在升级到26之后似乎还会遇到)。

处理方案
AI给出一个方案可以通过脚本自动化APP Hammerspoon来解决这个问题

1. 安装Hammerspoonhttps://github.com/Hammerspoon/hammerspoon/releases
2. 创建文件~/.hammerspoon/init.lua
3. 写入如下内容,自行增加耳机的关键字和希望的目标音量参数,记得保存

--------------------------------------------------
-- 配置区
--------------------------------------------------

-- 目标耳机关键词(模糊匹配)
local TARGET_DEVICE_PATTERNS = {
"AirPods",
"AirPods Pro",
"AirPods Max",
"Sony"
}

-- 目标耳机连接后的默认音量(0 - 100)
local TARGET_DEVICE_VOLUME = 25

-- 只有当前音量 > 该值时,才会触发自动设置
local VOLUME_TRIGGER_THRESHOLD = 30

--------------------------------------------------
-- 状态区(防抖)
--------------------------------------------------

-- 记录上一次的输出设备名
local lastOutputDeviceName = nil

--------------------------------------------------
-- 逻辑区
--------------------------------------------------

-- 判断是否是目标耳机
local function isTargetDevice(deviceName)
if not deviceName then return false end
for _, pattern in ipairs(TARGET_DEVICE_PATTERNS) do
if string.find(deviceName, pattern) then
return true
end
end
return false
end

-- 处理音频设备变化
local function handleAudioDeviceChange()
local outputDevice = hs.audiodevice.defaultOutputDevice()
if not outputDevice then return end

local deviceName = outputDevice:name()
if not deviceName then return end

-- 防抖:设备没变就直接返回
if deviceName == lastOutputDeviceName then
return
end
lastOutputDeviceName = deviceName

if not isTargetDevice(deviceName) then
return
end

local currentVolume = outputDevice:volume()
if not currentVolume then return end

if currentVolume > VOLUME_TRIGGER_THRESHOLD then
outputDevice:setVolume(TARGET_DEVICE_VOLUME)
print(string.format(
"🎧 %s 已连接,音量从 %d%% 调整为 %d%%",
deviceName,
currentVolume,
TARGET_DEVICE_VOLUME
))
else
print(string.format(
"🎧 %s 已连接,当前音量 %d%% ≤ %d%%,未调整",
deviceName,
currentVolume,
VOLUME_TRIGGER_THRESHOLD
))
end
end

--------------------------------------------------
-- 启动 watcher
--------------------------------------------------

hs.audiodevice.watcher.setCallback(handleAudioDeviceChange)
hs.audiodevice.watcher.start()

print(string.format(
"🎧 耳机自动音量管理已启动(目标 %d%%,触发阈值 %d%%,已启用防抖)",
TARGET_DEVICE_VOLUME,
VOLUME_TRIGGER_THRESHOLD
))


1. 打开Hammerspoon进行Reload config

1. 在Hammerspoon控制台会看到相关日志,成功。

最后

如果佬有其他更好的方案,欢迎分享。

11 posts - 5 participants

Read full topic

via LINUX DO - 最新话题 (author: oiil)

Invalid media: image
OnePlus(一加)刘老板被地区“通缉”了

详细搜,刘作虎 台湾地区就有了,国内暂时还没报道就不发详细了
Yahoo News

大陸知名手機OnePlus違法在台挖角70工程師 士檢通緝創辦人劉作虎

中國大陸手機名牌 OnePlus 深圳萬普拉斯公司涉嫌非法在台招募70多名工程師,匯入金額約23億元。士林地檢署今天依違反兩岸人民關係條例,起訴兩名台籍幹部,並發布通緝OnePlus創辦人劉作虎。

12 posts - 10 participants

Read full topic

via LINUX DO - 最新话题 (author: 雪梨纽西兰希思露甘奶迪)

Invalid media:
image
image
copilot不能用了,有遇到过的吗

选的是sonnet模型啊
2 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: gpl)

Invalid media: image
过年期间小猫怎么办

年假15天大家怎么解决小猫的问题

31 posts - 25 participants

Read full topic

via LINUX DO - 最新话题 (author: luoxia)
数字人民币是咩啊?转成数字人民币有什么好处和坏处么?

数字人民币是什么?跟我们现在使用支付宝和微信,银行卡付款有什么本质区别?听说如果把现在张户里的钱转成数字人民币之后,就相当于给你的每一笔钱都加了gps?被诈骗之后就可以追溯回来了么?

10 posts - 6 participants

Read full topic

via LINUX DO - 最新话题 (author: Jiepijiang)
github copilot是崩了吗?模型一个也没了

用的学生包 突然不能用了 模型都不见了

10 posts - 7 participants

Read full topic

via LINUX DO - 最新话题 (author: 未知)
有无大佬有spine4.x的破解包求分享

1 post - 1 participant

Read full topic

via LINUX DO - 最新话题 (author: daima)
对于虫洞子板块切分社区的担忧

来不及解释了!构建虫洞,准备跃迁……
此版块大概用途是:分布着一个个专用版块/兴趣小组,加入者可见其中信息,可在其中参与互动。

虫洞子板块(兴趣小组性质),只有加入其中后,才能看到其中的帖子,

↑ 在“话题”中不会看到未申请加入的虫洞子板块中的新帖动态推送。
加入子版块需要进行申请。

强烈建议始皇开一个科研相关的板块!!!joy
这个在社区比较小众,没人挑大梁恐怕不行。找几个人愿意弄的,我们可以开一个兴趣小组。

而建立子版块的起始点貌似是因为“科研”相比其他主板块主题,显得小众,所以始皇希望开一个“兴趣小组”。

🤔我的想法是:
如果只是小众话题建立私域子板块,感觉还挺合理的,对这部分小众专业内容进行小规模切分,既给这部分佬友提供了专门讨论的独立区域,又可以降低对此不感兴趣的老友们在推送信息流中寻找想要信息的难度。

但现在,不少相当大众的主流话题都开始建立虫洞子版块,如果我们只申请加入自己平时一眼感兴趣的子版块,长远看来,很可能导致较为严重的信息茧房。而若全都申请加入,是否又与建立子版块机制的初衷相冲突。。?
并且,也是因为不少子版块的主题相当大众,(有些甚至建立主版块可能都不为过)
原本佬友们“所见一致”的L站,势必会被切分成很多较大的块 🥲,且互相看不到对方
我对这种情况感到很担忧。

如果未来子版块数量明显变多,也会明显提高佬友们在社区中找到自己想要信息的难度。
(比如:你想找到某个事物的相关信息,结果这个帖子发在了某个未加入的子版块中,那么你根本无法知晓它的存在,无从寻找)

我能想到的一些可能有助于改善这些情况的措施是
1,尽量降低较为大众主流的子板块的加入门槛(例如一键加入/退出
2,控制非小众子板块建立的数量
3,合理控制、压实子版块的总数量

4,子版块的动态信息流是否有更好的处理方式
例如在虫洞广场主版块中,开放显示所有子版块所有帖子动态信息流
佬友们可以专门进入虫洞(点进子版块)浏览垂类信息流,
也可在广场(虫洞广场主版块)开放地浏览所有子版块的信息流(但回帖互动需要加入相应子版块)。

以上只是我个人的理解和思考,无AI成分,可能会有各种局限,在此抛砖引玉,不知佬友们对这个问题怎么看呢。。 🤔

11 posts - 11 participants

Read full topic

via LINUX DO - 最新话题 (author: Sunflowers)

Invalid media: image