博文

自建 CPA cliproxyapi 汇聚各路白嫖公益站 提供给Openclaw 甲骨文Oracle VPS Ubuntu系统 用非root用户 不用 sudo -i 可以用官方安装脚本

图片
现在CPA的安装教程遍地都是了. 这里我想记录一下自己的操作过程 甲骨文Oracle VPS Ubuntu系统 用非root用户 不用 sudo -i  官方安装脚本 curl -fsSL https://raw.githubusercontent.com/brokechubb/cliproxyapi-installer/refs/heads/master/cliproxyapi-installer | bash source 注意看脚本输出的信息 执行1号命令, 进入你的安装目录 cd /home/ubuntu/cliproxyapi * 你如果是root用户, 这个目录会和我不一样, 以你自己的目录为准 执行2号命令, 看 cpa 后台程序能否跑起来, 有没有报错 ./cli-proxy-api 新开一个 SSH 会话, curl 测试一下 curl localhost:8317 * 注: 8317 是cpa默认的端口 应该得到这样的结果 {"endpoints":["POST /v1/chat/completions","POST /v1/completions","GET /v1/models"],"message":"CLI Proxy API Server"} 同时, 运行 cpa 的SSH会话有新的1行日志打印 到此为止, 说明 cpa 核心跑起来了. 先把cpa后台程序ctrl+c停掉  修改 ./config.yaml 配置文件  设置以下2项    allow-remote: true   secret-key: "你的密码" souce * 注意 yaml 文件的行首空格缩进是有意义的, 不能乱改. * 注意你的密码要另外记住, 因为cpa运行一次之后, 会将明文密码hash, 再保存在配置文件. 你以后打开配置文件只会看到hash之后的乱码. 用3号命令, 把 cpa 后台 以服务service的形式跑起来 systemctl --user enable cliproxyapi.service systemctl --user start cliproxyapi.service 然后用你自己的浏览器访问 ...

在 Hermes 多 Agent 协作任务时 telegram group 用 topic 限制 agent 接收消息

图片
前言 在 Hermes 多 Agent 协作任务时, 发现agent有可能在自言自语时, 写了其它agent的bot的username, 触发了其它agent的响应. 如下图所示 实践 我尝试了用负面 prompt 限制 但, 效果不好 我想到 openclaw 是把telegram group 的 topic 绑定到 agent 的. 这样 agent 在自己的 topic 里自言自语的内容 是不会干扰其它 agent 的. 所以, 我让 hermes 给自己开发这个功能 我有一个 telegram group, 建立了topic,  我希望这个 telegram group中, 只有 某个 topic 里的消息 被某个 agent 接收 在进一步的讨论中, 确认了一些细节 agent 与 topic 一对一 agent 的自言自语也输出到 指定的 topic 中 最终效果是 每个 agent 的 config.yaml 有如下 配置项 telegram:   topic_id: 100  # agent 只收发 topic 100 的消息 受波及的, 在agent团队的 prompt 中, 增加 发给其它agent的消息需要指定topic发送.

关于 Hermes 多 Agent 共用 Nous Portal 账号 引起 429 Too Many Requests 的问题

图片
前言 在 Hermes 多 Agent 协作任务时, 我只有一个Nous Portal 账号,  而这些 agent的 gateway 是独立的, 所以有可能在短时间内集中请求API, 被 Nous Portal 返回  429 Too Many Requests 错误码. 思路 在一个API请求完成后, 再开始下一个请求? 用一个单独进程控制 API 请求的速率? Hermes (via mimo-v2-pro model) 给了我一个更好的实施方案 用 flock 文件锁 + 状态文件就够了: ~/.hermes/api_rate_limit  →  内容: 上次请求的时间戳 Gateway 想调 API 时:   flock(api_rate_limit.lock)     read(last_time)     if now - last_time >= interval:       write(now)           ← 更新时间戳       unlock       → 发 API 请求     else:       wait_time = interval - (now - last_time)       unlock       sleep(wait_time)       → 重试 不需要额外进程,每个 gateway 自己在调 API 前检查就行。所有 agent 共享同一个文件,flock 保证互斥读写。 最终我用了上面这个方案. 效果不错. ====== 后记 对比 openclaw, 所有agent都在一个openclaw系统中, 你可以看到是在一个 config.json 中定了多个agent 的定义. 所以这些 agent 天生就接入同一个 model provider, 当使用同一个 OAuth 账号时, 当然就可以控制全局...

关于 Hermes 多 Agent 共用 auth.json 涉及 更新 api key 的问题

图片
前言 Hermes-agent 使用 Nous Portal 提供的免费 小米模型, 是用 OAuth 的方式登录的. 当我们 配置多agent , 又想使用同一份 OAuth 时, 会遇到 更新 api key 的问题 有2种解决方案 1.  默认 agent hermes 维护 auth.json,  profile下面的 agent 只管用 auth.json 详细描述如下: 把 默认 agent 的 auth.json 往 profile下面的 agent 都做一份软链接 symlink 默认 agent hermes 维护 auth.json, 如果快过期了,  hemres 去自动续期 profile下面的 agent 只读里面的 api key 来用, 也不管自动续期的事 * 要实现 不触发自动续期, 需要修改 hermes 的代码. (当然你可以让Ta自己改) 缺点是 默认 agent hermes 你过一会儿要用一下, 这样才能触发 auth.json 自动续期. 2. 每个 agent 的自动续期触发错开 把 默认 agent 的 auth.json 往 profile下面的 agent 都做一份软链接 symlink 每个 agent 维护 auth.json 自动续期的提前量 是可配置的 * 要实现 自动续期的提前量 写到环境变量中,  需要修改hermes代码 (当然你可以让Ta自己改) 所有agent ( 包括 默认 agent 和 profile 下面的 agent ) , 这个自动续期提前量都不同, 并错开一段时间.  如: 默认 agent 提前 1800 (30分钟) agent-watch 提前 1850  agent-design 提前 1900  agent-code 提前 1950  agent-test 提前 2000 

