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

推荐订阅源

Y
Y Combinator Blog
博客园_首页
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Help Net Security
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
About on SuperTechFans
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
DataBreaches.Net
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
月光博客
月光博客
云风的 BLOG
云风的 BLOG
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
C
Check Point Blog
V
V2EX
T
Tailwind CSS Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security 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 不好用?
Wolf RBAC 五年来最重要的更新: 40 刀 vibe coding,给开源...
igeeky · 2026-06-07 · via V2EX

    我是 Wolf 的作者。Wolf 是一个开源 RBAC 权限系统,维护了五年多,一直在做「稳」的事——加字段、修 Bug 、补文档。

0.7.1 之后终于做了一件真正大的:在 Console 里内嵌了一个 AI Agent ,可以用自然语言直接管理 RBAC。这是 Wolf 五年来最重要的功能更新,没有之一。

整个 Agent 框架基于 pi-mono@mariozechner/pi-agent-core + @mariozechner/pi-ai),不是另起炉灶写一套管理后台,而是让 AI 通过 Tool Calling 去调 Wolf 现有的 Controller——鉴权、参数校验、缓存刷新、审计日志,全部走原链路。

能干什么

说人话就是:你在 Console 左侧点「 AI 助手」,然后直接聊:

  • oa-app 下有哪些角色?每个角色绑了哪些权限?」
  • 「在 pi-mono 下新建一个 viewer 角色,把所有 read_ 开头的权限给它。」
  • 「最近 7 天有没有 403 的访问记录?」
  • 「重置用户 lily 的密码。」

AI 能做什么 = 当前登录用户在 Console 上能做什么,不会越权。所有写操作进 access_logappID = 'ai-agent',和人工操作区分开,事后能查。

覆盖了 8 个领域、31 个工具:Application / User / Role / Permission / Resource / Category / UserRole / AccessLog 。

几个设计上我比较在意的点

1. 不是 SQL 直连,是复用 Controller

后端用 InternalCaller 构造 mock Koa ctx ,进程内调现有 Controller 。AI 不是数据库后门,工具权限还会按 super / admin 自动裁剪。

2. 完整的聊天体验

  • 多会话:新建 / 切换 / 重命名 / 删除,AI 自动总结标题
  • SSE 流式输出,工具调用有独立卡片( running / done / error )
  • Markdown + Mermaid 渲染,查权限关系可以直接出图

AI 助手主界面

工具调用与 Markdown 表格

RBAC 关系 Mermaid 图

3. 用户记忆

新建会话时,AI 会异步从上一段对话提取「记忆」(偏好 / 已知信息 / 历史决策 / 操作模式),下次自动注入 System Prompt 。也可以手动增删改。

记忆面板

4. 多 Provider

OpenAI 兼容网关、Anthropic 、Gemini 、Mistral 、Groq 、OpenRouter 等都支持,环境变量或 config.js 配置。没配 Key 也不影响 Wolf 其它功能,只是 AI 页会友好提示。

未配置时的提示

这次改了什么(相对 0.7.1 )

0.7.1 → 当前 master,5 个 commit ,117 个文件,+24063 行

模块 内容
后端 server/src/ai/ Agent 工厂、系统提示词、记忆提取、会话标题生成、8 组 Tool
控制器 ai-chat.js SSE 流式对话、会话 CRUD 、消息持久化
数据库 新增 ai_chat_session / ai_chat_message / ai_user_memory 三张表
前端 console/src/views/ai-chat/ 完整聊天页:会话列表、消息气泡、工具卡片、记忆面板
安全加固 Cookie 安全属性、开放重定向防护、应用级访问控制、Captcha 一次性销毁等
测试 新增 ~5000 行 AI 相关单测 / 集成测(工具、中间件、控制器、SSE 等)
文档 README-AI-AGENT-CN.mddocs/ai-agent-cn.md、截图 12 张

开发过程 & 花了多少钱

这次是 AI 辅助开发( vibe coding ) 全程:

  • 主力:Cursor( Claude 模型),2 次订阅,20 刀 + 20 刀 = 40 刀
  • 验证阶段:Claude + MiMo v2.5-pro(小米赠送额度)跑测试用例和回归,用了约 25M Tokens

40 刀换来的是:117 个文件、+24063 行代码、完整的前后端 + 测试 + 文档。说实话,用 AI 写 AI 功能这件事本身挺魔幻的——某种程度上是 AI 在帮自己造运行环境。

为什么不写 Skill ,而是直接集成 Agent ?

也有人问过:为啥不写一个 Skill / MCP ,让 Cursor 、Claude Code 、Hermes 、OpenClaw 这类外部 Agent 去调 Wolf API ?

Skill 当然也能把接口定义清楚,但它是开发者工具——Wolf 的用户是运维和管理员,不是人人桌上都有这些 Agent 客户端。内嵌 Agent 是产品能力:浏览器登录就能用,AI Key 管理员统一配。

另外,内嵌方案工具进程内直调 Controller ,和点表单走同一条链路;鉴权、审计(appID = 'ai-agent')、按角色动态裁剪工具列表,都天然对齐。成功率、流式输出、工具卡片、Mermaid 图、会话记忆这些,也更适合做成 Console 里的一体化体验。

一句话:Skill 适合个人提效,内嵌 Agent 适合把 AI 做成产品功能。

如果你也想给存量系统接 Agent ,我的体会是:

  1. 先钉死边界:AI 只能走现有 API/Controller ,别让它直连 DB
  2. 工具粒度对齐业务接口:一个 Controller 方法 ≈ 一个 Tool ,权限自然继承
  3. 测试要舍得写:Agent 行为不确定,单测 + 集成测是兜底
  4. 选个成熟的 Agent 运行时:pi-mono 的 streaming / tool loop 省了不少轮子

链接

Docker 快速体验:quick-start-with-docker/docker-compose.yamlserver 服务已预留 AI 环境变量,至少配这几项:

AI_API_KEY=sk-...          # 必填
AI_PROVIDER=openai         # 或 deepseek / anthropic 等
AI_MODEL=deepseek-v4-flash # 具体模型 ID
AI_BASE_URL=https://api.deepseek.com/v1  # OpenAI 兼容网关地址

docker compose up 后登录 Console ,左侧点「 AI 助手」即可。

欢迎 Star / Issue / PR 。

做完这个功能,我意识到:权限管理这件事之所以烦,不是因为逻辑复杂,而是因为要点的表单太多。现在 AI 能替你点了,感觉权限系统该有的样子本来就应该是这样的。

如果你也在做「给老系统接 Agent 」或者对 Wolf 感兴趣,评论区聊聊。