返回首页
最新
我在多个项目中使用Claude Code,这些项目有不同的约定和一些共享的代码库,这正如现实世界中的情况一样。手动管理配置文件(.claude/rules/、mcps.json、settings.json)变得繁琐,因此我为此构建了一个本地网页用户界面。
这个项目最初是叫claude-config,但随着我加入其他项目(如Gemini、AG、Codex等),它已经迁移到coder-config。
主要功能:
- 规则、权限和MCP服务器的可视化编辑器
- 项目注册表,用于在代码库之间切换
- “工作流”功能,将相关的代码库(前端 + API + 共享库)分组,以共享上下文
- 在包含的文件夹中自动加载工作流
- 还支持Gemini CLI和Codex CLI
安装:
```
npm install -g coder-config
coder-config ui # 在 http://localhost:3333 上启动 UI
coder-config ui install # 可选,在MacOS上自动启动
```
它还可以作为PWA安装,并驻留在你的任务栏中。
开源,本地运行,无需账户。
欢迎反馈和贡献!
抱歉,目前还没有机会在其他操作系统(Linux/Windows)上进行测试。
我们厌倦了编写原始的 Cypher 查询——需要转义引号、没有自动补全、重构的噩梦——因此我们构建了 GraphORM:一个用于 RedisGraph/FalkorDB 的类型安全 Python ORM,使用纯 Python 对象。
<p>功能介绍
与脆弱的 Cypher 查询相比:
<pre><code> query = """
MATCH (a:User {user_id: 1})-[r1:FRIEND]->(b:User)-[r2:FRIEND]->(c:User)
WHERE c.user_id <> 1 AND b.active = true
WITH b, count(r2) as friend_count
WHERE friend_count > 5
RETURN c, friend_count
ORDER BY friend_count DESC
LIMIT 10
"""
</code></pre>
您可以编写类型安全的 Python 代码:
<pre><code> stmt = select().match(
(UserA, FRIEND.alias("r1"), UserB),
(UserB, FRIEND.alias("r2"), UserC)
).where(
(UserA.user_id == 1) & (UserC.user_id != 1) & (UserB.active == True)
).with_(
UserB, count(FRIEND.alias("r2")).label("friend_count")
).where(
count(FRIEND.alias("r2")) > 5
).returns(
UserC, count(FRIEND.alias("r2")).label("friend_count")
).orderby(
count(FRIEND.alias("r2")).desc()
).limit(10)
</code></pre>
主要特点:
- 具有 Python 类型提示的类型安全模式
- 流畅的查询构建器(select().match().where().returns())
- 自动批处理(flush(batch_size=1000))
- 原子事务(with graph.transaction(): ...)
- 零字符串转义——O'Connor 和 "The Builder" 直接可用
<p>目标受众
- AI/LLM 代理开发者:将长期记忆存储为图(用户 → 消息 → 工具调用)
- 网络爬虫工程师:在 12 行代码中插入 10,000 页 + 链接,而不是 80 行 Cypher
- 社交网络构建者:使用 indegree()/outdegree() 查询“朋友的朋友”
- 数据工程师:跟踪数据血缘(数据集 → 转换 → 输出)
- 新接触图形的 Python 开发者:避免 Cypher 的学习曲线
<p>数据插入:真正的游戏规则改变者
<p>原始 Cypher 的噩梦:
<pre><code> queries = [
"""CREATE (:User {email: "alice@example.com", name: "Alice O\\'Connor"})""",
"""CREATE (:User {email: "bob@example.com", name: "Bob \\"The Builder\\""})"""
]
for q in queries:
graph.query(q) # 没有事务安全!
</code></pre>
GraphORM 的幸福:
<pre><code> alice = User(email="alice@example.com", name="Alice O'Connor")
bob = User(email="bob@example.com", name='Bob "The Builder"')
graph.add_node(alice)
graph.add_edge(Follows(alice, bob, since=1704067200))
graph.flush() # 一次网络调用,原子事务
</code></pre>
<p>在 30 秒内试用
<p>使用命令:pip install graphorm
<pre><code> from graphorm import Node, Edge, Graph
class User(Node):
__primary_key__ = ["email"]
email: str
name: str
class Follows(Edge):
since: int
graph = Graph("social", host="localhost", port=6379)
graph.create()
alice = User(email="alice@example.com", name="Alice")
bob = User(email="bob@example.com", name="Bob")
graph.add_node(alice)
graph.add_edge(Follows(alice, bob, since=1704067200))
graph.flush()
</code></pre>
GitHub: <a href="https://github.com/hello-tmst/graphorm" rel="nofollow">https://github.com/hello-tmst/graphorm</a>
<p>我们期待诚实的反馈:
- 这是否解决了您真正的痛点?
- 生产使用中缺少什么?
- 有任何 API 设计建议吗?