Hermes-agent 在Telegram 使用多Agent 绑定不同的telegram bot

图片
基础知识 openclaw 是整个系统用一份配置文件 config.json , 多 agent 是写在这份配置文件里面的. 官方文档 https://docs.openclaw.ai/concepts/multi-agent Hermes-agent 的多agent方案和 openclaw 不一样. 每个 agent 都有一份自己的 config.yaml 官方文档 https://hermes-agent.nousresearch.com/docs/user-guide/profiles openclaw 的 tui 里面可以用 /agent 命令切换 agent hermes 是为新agent直接生成了一个命令行的"命令", 就像原本的hermes 命令一样使用. 比如, 你建了一个新的 agent/profile hermes profile create agent-watch 那么: 你想配置模型 agent-watch model 你想设置 YOLO 模式 agent-watch config set approvals.mode off hermes 的每个agent (或者说 profile) 都有自己的 完整运行环境. TA们只共享代码逻辑. 每个agent 有自己的 .env, SOUL.md, config.yaml 所以, 每个agent 有自己的 telegram bot token 准备 telegram bot 需要(向 @botfather 申请)若干个 telegram bot (本文以4个bot为例) 注意, 不包括 hermes 默认 agent 绑定的那个 telegram bot (如果有的话) 以上过程略. 保存好这些bot 的username  和 token , 假设是 @CrazyAgentWatchBot 1234567890:AAHkMpXv2nQrWsYd8bJtLfCeUo9GiN1KmZw @CrazyAgentDesignBot 2345678901:AABxRqNj5vTgKhEa3cWmYsPdFu7LiOz4Xbn @CrazyAgentCodeBot 3456789012:AAEvNuGz3tFwBqXk7yRmJcSh5OaDpI8LlTx @CrazyAgentTes...

用 Hermes-agent 的 LLM WIKI 技能 做一个 233boy 脚本知识的 WIKI

图片
思路 用 Hermes-agent 的 LLM WIKI 技能 做一个 233boy 脚本知识的 WIKI  用 Hermes-agent 的 API Server 功能提供外部调用 用 telegram bot 在群组中工作 基础知识 Hermes-agent 的 LLM WIKI 技能 官方文档 https://hermes-agent.nousresearch.com/docs/reference/skills-catalog Hermes-agent 的 API Server 功能 官方文档 https://hermes-agent.nousresearch.com/docs/user-guide/features/api-server 基本框架 hermes 的 LLM WIKI 技能可以这样使用: /llm-wiki ingest <学习到WIKI中>   /llm-wiki query <分析什么问题> hermes 的 API Server 可以提供一个 OpenAI 接口. 那么上面的操作可以转换为这样: curl -s http://127.0.0.1:8642/v1/chat/completions \   -H "Content-Type: application/json" \   -d '{"messages": [{"role": "user", "content": " /llm-wiki ingest <学习到WIKI中> "}]}' curl -s http://127.0.0.1:8642/v1/chat/completions \   -H "Content-Type: application/json" \   -d '{"messages": [{"role": "user", "content": " /llm-wiki query <分析什么问题> "}]}' 接下来就是用 telegram bot 把 ...

Telegram group电报群组中 bot机器人 互相之间可以看到发言 setbot2bot ENABLED

图片
官方信息源 https://core.telegram.org/bots/features#bot-to-bot-communication @BotFather 创建 bot , 略 命令 /setbot2bot 选择 bot, 设置为 ENABLE 测试 建一个 group 把这些 bot 都加入这个 group  把这些 bot 都设置为 gropu 的 admin  找AI写一个测试程序 ( 蓝色 部分以你自己的实际情况为准) 生成一个测试程序, 测试 telegram bot 在 telegram group 中是否能看到互相之间发消息. 要测试 直接发消息 和 @ username 发消息 这2种用法 有几个 telegram bot, username 和 bot token 如下: @CrazyAgentWatchBot 3942075861:AAHkMpXv2nQrWsYd8bJtLfCeUo9GiN1KmZw @CrazyAgentDesignBot 7150283946:AABxRqNj5vTgKhEa3cWmYsPdFu7LiOz4Xbn @CrazyAgentCodeBot 5827364019:AAEvNuGz3tFwBqXk7yRmJcSh5OaDpI8LlTx @CrazyAgentTestBot 6038195274:AAHkMpXv2nQrWsYd8bJtLfCeUo9GiN1KmZw 有一个 telegram group, id如下: tg group id -1003918964882 如果你是找网页版的AI写的, 那么就自己保存程序文件了运行. 如果是找 openclaw / hermes 写的, 可以直接让TA帮你运行.

Hermes-agent 修改自己代码的能动性挺强的

图片
openclaw 是自带的功能,  agent 绑定 telegram group topic hermes 没这个功能 我问 能不能让 agent 只处理自己对应的 topic 的消息, hermes 就把自己的代码改了. 当我问到hermes的一些功能时, TA有能力找到源代码中对应的位置. 果然 代码行数少还是有好处的呀. 上半张图是 openclaw https://api.codetabs.com/v1/loc?github=openclaw/openclaw 下半张图是 hermes-agent https://api.codetabs.com/v1/loc?github=nousresearch/hermes-agent

The Hot3 in Last 7 Days

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks

酒馆SillyTavern 用中文讲故事 修改角色卡 修改AI生成的历史记录

搭 Docker版 Sub-Store订阅转换专家 带 http-meta 实现 集合订阅 测延迟 排序 筛选 生成新订阅 定时任务上传Gist